Hello, I have a flow in which I compile my object files with the Link-Time Optimization (LTO) with gcc (option -flto -ffat-lto-objects). At link time, I can decide if I want the LTO or not.
When I decide I don't want to use LTO for the final binary, I set -fno-lto in the LDFLAGS. But depending on the project I want to build, I can remain -flto due to a bad usage of the CFLAGS/CPPFLAGS/CXXFLAGS in the project. As I don't have the ownership on the project, I need to patch (and provide a patch upstream). But this can be tedious on big projects, so it would great if libtool don't filter the options like -fno-lto, -fno-whopr. I was thinking to something like: diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in index 96b37003..f37a0cc7 100644 --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in @@ -5375,14 +5375,19 @@ func_mode_link () # @file GCC response files # -tp=* Portland pgcc target processor selection # --sysroot=* for sysroot support - # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization + # -O*, -g* Optimization, debugging + # -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization + # -ffat-lto-objects, -fno-fat-lto-objects GCC GIMPLE in ELF section + # -fno-lto, -fno-whopr GCC disable LTO # -specs=* GCC specs files # -stdlib=* select c++ std lib with clang # -fsanitize=* Clang/GCC memory and address sanitizer # -fuse-ld=* Linker select flags for GCC -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ - -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ + -O*|-g*|-flto*|-fno-lto|-fwhopr*|-fno-whopr| \ + -ffat-lto-objects|-fno-fat-lto-objects| \ + -fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ -specs=*|-fsanitize=*|-fuse-ld=*) func_quote_arg pretty "$arg" arg=$func_quote_arg_result Regards, Stac _______________________________________________ https://lists.gnu.org/mailman/listinfo/libtool