diff options
Diffstat (limited to 'main/gcc/gcc-4.5-dynamic-linker.patch')
-rw-r--r-- | main/gcc/gcc-4.5-dynamic-linker.patch | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/main/gcc/gcc-4.5-dynamic-linker.patch b/main/gcc/gcc-4.5-dynamic-linker.patch index a11c7f934e..a6b235cd19 100644 --- a/main/gcc/gcc-4.5-dynamic-linker.patch +++ b/main/gcc/gcc-4.5-dynamic-linker.patch @@ -17,7 +17,7 @@ index ae2416b..b0b9b2c 100644 @@ -971,7 +971,7 @@ INTERNAL_CFLAGS = -DIN_GCC @CROSS@ # This is the variable actually used when we compile. If you change this, # you probably want to update BUILD_CFLAGS in configure.ac - ALL_CFLAGS = $(T_CFLAGS) \ + ALL_CFLAGS = $(ESP_NOPIE_CFLAGS) $(T_CFLAGS) $(CFLAGS-$@) \ - $(CFLAGS) $(INTERNAL_CFLAGS) $(COVERAGE_FLAGS) $(WARN_CFLAGS) @DEFS@ + $(CFLAGS) $(INTERNAL_CFLAGS) $(COVERAGE_FLAGS) $(WARN_CFLAGS) @DEFS@ @NOSTDINC@ @@ -57,8 +57,8 @@ index c48fc93..3068717 100644 -#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" +#define GLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER +#define UCLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER - #if UCLIBC_DEFAULT - #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:%{muclibc:%e-mglibc and -muclibc used together}" G ";:" U "}" + #if DEFAULT_LIBC == LIBC_UCLIBC + #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" #else diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h index fce1ed1..c3bcd50 100644 @@ -94,8 +94,8 @@ index 5c716cd..b5e464e 100644 %{shared:-G -Bdynamic} \ %{!shared: %{!static: \ %{rdynamic:-export-dynamic} \ -- %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \ -+ %{!dynamic-linker:-dynamic-linker DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER}} \ +- -dynamic-linker /lib/ld-uClibc.so.0} \ ++ -dynamic-linker DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER} \ %{static}} -init __init -fini __fini" #define MD_UNWIND_SUPPORT "config/bfin/linux-unwind.h" @@ -207,13 +207,13 @@ index e567e9a..c052fd0 100644 +#define UCLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER +#define UCLIBC_DYNAMIC_LINKER32 DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER +#define UCLIBC_DYNAMIC_LINKER64 DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER - #define LINUX_DYNAMIC_LINKER \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER) - #define LINUX_DYNAMIC_LINKER32 \ + #define BIONIC_DYNAMIC_LINKER "/system/bin/linker" + #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker" + #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64" @@ -135,3 +135,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - #define TARGET_HAS_SINCOS (OPTION_GLIBC) - #define TARGET_POSIX_IO + /* Whether we have sincos that follows the GNU extension. */ + #define TARGET_HAS_SINCOS (OPTION_GLIBC || OPTION_BIONIC) + +#ifdef NOSTDINC +#undef STANDARD_INCLUDE_DIR @@ -270,13 +270,15 @@ index 2f24dfa..850cb22 100644 -#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld.so.1" -#define GLIBC_DYNAMIC_LINKERN32 "/lib32/ld.so.1" -#define UCLIBC_DYNAMIC_LINKERN32 "/lib32/ld-uClibc.so.0" +-#define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32" +#define GLIBC_DYNAMIC_LINKER32 DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER +#define GLIBC_DYNAMIC_LINKER64 DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER +#define GLIBC_DYNAMIC_LINKERN32 DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER +#define UCLIBC_DYNAMIC_LINKERN32 DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER ++#define BIONIC_DYNAMIC_LINKERN32 DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER #define LINUX_DYNAMIC_LINKERN32 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32) - + CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \ + BIONIC_DYNAMIC_LINKERN32) diff --git a/gcc/config/mn10300/linux.h b/gcc/config/mn10300/linux.h index ac9f8c5..8ab78b1 100644 --- a/gcc/config/mn10300/linux.h @@ -306,9 +308,9 @@ index da7bca3..c36e7d6 100644 +#define GLIBC_DYNAMIC_LINKER64 DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER +#define UCLIBC_DYNAMIC_LINKER32 DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER +#define UCLIBC_DYNAMIC_LINKER64 DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER - #if UCLIBC_DEFAULT - #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:%{muclibc:%e-mglibc and -muclibc used together}" G ";:" U "}" - #else + #if DEFAULT_LIBC == LIBC_UCLIBC + #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" + #elif DEFAULT_LIBC == LIBC_GLIBC diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h index ddbcfa9..59bfd28 100644 --- a/gcc/config/s390/linux.h |