diff options
author | Julian Andres Klode <jak@debian.org> | 2016-06-01 14:54:32 +0200 |
---|---|---|
committer | Julian Andres Klode <jak@debian.org> | 2016-06-01 16:00:46 +0200 |
commit | addbf58217d9aa3709c48d8821b256d726aefa5b (patch) | |
tree | a686726e1f94d0effff93068bda7b99fa720f5c3 /buildlib | |
parent | 4e417f6222d46571833deb8adf4e725f0e6c3d38 (diff) |
Pass -fvisibility-inlines-hidden to g++
This reduces the number of symbols by about 10%. Unfortunately,
it does not seem to cover all the weird std::vector and friend
template expansions.
ABI should not brake due to that change: It was never specified
before whether an inline symbol was exported or not; so no library
could rely on its presence. Instead, the symbols were exported in
each library/program needing it and and then merged into a common
one by the dynamic linker.
Also update the symbol files to account for the removed symbols.
Diffstat (limited to 'buildlib')
-rw-r--r-- | buildlib/environment.mak.in | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/buildlib/environment.mak.in b/buildlib/environment.mak.in index 9620722de..2ac3d6847 100644 --- a/buildlib/environment.mak.in +++ b/buildlib/environment.mak.in @@ -19,6 +19,8 @@ CXXFLAGS+= -Wctor-dtor-privacy -Wdisabled-optimization -Winit-self -Wmissing-inc #CXXFLAGS+= -fsanitize=address -fsanitize=undefined -fno-sanitize=vptr # a bit too pedantic to be run by default #CXXFLAGS+= -Wpedantic -Wno-long-long -Wno-vla -Wno-variadic-macros +# hide inlines +CXXFLAGS+= -fvisibility-inlines-hidden NUM_PROCS = @NUM_PROCS@ # Linker stuff |