https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97119
--- Comment #5 from Ali Bahrami <ali_gccbugzilla at emvision dot com> --- I added -flive-patching=inline-only-static as suggested by Martin. It didn't alter the results I'm seeing. There is still a lot of .localalias in the resulting objects. Still, the optimizations it is documented as preventing all seem like the sort of things we wouldn't want for the core OS objects, so we probably should add this. I'm at a disadvantage here, as I don't fully understand how clone functions and .localalias symbols are related. From the gcc manpage, I gather that clones are copies made to do certain optimizations, such as elimination of constant arguments. In contrast, foo, and foo.localalias seen to be references to a single function, with the main different being that foo is global and foo.localias is local. I'm not sure what the benefit of the local symbol is, but since it references the same address, as the global, it's not what I would call a clone. In any event, I would be content with a way to disable these for straightforward C objects, as opposed to specialized cases like OpenMP/OpenACC, so perhaps there's a way to do that, even if the fully general case isn't possible? Thanks. - Ali