4deb2d93c5
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>
46 lines
1.7 KiB
Diff
46 lines
1.7 KiB
Diff
From: ktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4>
|
|
Date: Wed, 27 May 2015 13:17:11 +0000 (+0000)
|
|
Subject: [PATCH 4/13] arm musl support
|
|
X-Git-Url: https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;h=de799bd087ab9a179768fea75bd195a31d3432a4
|
|
|
|
[PATCH 4/13] arm musl support
|
|
|
|
On behalf of szabolcs.nagy@arm.com
|
|
|
|
2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
|
|
|
|
* config/arm/linux-eabi.h (MUSL_DYNAMIC_LINKER): Define.
|
|
|
|
|
|
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223749 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
---
|
|
|
|
Index: b/gcc/config/arm/linux-eabi.h
|
|
===================================================================
|
|
--- a/gcc/config/arm/linux-eabi.h
|
|
+++ b/gcc/config/arm/linux-eabi.h
|
|
@@ -77,6 +77,23 @@
|
|
%{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \
|
|
%{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}"
|
|
|
|
+/* For ARM musl currently supports four dynamic linkers:
|
|
+ - ld-musl-arm.so.1 - for the EABI-derived soft-float ABI
|
|
+ - ld-musl-armhf.so.1 - for the EABI-derived hard-float ABI
|
|
+ - ld-musl-armeb.so.1 - for the EABI-derived soft-float ABI, EB
|
|
+ - ld-musl-armebhf.so.1 - for the EABI-derived hard-float ABI, EB
|
|
+ musl does not support the legacy OABI mode.
|
|
+ All the dynamic linkers live in /lib.
|
|
+ We default to soft-float, EL. */
|
|
+#undef MUSL_DYNAMIC_LINKER
|
|
+#if TARGET_BIG_ENDIAN_DEFAULT
|
|
+#define MUSL_DYNAMIC_LINKER_E "%{mlittle-endian:;:eb}"
|
|
+#else
|
|
+#define MUSL_DYNAMIC_LINKER_E "%{mbig-endian:eb}"
|
|
+#endif
|
|
+#define MUSL_DYNAMIC_LINKER \
|
|
+ "/lib/ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}.so.1"
|
|
+
|
|
/* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
|
|
use the GNU/Linux version, not the generic BPABI version. */
|
|
#undef LINK_SPEC
|