[Bug ipa/58329] [4.9 Regression] ld: Invalid symbol type for plabel (.libs/libstdc++.lax/libc++11convenience.a/system_error.o, std::error_category::default_error_condition(int) const [clone .localalias.9]).
hubicka at ucw dot cz
gcc-bugzilla@gcc.gnu.org
Fri Sep 6 12:05:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58329
--- Comment #6 from Jan Hubicka <hubicka at ucw dot cz> ---
> The PA-RISC HP-UX linker interposes import and export stubs in dynamic
> libraries.
> Whether there is a working notion of alias is somewhat unclear and
> involves digging
> into the linker code. The HP assembler doesn't support aliases.
> There is some
> support in gas.
OK, perhaps we want to disable local aliases then.
#if !defined (ASM_OUTPUT_DEF)
# if !defined(ASM_OUTPUT_WEAK_ALIAS) && !defined (ASM_WEAKEN_DECL)
error_at (DECL_SOURCE_LOCATION (decl),
"alias definitions not supported in this configuration");
return;
# else
if (!DECL_WEAK (decl))
{
if (lookup_attribute ("ifunc", DECL_ATTRIBUTES (decl)))
error_at (DECL_SOURCE_LOCATION (decl),
"ifunc is not supported in this configuration");
else
error_at (DECL_SOURCE_LOCATION (decl),
"only weak aliases are supported in this configuration");
return;
}
# endif
#endif
perhaps we want to simply check for ASM_OUTPUT_DEF in symtab and refuse
to use local aliases then? I think the other macros alow only weak aliases.
Honza
More information about the Gcc-bugs
mailing list