From d44f2d6855d8f61ef5084c0b50ef589331637af8 Mon Sep 17 00:00:00 2001 From: Sam James Date: Fri, 15 Mar 2024 05:59:31 +0000 Subject: patches: werror: add 1.3134-2.2.7a-gnu (hack) 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 --- patches/werror/1.3134-2.2.7a-gnu | 57 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 patches/werror/1.3134-2.2.7a-gnu 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" -- cgit v1.2.3-65-gdbad