summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2024-03-15 05:59:31 +0000
committerSam James <sam@gentoo.org>2024-03-15 06:01:12 +0000
commitd44f2d6855d8f61ef5084c0b50ef589331637af8 (patch)
tree45967a562443a6bf5e0fc324ab010d2614a5bc77
parentpatches: backport a bunch of patches to libtool 2.4.2 (diff)
downloadelt-patches-d44f2d6855d8f61ef5084c0b50ef589331637af8.tar.gz
elt-patches-d44f2d6855d8f61ef5084c0b50ef589331637af8.tar.bz2
elt-patches-d44f2d6855d8f61ef5084c0b50ef589331637af8.zip
patches: werror: add 1.3134-2.2.7a-gnu (hack)20240315
The ancient fork of libtool in binutils/gdb/gcc doesn't know about most of these flags (the fork mostly exists because of divergence in what --with-sysroot means but there's some other unknown/undocumented differences too). I'm kind of cheating here because this isn't split up per-type, which I should probably go and do, but it feels silly to spend time on it given it's solely for 3 packages... Anyway, for this, we now get proper colour and -Werror and such with LTO. Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--patches/werror/1.3134-2.2.7a-gnu57
1 files changed, 57 insertions, 0 deletions
diff --git a/patches/werror/1.3134-2.2.7a-gnu b/patches/werror/1.3134-2.2.7a-gnu
new file mode 100644
index 0000000..6037873
--- /dev/null
+++ b/patches/werror/1.3134-2.2.7a-gnu
@@ -0,0 +1,57 @@
+Rollup of the flag fixes for the version of libtool in gcc/binutils/gdb.
+--- a/ltmain.sh
++++ b/ltmain.sh
+@@ -4968,19 +4968,41 @@ func_mode_link ()
+ arg="$func_quote_for_eval_result"
+ ;;
+
+- # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
+- # -r[0-9][0-9]* specifies the processor on the SGI compiler
+- # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
+- # +DA*, +DD* enable 64-bit mode on the HP compiler
+- # -q* pass through compiler args for the IBM compiler
+- # -m*, -t[45]*, -txscale* pass through architecture-specific
+- # compiler args for GCC
+- # -F/path gives path to uninstalled frameworks, gcc on darwin
+- # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
+- # @file GCC response files
+- # -tp=* Portland pgcc target processor selection
++ # Flags to be passed through unchanged, with rationale:
++ # -64, -mips[0-9] enable 64-bit mode for the SGI compiler
++ # -r[0-9][0-9]* specify processor for the SGI compiler
++ # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
++ # +DA*, +DD* enable 64-bit mode for the HP compiler
++ # -q* compiler args for the IBM compiler
++ # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
++ # -F/path path to uninstalled frameworks, gcc on darwin
++ # -p, -pg, --coverage, -fprofile-* profiling flags for GCC
++ # -fstack-protector* stack protector flags for GCC
++ # @file GCC response files
++ # -tp=* Portland pgcc target processor selection
++ # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
++ # -specs=* GCC specs files
++ # -stdlib=* select c++ std lib with clang
++ # -fdiagnostics-color* simply affects output
++ # -frecord-gcc-switches used to verify flags were respected
++ # -fsanitize=* Clang/GCC memory and address sanitizer
++ # -fno-sanitize* Clang/GCC memory and address sanitizer
++ # -shared-libsan Link with shared sanitizer runtimes (Clang)
++ # -static-libsan Link with static sanitizer runtimes (Clang)
++ # -fuse-ld=* Linker select flags for GCC
++ # -rtlib=* select c runtime lib with clang
++ # --unwindlib=* select unwinder library with clang
++ # -f{file|debug|macro|profile}-prefix-map=* needed for lto linking
++ # -Wa,* Pass flags directly to the assembler
++ # -Werror, -Werror=* Report (specified) warnings as errors
+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+- -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*)
++ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*| \
++ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*| \
++ -stdlib=*|-rtlib=*|--unwindlib=*| \
++ -specs=*|-fsanitize=*|-fno-sanitize*|-shared-libsan|-static-libsan| \
++ -ffile-prefix-map=*|-fdebug-prefix-map=*|-fmacro-prefix-map=*|-fprofile-prefix-map=*| \
++ -fdiagnostics-color*|-frecord-gcc-switches| \
++ -fuse-ld=*|-Wa,*|-Werror|-Werror=*)
+ func_quote_for_eval "$arg"
+ arg="$func_quote_for_eval_result"
+ func_append compile_command " $arg"