mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-13 18:17:39 -04:00
All toolchain dependencies are circa the GCC 8.5.0 release: GCC 8.5.0, binutils 2.37, gmp 6.2.1, mpfr 4.1.0, mpc 1.2.1, isl 0.18 Native: * arm (smoke tested on ipodvideo+mini2g) * mips (seems to be stable on xDuoo X3) * m68k (binaries untested) Hosted: * arm (binaries untested) * mips (smoke tested on xDuoo X3ii) Unchanged: * Android NDK (unchanged at GCC 4.9.4) Change-Id: I1c2fca5d87d4a11e50aa495fad75f4f9c938c766
77 lines
3.2 KiB
Diff
77 lines
3.2 KiB
Diff
diff -Naur gcc-8.5.0/gcc/config/arm/arm_cmse.h gcc-8.5.0-patched/gcc/config/arm/ar
|
|
m_cmse.h
|
|
--- gcc-8.5.0/gcc/config/arm/arm_cmse.h 2021-05-14 04:42:08.000000000 -0400
|
|
+++ gcc-8.5.0-patched/gcc/config/arm/arm_cmse.h 2023-04-17 14:32:56.547477547 -0400
|
|
@@ -35,7 +35,7 @@
|
|
#if __ARM_FEATURE_CMSE & 1
|
|
|
|
#include <stddef.h>
|
|
-#include <stdint.h>
|
|
+//#include <stdint.h>
|
|
|
|
#ifdef __ARM_BIG_ENDIAN
|
|
|
|
diff -aur gcc-8.5.0/gcc/config/arm/t-arm-elf gcc-8.5.0-patched/gcc/config/arm/t-arm-elf
|
|
--- gcc-8.5.0/gcc/config/arm/t-arm-elf 2021-05-14 04:42:08.000000000 -0400
|
|
+++ gcc-8.5.0-patched/gcc/config/arm/t-arm-elf 2022-11-26 23:16:30.714433566 -0500
|
|
@@ -80,6 +80,10 @@
|
|
MULTILIB_REQUIRED += marm/mfpu=auto/march=armv5te+fp/mfloat-abi=hard
|
|
MULTILIB_REQUIRED += mthumb/mfpu=auto/march=armv7+fp/mfloat-abi=hard
|
|
|
|
+# And we want to be able to disable interworking
|
|
+MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork
|
|
+MULTILIB_DIRNAMES += normal interwork
|
|
+
|
|
# PART 3 - Match rules
|
|
|
|
# Map all supported FPUs onto mfpu=auto
|
|
diff -aur gcc-8.5.0/libgcc/config/arm/t-bpabi gcc-8.5.0-patched/libgcc/config/arm/t-bpabi
|
|
--- gcc-8.5.0/libgcc/config/arm/t-bpabi 2021-05-14 04:42:10.000000000 -0400
|
|
+++ gcc-8.5.0-patched/libgcc/config/arm/t-bpabi 2022-11-26 23:14:40.938038440 -0500
|
|
@@ -17,4 +17,4 @@
|
|
# On ARM, specifying -fnon-call-exceptions will needlessly pull in
|
|
# the unwinder in simple programs which use 64-bit division. Omitting
|
|
# the option is safe.
|
|
-LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions
|
|
+LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions -fno-non-call-exceptions
|
|
diff -aur gcc-8.5.0/libgcc/config/arm/cmse.c gcc-8.5.0-patch/libgcc/config/arm/cmse.c
|
|
--- gcc-8.5.0/libgcc/config/arm/cmse.c 2021-05-14 04:42:10.000000000 -0400
|
|
+++ gcc-8.5.0-patched/libgcc/config/arm/cmse.c 2023-04-17 15:12:11.865456701 -0400
|
|
@@ -36,7 +36,7 @@
|
|
char *pb = (char *) p, *pe;
|
|
|
|
/* Check if the range wraps around. */
|
|
- if (UINTPTR_MAX - (uintptr_t) p < size)
|
|
+ if (__UINTPTR_MAX__ - (__UINTPTR_TYPE__) p < size)
|
|
return NULL;
|
|
|
|
/* Check if an unknown flag is present. */
|
|
@@ -51,7 +51,7 @@
|
|
|
|
/* Execute the right variant of the TT instructions. */
|
|
pe = pb + size - 1;
|
|
- const int singleCheck = (((uintptr_t) pb ^ (uintptr_t) pe) < 32);
|
|
+ const int singleCheck = (((__UINTPTR_TYPE__) pb ^ (__UINTPTR_TYPE__) pe) < 32);
|
|
switch (flags & known_secure_level)
|
|
{
|
|
case 0:
|
|
diff -aur gcc-8.5.0/libgcc/Makefile.in gcc-8.5.0-patched/libgcc/Makefile.in
|
|
--- gcc-8.5.0/libgcc/Makefile.in 2021-05-14 04:42:10.000000000 -0400
|
|
+++ gcc-8.5.0-patched/libgcc/Makefile.in 2022-11-26 23:13:56.781304250 -0500
|
|
@@ -526,7 +526,7 @@
|
|
ifeq ($(LIB2_DIVMOD_EXCEPTION_FLAGS),)
|
|
# Provide default flags for compiling divmod functions, if they haven't been
|
|
# set already by a target-specific Makefile fragment.
|
|
-LIB2_DIVMOD_EXCEPTION_FLAGS := -fexceptions -fnon-call-exceptions
|
|
+LIB2_DIVMOD_EXCEPTION_FLAGS := -fno-exceptions -fno-non-call-exceptions
|
|
endif
|
|
|
|
# Build LIB2_DIVMOD_FUNCS.
|
|
@@ -847,7 +847,7 @@
|
|
# libgcc_eh.a, only LIB2ADDEH matters. If we do, only LIB2ADDEHSTATIC and
|
|
# LIB2ADDEHSHARED matter. (Usually all three are identical.)
|
|
|
|
-c_flags := -fexceptions
|
|
+c_flags := -fno-exceptions
|
|
|
|
ifeq ($(enable_shared),yes)
|