diff options
Diffstat (limited to 'main/musl/0008-have-configure-check-add-ffunction-sections-and-fdat.patch')
-rw-r--r-- | main/musl/0008-have-configure-check-add-ffunction-sections-and-fdat.patch | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/main/musl/0008-have-configure-check-add-ffunction-sections-and-fdat.patch b/main/musl/0008-have-configure-check-add-ffunction-sections-and-fdat.patch deleted file mode 100644 index d74f5bd10f..0000000000 --- a/main/musl/0008-have-configure-check-add-ffunction-sections-and-fdat.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 27c1eccf33ce5cb7508ef5e541daa9b6441b4a51 Mon Sep 17 00:00:00 2001 -From: Rich Felker <dalias@aerifal.cx> -Date: Wed, 4 Nov 2015 13:24:11 -0500 -Subject: [PATCH] have configure check/add -ffunction-sections and - -fdata-sections - -based on patch by Denys Vlasenko. the original intent for using these -options was to enable linking optimizations. these are immediately -available for static linking applications to libc.a, and will also be -used for linking libc.so in a subsequent commit. - -in addition to the original motives, this change works around a whole -class of toolchain bugs where the compiler generates relative address -expressions using a weak symbol and the assembler "optimizes out" the -relocation which should result by using the weak definition. (see gas -pr 18561 and gcc pr 66609, 68178, etc. for examples.) by having -different functions and data objects in their own sections, all -relative address expressions are cross-section and thus cannot be -resolved to constants until link time. this allows us to retain -support for affected compiler/assembler versions without invasive -and fragile source-level workarounds. ---- - configure | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/configure b/configure -index 3e536f5..1e5c4b3 100755 ---- a/configure -+++ b/configure -@@ -437,6 +437,17 @@ tryflag CFLAGS_AUTO -fno-unwind-tables - tryflag CFLAGS_AUTO -fno-asynchronous-unwind-tables - - # -+# Attempt to put each function and each data object in its own -+# section. This both allows additional size optimizations at link -+# time and works around a dangerous class of compiler/assembler bugs -+# whereby relative address expressions are constant-folded by the -+# assembler even when one or more of the symbols involved is -+# replaceable. See gas pr 18561 and gcc pr 66609, 68178, etc. -+# -+tryflag CFLAGS_AUTO -ffunction-sections -+tryflag CFLAGS_AUTO -fdata-sections -+ -+# - # On x86, make sure we don't have incompatible instruction set - # extensions enabled by default. This is bad for making static binaries. - # We cheat and use i486 rather than i386 because i386 really does not --- -2.7.0 - |