mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-01-19 03:06:42 +00:00
Fix building big-endian ARM EABI toolchains (build-tested only).
Patch highly inspired by the one from OpenWRT (http://openwrt.org/) /trunk/patches/gcc/4.2.3/930-eabi_fixes.patch | 13 13 0 0 +++++++++++++ /trunk/scripts/build/cc_gcc.sh | 6 4 2 0 ++++-- 2 files changed, 17 insertions(+), 2 deletions(-)
This commit is contained in:
parent
5ad450e403
commit
832d6ba314
13
patches/gcc/4.2.3/930-eabi_fixes.patch
Normal file
13
patches/gcc/4.2.3/930-eabi_fixes.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff -durN gcc-4.2.3.orig/gcc/config/arm/linux-eabi.h gcc-4.2.3/gcc/config/arm/linux-eabi.h
|
||||
--- gcc-4.2.3.orig/gcc/config/arm/linux-eabi.h 2007-09-01 17:28:30.000000000 +0200
|
||||
+++ gcc-4.2.3/gcc/config/arm/linux-eabi.h 2008-05-25 23:47:36.000000000 +0200
|
||||
@@ -47,7 +47,8 @@
|
||||
#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
|
||||
|
||||
#undef SUBTARGET_EXTRA_LINK_SPEC
|
||||
-#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux_eabi"
|
||||
+#define SUBTARGET_EXTRA_LINK_SPEC \
|
||||
+ " %{mlittle-endian:-m armelf_linux_eabi} %{mbig-endian:-m armelfb_linux_eabi}"
|
||||
|
||||
/* Use ld-linux.so.3 so that it will be possible to run "classic"
|
||||
GNU/Linux binaries on an EABI system. */
|
@ -224,12 +224,12 @@ do_cc() {
|
||||
extra_config="${extra_config} --disable-multilib"
|
||||
extra_config="${extra_config} ${CT_ARCH_WITH_ARCH} ${CT_ARCH_WITH_ABI} ${CT_ARCH_WITH_CPU} ${CT_ARCH_WITH_TUNE} ${CT_ARCH_WITH_FPU} ${CT_ARCH_WITH_FLOAT}"
|
||||
[ "${CT_SHARED_LIBS}" = "y" ] || extra_config="${extra_config} --disable-shared"
|
||||
[ "${CT_CC_GCC_GMP_MPFR}" = "y" ] && extra_config="${extra_config} --with-gmp=${CT_PREFIX_DIR} --with-mpfr=${CT_PREFIX_DIR}"
|
||||
if [ "${CT_CC_CXA_ATEXIT}" = "y" ]; then
|
||||
extra_config="${extra_config} --enable-__cxa_atexit"
|
||||
else
|
||||
extra_config="${extra_config} --disable-__cxa_atexit"
|
||||
fi
|
||||
[ "${CT_CC_GCC_GMP_MPFR}" = "y" ] && extra_config="${extra_config} --with-gmp=${CT_PREFIX_DIR} --with-mpfr=${CT_PREFIX_DIR}"
|
||||
|
||||
CT_DoLog DEBUG "Extra config passed: '${extra_config}'"
|
||||
|
||||
@ -239,7 +239,9 @@ do_cc() {
|
||||
# embedded systems don't really need message catalogs...
|
||||
CC_FOR_BUILD="${CT_CC_NATIVE}" \
|
||||
CFLAGS="${CT_CFLAGS_FOR_HOST}" \
|
||||
TARGET_CFLAGS="${CT_TARGET_CFLAGS}" \
|
||||
CFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \
|
||||
CXXFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \
|
||||
LDFLAGS_FOR_TARGET="${CT_TARGET_LDFLAGS}" \
|
||||
"${CT_SRC_DIR}/${CT_CC_FILE}/configure" \
|
||||
${CT_CANADIAN_OPT} \
|
||||
--target=${CT_TARGET} --host=${CT_HOST} \
|
||||
|
Loading…
Reference in New Issue
Block a user