[cfe-dev] Clang function-sections flag

Gaier, Bjoern via cfe-dev cfe-dev at lists.llvm.org
Wed Jan 20 02:00:41 PST 2021


Hey Clang-people,

I have a nooby question about the -ffunction-sections flag of Clang.
As far as I used to understand, setting this flag means, that every function gets their own section. Makes sense so far.

Recently I started to look into the ELF format a bit so that subject came up. I created a macro to quickly generate me some functions:
#define wuff(a, b) \
a##b

#define crap(num) \
int wuff(schwimmflugel, num) () \
{ \
    return num; \
}

Creating the object file and looking into it, I found a section header for every of my functions no matter if I set the -ffunction-sections flag or not.
Also setting my function to static didn't changed a thing.... well besides from having those functions striped from my object file xD

So... what does that flag effect?

Kind greetings
Björn
Als GmbH eingetragen im Handelsregister Bad Homburg v.d.H. HRB 9816, USt.ID-Nr. DE 114 165 789 Geschäftsführer: Dr. Hiroshi Nakamura, Dr. Robert Plank, Markus Bode, Takashi Nagano, Junichi Tajika, Ergin Cansiz.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20210120/4c40d4e8/attachment.html>


More information about the cfe-dev mailing list