|
| 1 | +commit dcfc40358b5a3cae7320c17f8d1cebd5ad5540cd |
| 2 | +Author: Felix Fietkau < [email protected]> |
| 3 | +Date: Sun Feb 12 20:25:47 2012 +0000 |
| 4 | + |
| 5 | + gcc 4.6: port over the missing patch 850-use_shared_libgcc.patch to prevent libgcc crap from leaking into every single binary |
| 6 | + |
| 7 | + SVN-Revision: 30486 |
| 8 | +--- a/gcc/config/arm/linux-eabi.h |
| 9 | ++++ b/gcc/config/arm/linux-eabi.h |
| 10 | +@@ -132,10 +132,6 @@ |
| 11 | + "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} " \ |
| 12 | + LINUX_OR_ANDROID_LD (GNU_USER_TARGET_ENDFILE_SPEC, ANDROID_ENDFILE_SPEC) |
| 13 | + |
| 14 | +-/* Use the default LIBGCC_SPEC, not the version in linux-elf.h, as we |
| 15 | +- do not use -lfloat. */ |
| 16 | +-#undef LIBGCC_SPEC |
| 17 | +- |
| 18 | + /* Clear the instruction cache from `beg' to `end'. This is |
| 19 | + implemented in lib1funcs.S, so ensure an error if this definition |
| 20 | + is used. */ |
| 21 | +--- a/gcc/config/linux.h |
| 22 | ++++ b/gcc/config/linux.h |
| 23 | +@@ -66,6 +66,10 @@ see the files COPYING3 and COPYING.RUNTI |
| 24 | + builtin_version ("CRuntime_Musl"); \ |
| 25 | + } while (0) |
| 26 | + |
| 27 | ++#ifndef LIBGCC_SPEC |
| 28 | ++#define LIBGCC_SPEC "%{static|static-libgcc:-lgcc}%{!static:%{!static-libgcc:-lgcc_s}}" |
| 29 | ++#endif |
| 30 | ++ |
| 31 | + /* Determine which dynamic linker to use depending on whether GLIBC or |
| 32 | + uClibc or Bionic or musl is the default C library and whether |
| 33 | + -muclibc or -mglibc or -mbionic or -mmusl has been passed to change |
| 34 | +--- a/libgcc/mkmap-symver.awk |
| 35 | ++++ b/libgcc/mkmap-symver.awk |
| 36 | +@@ -136,5 +136,5 @@ function output(lib) { |
| 37 | + else if (inherit[lib]) |
| 38 | + printf("} %s;\n", inherit[lib]); |
| 39 | + else |
| 40 | +- printf ("\n local:\n\t*;\n};\n"); |
| 41 | ++ printf ("\n\t*;\n};\n"); |
| 42 | + } |
| 43 | +--- a/gcc/config/rs6000/linux.h |
| 44 | ++++ b/gcc/config/rs6000/linux.h |
| 45 | +@@ -62,6 +62,9 @@ |
| 46 | + #undef CPP_OS_DEFAULT_SPEC |
| 47 | + #define CPP_OS_DEFAULT_SPEC "%(cpp_os_linux)" |
| 48 | + |
| 49 | ++#undef LIBGCC_SPEC |
| 50 | ++#define LIBGCC_SPEC "%{!static:%{!static-libgcc:-lgcc_s}} -lgcc" |
| 51 | ++ |
| 52 | + #undef LINK_SHLIB_SPEC |
| 53 | + #define LINK_SHLIB_SPEC "%{shared:-shared} %{!shared: %{static:-static}} \ |
| 54 | + %{static-pie:-static -pie --no-dynamic-linker -z text}" |
0 commit comments