tools/ci: Update GNU Arm Embedded Toolchain to Version 12.2-2022.12.22

x86_64 Linux hosted cross toolchains
AArch32 bare-metal target (arm-none-eabi)

arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi.tar.xz

Remove toolchain workaround which already fixed by ARM:
https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads
https://community.arm.com/support-forums/f/compilers-and-libraries-forum/53470/arm-gnu-toolchain-11-3-rel1-x86_64-arm-none-eabi-wrong-newlib-version-strings-error-when-stdlib-h-is-included

Signed-off-by: chao an <anchao@xiaomi.com>
This commit is contained in:
chao an 2023-02-20 13:54:18 +08:00 committed by Xiang Xiao
parent b5c48f3ed8
commit df6d799577
3 changed files with 7 additions and 48 deletions

View File

@ -74,12 +74,11 @@ function arm-gcc-toolchain {
;;
esac
cd "${tools}"
wget --quiet https://developer.arm.com/-/media/Files/downloads/gnu/11.3.rel1/binrel/arm-gnu-toolchain-11.3.rel1${flavor}-x86_64-arm-none-eabi.tar.xz
xz -d arm-gnu-toolchain-11.3.rel1${flavor}-x86_64-arm-none-eabi.tar.xz
tar xf arm-gnu-toolchain-11.3.rel1${flavor}-x86_64-arm-none-eabi.tar
mv arm-gnu-toolchain-11.3.rel1${flavor}-x86_64-arm-none-eabi gcc-arm-none-eabi
patch -p0 < ${nuttx}/tools/ci/patch/arm-none-eabi-workaround-for-newlib-version-break.patch
rm arm-gnu-toolchain-11.3.rel1${flavor}-x86_64-arm-none-eabi.tar
wget --quiet https://developer.arm.com/-/media/Files/downloads/gnu/12.2.rel1/binrel/arm-gnu-toolchain-12.2.rel1${flavor}-x86_64-arm-none-eabi.tar.xz
xz -d arm-gnu-toolchain-12.2.rel1${flavor}-x86_64-arm-none-eabi.tar.xz
tar xf arm-gnu-toolchain-12.2.rel1${flavor}-x86_64-arm-none-eabi.tar
mv arm-gnu-toolchain-12.2.rel1${flavor}-x86_64-arm-none-eabi gcc-arm-none-eabi
rm arm-gnu-toolchain-12.2.rel1${flavor}-x86_64-arm-none-eabi.tar
fi
arm-none-eabi-gcc --version

View File

@ -84,10 +84,8 @@ RUN mkdir clang-arm-none-eabi && \
# Download the latest ARM GCC toolchain prebuilt by ARM
RUN mkdir gcc-arm-none-eabi && \
curl -s -L "https://developer.arm.com/-/media/Files/downloads/gnu/11.3.rel1/binrel/arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-eabi.tar.xz" \
| tar -C gcc-arm-none-eabi --strip-components 1 -xJ \
&& curl -s -L -O "https://raw.githubusercontent.com/apache/nuttx/master/tools/ci/patch/arm-none-eabi-workaround-for-newlib-version-break.patch" \
&& patch -p0 < arm-none-eabi-workaround-for-newlib-version-break.patch
curl -s -L "https://developer.arm.com/-/media/Files/downloads/gnu/12.2.rel1/binrel/arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi.tar.xz" \
| tar -C gcc-arm-none-eabi --strip-components 1 -xJ
###############################################################################
# Build image for tool required by ARM64 builds

View File

@ -1,38 +0,0 @@
From 819ab4ac433b809fdaca33246e2bffa1426acc0f Mon Sep 17 00:00:00 2001
From: chao an <anchao@xiaomi.com>
Date: Tue, 11 Oct 2022 15:27:37 +0800
Subject: [PATCH] arm-none-eabi: workaround for newlib version break
Signed-off-by: chao an <anchao@xiaomi.com>
---
arm-none-eabi/include/_newlib_version.h | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)
diff --git a/arm-none-eabi/include/_newlib_version.h gcc-arm-none-eabi/arm-none-eabi/include/_newlib_version.h
index 0dbf962e..c5d2be6d 100644
--- a/arm-none-eabi/include/_newlib_version.h
+++ gcc-arm-none-eabi/arm-none-eabi/include/_newlib_version.h
@@ -3,16 +3,9 @@
#ifndef _NEWLIB_VERSION_H__
#define _NEWLIB_VERSION_H__ 1
-/* The newlib version in string format. */
-#define _NEWLIB_VERSION "@NEWLIB_VERSION@"
-
-/* The newlib major version number. */
-#define __NEWLIB__ @NEWLIB_MAJOR_VERSION@
-
-/* The newlib minor version number. */
-#define __NEWLIB_MINOR__ @NEWLIB_MINOR_VERSION@
-
-/* The newlib patch level. */
-#define __NEWLIB_PATCHLEVEL__ @NEWLIB_PATCHLEVEL_VERSION@
+#define _NEWLIB_VERSION "4.2.0"
+#define __NEWLIB__ 4
+#define __NEWLIB_MINOR__ 2
+#define __NEWLIB_PATCHLEVEL__ 0
#endif /* !_NEWLIB_VERSION_H__ */
--
2.25.1