[LLVMdev] [PROPOSAL] ELF safe/unsafe sections

Rafael EspĂ­ndola rafael.espindola at gmail.com
Wed Jul 31 07:17:53 PDT 2013


> #1 can be solved via science.

I posted the numbers for -ffunction-section -fdata-section when
building clang.  The overhead is noticeable: 26% larger object files.
The overhead of doing this with just symbols is more than just the
flag itself. The assembler (MC) has to avoid resolving relocations,
but that should not be as bad as 26%. Each section on ELF 64 costs 64
bytes + the name of the section.

But I agree. We should do -ffunction-sections + -fdata-sections first.
The format extension (flag section?) then becomes just an
optimization.

BTW, I do think we need more than just one flag section. If for
nothing else we need to make sure we don't break
__attribute__((used)). In fact, I think we will need that even for
-ffunction-sections.

Cheers,
Rafael



More information about the llvm-dev mailing list