https://gcc.gnu.org/bugzilla/show_bug.cgi?id=50483

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |INVALID
             Status|UNCONFIRMED                 |RESOLVED

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
So what is happening is bar is being coming localized to the newly produced
assembly file which is the same as being hidden really.

If we do:
void bar() __attribute((visibility( "hidden" ), externally_visible));

The new assembly file in both cases produces:
        .globl  _Z3barv
        .hidden _Z3barv

Without the externally_visible, the function does not have a .globl to it.
This is also why in both with and without -flto dynsym does not have the symbol
there.

There is no bug to be fixed, LTO is doing the localizing rather than the linker
doing it.

Reply via email to