Merge changes from topic "bk/python_dependencies" into integration

* changes:
  build(docs): update Python dependencies
  fix(docs): make required compiler version == rather than >=
  fix(deps): add missing aeabi_memset.S
This commit is contained in:
Manish V Badarkhe 2023-02-14 16:14:06 +01:00 committed by TrustedFirmware Code Review
commit 23af5965e9
5 changed files with 103 additions and 43 deletions

View file

@ -31,11 +31,17 @@ target the Armv7-A or Armv8-A architectures:
You will need the targets ``arm-none-eabi`` and ``aarch64-none-elf`` for
AArch32 and AArch64 builds respectively.
- Clang >= 14.0.0
- Arm Compiler >= 6.18
- Clang == 14.0.0
- Arm Compiler == 6.18
In addition, a native compiler is required to build the supporting tools.
.. note::
Versions greater than the ones specified are likely but not guaranteed to
work. This is predominantly because TF-A carries its own copy of compiler-rt,
which may be older than the version expected by the compiler. Fixes and bug
reports are always welcome.
.. note::
The software has also been built on Windows 7 Enterprise SP1, using CMD.EXE,
Cygwin, and Msys (MinGW) shells, using version 5.3.1 of the GNU toolchain.

View file

@ -1,5 +1,5 @@
myst-parser==0.15.2
myst-parser==0.18.1
pip-tools==6.4.0
sphinx==4.2.0
sphinx-rtd-theme==1.0.0
sphinxcontrib-plantuml==0.22
sphinx==5.3.0
sphinx-rtd-theme==1.1.1
sphinxcontrib-plantuml==0.24.1

View file

@ -1,71 +1,71 @@
#
# This file is autogenerated by pip-compile with python 3.8
# To update, run:
# This file is autogenerated by pip-compile with Python 3.8
# by the following command:
#
# pip-compile
# pip-compile docs/requirements.in
#
alabaster==0.7.12
# via sphinx
attrs==21.2.0
# via markdown-it-py
babel==2.9.1
babel==2.11.0
# via sphinx
certifi==2021.5.30
certifi==2022.12.7
# via requests
charset-normalizer==2.0.4
charset-normalizer==2.1.1
# via requests
click==8.0.1
click==8.1.3
# via pip-tools
docutils==0.16
docutils==0.17.1
# via
# myst-parser
# sphinx
# sphinx-rtd-theme
idna==3.2
idna==3.4
# via requests
imagesize==1.2.0
imagesize==1.4.1
# via sphinx
jinja2==3.0.1
importlib-metadata==6.0.0
# via sphinx
jinja2==3.1.2
# via
# myst-parser
# sphinx
markdown-it-py==1.1.0
markdown-it-py==2.1.0
# via
# mdit-py-plugins
# myst-parser
markupsafe==2.0.1
markupsafe==2.1.1
# via jinja2
mdit-py-plugins==0.2.8
mdit-py-plugins==0.3.3
# via myst-parser
myst-parser==0.15.2
# via -r requirements.in
packaging==21.0
mdurl==0.1.2
# via markdown-it-py
myst-parser==0.18.1
# via -r docs/requirements.in
packaging==23.0
# via sphinx
pep517==0.11.0
pep517==0.13.0
# via pip-tools
pip-tools==6.4.0
# via -r requirements.in
pygments==2.10.0
# via -r docs/requirements.in
pygments==2.14.0
# via sphinx
pyparsing==2.4.7
# via packaging
pytz==2021.1
pytz==2022.7
# via babel
pyyaml==6.0
# via myst-parser
requests==2.26.0
requests==2.28.1
# via sphinx
snowballstemmer==2.1.0
snowballstemmer==2.2.0
# via sphinx
sphinx==4.2.0
sphinx==5.3.0
# via
# -r requirements.in
# -r docs/requirements.in
# myst-parser
# sphinx-rtd-theme
# sphinxcontrib-plantuml
sphinx-rtd-theme==1.0.0
# via -r requirements.in
sphinxcontrib-applehelp==1.0.2
sphinx-rtd-theme==1.1.1
# via -r docs/requirements.in
sphinxcontrib-applehelp==1.0.3
# via sphinx
sphinxcontrib-devhelp==1.0.2
# via sphinx
@ -73,18 +73,22 @@ sphinxcontrib-htmlhelp==2.0.0
# via sphinx
sphinxcontrib-jsmath==1.0.1
# via sphinx
sphinxcontrib-plantuml==0.22
# via -r requirements.in
sphinxcontrib-plantuml==0.24.1
# via -r docs/requirements.in
sphinxcontrib-qthelp==1.0.3
# via sphinx
sphinxcontrib-serializinghtml==1.1.5
# via sphinx
tomli==1.2.1
tomli==2.0.1
# via pep517
urllib3==1.26.6
typing-extensions==4.4.0
# via myst-parser
urllib3==1.26.13
# via requests
wheel==0.37.0
wheel==0.38.4
# via pip-tools
zipp==3.11.0
# via importlib-metadata
# The following packages are considered to be unsafe in a requirements file:
# pip

View file

@ -0,0 +1,49 @@
//===-- aeabi_memset.S - EABI memset implementation -----------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#include "../assembly.h"
// void __aeabi_memset(void *dest, size_t n, int c) { memset(dest, c, n); }
// void __aeabi_memclr(void *dest, size_t n) { __aeabi_memset(dest, n, 0); }
.syntax unified
.p2align 2
DEFINE_COMPILERRT_FUNCTION(__aeabi_memset)
mov r3, r1
mov r1, r2
mov r2, r3
#ifdef USE_THUMB_1
push {r7, lr}
bl memset
pop {r7, pc}
#else
b memset
#endif
END_COMPILERRT_FUNCTION(__aeabi_memset)
DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memset4, __aeabi_memset)
DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memset8, __aeabi_memset)
.p2align 2
DEFINE_COMPILERRT_FUNCTION(__aeabi_memclr)
mov r2, r1
movs r1, #0
#ifdef USE_THUMB_1
push {r7, lr}
bl memset
pop {r7, pc}
#else
b memset
#endif
END_COMPILERRT_FUNCTION(__aeabi_memclr)
DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memclr4, __aeabi_memclr)
DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memclr8, __aeabi_memclr)
NO_EXEC_STACK_DIRECTIVE

View file

@ -35,6 +35,7 @@ ifeq (${ARCH},aarch32)
COMPILER_RT_SRCS += lib/compiler-rt/builtins/arm/aeabi_ldivmod.S \
lib/compiler-rt/builtins/arm/aeabi_uldivmod.S \
lib/compiler-rt/builtins/arm/aeabi_memcpy.S \
lib/compiler-rt/builtins/arm/aeabi_memset.S \
lib/compiler-rt/builtins/ctzdi2.c \
lib/compiler-rt/builtins/divdi3.c \
lib/compiler-rt/builtins/divmoddi4.c \