feat(config): Add -z pack-relative-relocs to LDFLAGS
This moves relative relocations from the `.rela.dyn` section into a new `.relr.dyn` section with a significantly more compact encoding, supported since glibc 2.36, GNU Binutils 2.38 and LLVM 15. This can reduce the size of libraries a lot, e.g. the installed size of `libphonenumber` dropped from about 17 MB to 7 MB. For more info, see https://gitlab.archlinux.org/archlinux/rfcs/-/merge_requests/23. Signed-off-by: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
This commit is contained in:
parent
1535a69af6
commit
c356995dc1
|
@ -44,7 +44,8 @@ CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \
|
|||
-Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
|
||||
-fstack-clash-protection -fcf-protection"
|
||||
CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS"
|
||||
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now"
|
||||
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now \
|
||||
-Wl,-z,pack-relative-relocs"
|
||||
LTOFLAGS="-flto=auto"
|
||||
RUSTFLAGS=""
|
||||
#-- Make Flags: change this for DistCC/SMP systems
|
||||
|
|
|
@ -44,7 +44,8 @@ CFLAGS="-march=x86-64-v3 -mtune=generic -O2 -pipe -fno-plt -fexceptions \
|
|||
-Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
|
||||
-fstack-clash-protection -fcf-protection"
|
||||
CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS"
|
||||
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now"
|
||||
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now \
|
||||
-Wl,-z,pack-relative-relocs"
|
||||
LTOFLAGS="-flto=auto"
|
||||
RUSTFLAGS=""
|
||||
#-- Make Flags: change this for DistCC/SMP systems
|
||||
|
|
Loading…
Reference in New Issue