From e07a7892ee1bb2a2b697d4ad636b02bdc742fa10 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Wed, 23 Sep 2020 12:54:56 +0200 Subject: Configuration: Make it possible to have an argument file Some compilers / linkers allow arguments to be given in a file instead of on the command line. We make it possible to specify this by giving the compiler / linker flag for it, using the config attribute 'shared_argfileflag'. This currently only impacts the build of shared libraries, as those are potentially made up of a massive amount of object files, which has been reported to overwhelm the command line on some platforms. Fixes #12797 Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/12960) --- Configurations/50-nonstop.conf | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'Configurations/50-nonstop.conf') diff --git a/Configurations/50-nonstop.conf b/Configurations/50-nonstop.conf index e11bc77083..64385a809a 100644 --- a/Configurations/50-nonstop.conf +++ b/Configurations/50-nonstop.conf @@ -51,6 +51,7 @@ cflags => '-Wtarget=tns/r -Wsystype=guardian', lflags => '-Wld="-set systype guardian"', shared_ldflag => '-Wshared -Wld="-export_all -soname $(@:lib%.so=%)"', + shared_argfileflag => '-Wld_obey=', }, # Itanium + guardian: @@ -60,6 +61,7 @@ cflags => '-Wtarget=tns/e -Wsystype=guardian', lflags => '-Weld="-set systype guardian"', shared_ldflag => '-Wshared -Weld="-export_all -soname $(@:lib%.so=%)"', + shared_argfileflag => '-Weld_obey=', }, # x86 + guardian: @@ -69,6 +71,7 @@ cflags => '-Wtarget=tns/x -Wsystype=guardian', lflags => '-Wxld="-set systype guardian"', shared_ldflag => '-Wshared -Wxld="-export_all -soname $(@:lib%.so=%)"', + shared_argfileflag => '-Wxld_obey=', }, # MIPS + oss (unused but present for convenience): @@ -77,6 +80,7 @@ cflags => '-Wtarget=tns/r -Wsystype=oss', lflags => '-Wld="-set systype oss"', shared_ldflag => '-Wshared -Wld="-export_all"', + shared_argfileflag => '-Wld_obey=', }, # Itanium + oss: 'nonstop-archenv-itanium-oss' => { @@ -85,6 +89,7 @@ cflags => '-Wtarget=tns/e -Wsystype=oss', lflags => '-Weld="-set systype oss"', shared_ldflag => '-Wshared -Weld="-export_all"', + shared_argfileflag => '-Weld_obey=', }, # x86_64 + oss: 'nonstop-archenv-x86_64-oss' => { @@ -93,6 +98,7 @@ cflags => '-Wtarget=tns/x -Wsystype=oss', lflags => '-Wxld="-set systype oss"', shared_ldflag => '-Wshared -Wxld="-export_all"', + shared_argfileflag => '-Wxld_obey=', }, # Size variants -- cgit v1.2.3