[Mesa-dev] [PATCH 24/24] automake: ask the linker to do garbage collection
Lauri Kasanen
cand at gmx.com
Fri Mar 28 01:35:00 PDT 2014
On Thu, 27 Mar 2014 21:00:39 +0000
Emil Velikov <emil.l.velikov at gmail.com> wrote:
> By doing GC the linker removes all the symbols that are not referenced
> and/or used by the final library. This results in a saving of ~100K
> up-to ~600K per (stripped) binary (classic vs gallium drivers).
>
> If interested one can ask the compiler to print the sections that are
> removed using -Wl,--print-gc-sections.
I didn't see where you add the corresponding flags to CFLAGS/CXXFLAGS.
Without -ffunction-sections -fdata-sections in compile flags the garbage
collection is handicapped - add those by default too, and see much
greater gains.
I should also add that this is a GNUism, so it should be detected for
in configure in case people use other compilers/linkers. It's also
redundant if LTO is used.
In one of my projects I detect as such:
if -flto supported, use it (needs to be added to all three CFLAGS
CXXFLAGS LDFLAGS)
else if sections supported, use it
else print a message they're missing out
- Lauri
More information about the mesa-dev
mailing list