kumquat-buildroot/package/gcc/5.4.0/810-arm-softfloat-libgcc.patch

31 lines
1.1 KiB
Diff
Raw Normal View History

gcc: add support for gcc 5.1 This commit adds support for gcc 5.1 in Buildroot. In terms of gcc patches, compared to gcc 4.9.x: * Kept as is, sometimes after minor adjusments: 100-uclibc-conf.patch 301-missing-execinfo_h.patch 810-arm-softfloat-libgcc.patch 830-arm_unbreak_armv4t.patch 840-microblaze-enable-dwarf-eh-support.patch 850-libstdcxx-uclibc-c99.patch 860-cilk-wchar.patch * Dropped: 110-pr64896.patch 111-pr65730.patch * Split in multiple parts: 900-musl-support.patch The patches from Crosstool-NG for muls support are used instead of one single patch. * Renamed: 910-gcc-poison-system-directories.patch to 200-gcc-poison-system-directories.patch 920-libgcc-remove-unistd-header.patch to 201-libgcc-remove-unistd-header.patch Since the 9xx part of the series is now used by the various musl related patches. We have tested the following configurations, with a minimal Busybox system: * ARM, uClibc-ng * ARM, glibc * ARM, musl * x86, uClibc-ng and uClibc 0.9.33.2 * x86, glibc * x86, musl All of the configurations built fine. All the configurations boot fine in Qemu, except x86/uClibc (either ng or 0.9.33.2), it segfaults when running init: devtmpfs: mounted Freeing unused kernel memory: 300K (c1389000 - c13d4000) init[1]: segfault at 0 ip b77708c1 sp bfa9bb0c error 4 in ld-uClibc-0.9.33.2.so[b776c000+6000] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b We'll give some time for the uClibc developers to fix the problem before taking other measures in Buildroot to exclude gcc 5.1 from a x86/uClibc configuration. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-06-14 16:33:28 +02:00
Index: b/gcc/config/arm/linux-elf.h
===================================================================
--- a/gcc/config/arm/linux-elf.h
+++ b/gcc/config/arm/linux-elf.h
@@ -60,7 +60,7 @@
%{shared:-lc} \
%{!shared:%{profile:-lc_p}%{!profile:-lc}}"
-#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
+#define LIBGCC_SPEC "-lgcc"
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
Index: b/libgcc/config/arm/t-linux
===================================================================
--- a/libgcc/config/arm/t-linux
+++ b/libgcc/config/arm/t-linux
@@ -1,6 +1,11 @@
LIB1ASMSRC = arm/lib1funcs.S
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \
- _ctzsi2 _arm_addsubdf3 _arm_addsubsf3
+ _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 \
+ _arm_addsubdf3 _arm_addsubsf3 \
+ _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \
+ _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \
+ _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \
+ _arm_fixsfsi _arm_fixunssfsi
# Just for these, we omit the frame pointer since it makes such a big
# difference.