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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |lto
                 CC|                            |hjl.tools at gmail dot com,
                   |                            |rguenth at gcc dot gnu.org

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
I think this is a BFD linker bug, with --dynamic-list the linker resolution
with
GNU ld 2.30 is the following

2
func.o 4
190 37612a23f90e023e PREVAILING_DEF_IRONLY func_attr_used_disabled
194 37612a23f90e023e PREVAILING_DEF_IRONLY func_attr_used_enabled
199 37612a23f90e023e PREVAILING_DEF_IRONLY var_attr_used_disabled
202 37612a23f90e023e PREVAILING_DEF_IRONLY var_attr_used_enabled
main.o 5
201 7ea6415e61742ba7 PREVAILING_DEF main
224 7ea6415e61742ba7 RESOLVED_IR var_attr_used_disabled
226 7ea6415e61742ba7 RESOLVED_IR var_attr_used_enabled
218 7ea6415e61742ba7 RESOLVED_IR func_attr_used_enabled
220 7ea6415e61742ba7 RESOLVED_IR func_attr_used_disabled

while when using gold it is

2
func.o 4
190 1ff7d470667c7203 PREVAILING_DEF_IRONLY_EXP func_attr_used_disabled
194 1ff7d470667c7203 PREVAILING_DEF_IRONLY_EXP func_attr_used_enabled
199 1ff7d470667c7203 PREVAILING_DEF_IRONLY_EXP var_attr_used_disabled
202 1ff7d470667c7203 PREVAILING_DEF_IRONLY_EXP var_attr_used_enabled
main.o 5
201 64462b5d6de9d7fa PREVAILING_DEF main
224 64462b5d6de9d7fa RESOLVED_IR var_attr_used_disabled
226 64462b5d6de9d7fa RESOLVED_IR var_attr_used_enabled
218 64462b5d6de9d7fa RESOLVED_IR func_attr_used_enabled
220 64462b5d6de9d7fa RESOLVED_IR func_attr_used_disabled

which looks correct to me and results in properly exported symbols.  So it
should work correctly when using gold (from recent enough binutils version,
didn't try to bisect).

HJ, can you look to fix GNU ld?

Reply via email to