[cfe-dev] Clang function-sections flag

via cfe-dev cfe-dev at lists.llvm.org
Wed Jan 20 06:55:31 PST 2021


Try adding -fno-function-sections to make sure it's turned off (sounds like it is on by default for your target).
--paulr

From: cfe-dev <cfe-dev-bounces at lists.llvm.org> On Behalf Of Gaier, Bjoern via cfe-dev
Sent: Wednesday, January 20, 2021 5:01 AM
To: Clang Dev <cfe-dev at lists.llvm.org>
Subject: [cfe-dev] Clang function-sections flag

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/04d070b6/attachment.html>


More information about the cfe-dev mailing list