public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug ipa/58329] New: [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]).
@ 2013-09-05 23:24 danglin at gcc dot gnu.org
2013-09-05 23:31 ` [Bug ipa/58329] " hubicka at ucw dot cz
` (13 more replies)
0 siblings, 14 replies; 15+ messages in thread
From: danglin at gcc dot gnu.org @ 2013-09-05 23:24 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58329
Bug ID: 58329
Summary: [4.9 Regression] ld: Invalid symbol type for plabel
(.libs/libstdc++.lax/libc++11convenience.a/system_erro
r.o, std::error_category::default_error_condition(int)
const [clone .localalias.9]).
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: ipa
Assignee: unassigned at gcc dot gnu.org
Reporter: danglin at gcc dot gnu.org
CC: hubicka at gcc dot gnu.org
Host: hppa2.0w-hp-hpux11.11
Target: hppa2.0w-hp-hpux11.11
Build: hppa2.0w-hp-hpux11.11
libtool: link: (cd .libs/libstdc++.lax/libc++11convenience.a && ar x
"/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/src/../src/c++11/.libs/libc++11convenience.a")
libtool: link: /test/gnu/gcc/objdir/./gcc/xgcc -shared-libgcc
-B/test/gnu/gcc/objdir/./gcc -nostdinc++
-L/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/src
-L/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/src/.libs
-L/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/libsupc++/.libs
-B/opt/gnu/gcc/gcc-4.9/hppa2.0w-hp-hpux11.11/bin/
-B/opt/gnu/gcc/gcc-4.9/hppa2.0w-hp-hpux11.11/lib/ -isystem
/opt/gnu/gcc/gcc-4.9/hppa2.0w-hp-hpux11.11/include -isystem
/opt/gnu/gcc/gcc-4.9/hppa2.0w-hp-hpux11.11/sys-include -shared -nostdlib
-fPIC -Wl,+h -Wl,libstdc++.sl.6 -Wl,+b -Wl,/opt/gnu/gcc/gcc-4.9/lib -o
.libs/libstdc++.sl.6.19 .libs/compatibility.o
.libs/compatibility-debug_list.o .libs/compatibility-debug_list-2.o
.libs/compatibility-c++0x.o .libs/compatibility-atomic-c++0x.o
.libs/compatibility-thread-c++0x.o .libs/compatibility-chrono.o
.libs/compatibility-condvar.o
.libs/libstdc++.lax/libsupc++convenience.a/array_type_info.o
.libs/libstdc++.lax/libsupc++convenience.a/atexit_arm.o
.libs/libstdc++.lax/libsupc++convenience.a/atexit_thread.o
.libs/libstdc++.lax/libsupc++convenience.a/bad_alloc.o
.libs/libstdc++.lax/libsupc++convenience.a/bad_array_length.o
.libs/libstdc++.lax/libsupc++convenience.a/bad_array_new.o
.libs/libstdc++.lax/libsupc++convenience.a/bad_cast.o
.libs/libstdc++.lax/libsupc++convenience.a/bad_typeid.o
.libs/libstdc++.lax/libsupc++convenience.a/class_type_info.o
.libs/libstdc++.lax/libsupc++convenience.a/del_op.o
.libs/libstdc++.lax/libsupc++convenience.a/del_opnt.o
.libs/libstdc++.lax/libsupc++convenience.a/del_opv.o
.libs/libstdc++.lax/libsupc++convenience.a/del_opvnt.o
.libs/libstdc++.lax/libsupc++convenience.a/dyncast.o
.libs/libstdc++.lax/libsupc++convenience.a/eh_alloc.o
.libs/libstdc++.lax/libsupc++convenience.a/eh_arm.o
.libs/libstdc++.lax/libsupc++convenience.a/eh_aux_runtime.o
.libs/libstdc++.lax/libsupc++convenience.a/eh_call.o
.libs/libstdc++.lax/libsupc++convenience.a/eh_catch.o
.libs/libstdc++.lax/libsupc++convenience.a/eh_exception.o
.libs/libstdc++.lax/libsupc++convenience.a/eh_globals.o
.libs/libstdc++.lax/libsupc++convenience.a/eh_personality.o
.libs/libstdc++.lax/libsupc++convenience.a/eh_ptr.o
.libs/libstdc++.lax/libsupc++convenience.a/eh_term_handler.o
.libs/libstdc++.lax/libsupc++convenience.a/eh_terminate.o
.libs/libstdc++.lax/libsupc++convenience.a/eh_tm.o
.libs/libstdc++.lax/libsupc++convenience.a/eh_throw.o
.libs/libstdc++.lax/libsupc++convenience.a/eh_type.o
.libs/libstdc++.lax/libsupc++convenience.a/eh_unex_handler.o
.libs/libstdc++.lax/libsupc++convenience.a/enum_type_info.o
.libs/libstdc++.lax/libsupc++convenience.a/function_type_info.o
.libs/libstdc++.lax/libsupc++convenience.a/fundamental_type_info.o
.libs/libstdc++.lax/libsupc++convenience.a/guard.o
.libs/libstdc++.lax/libsupc++convenience.a/guard_error.o
.libs/libstdc++.lax/libsupc++convenience.a/hash_bytes.o
.libs/libstdc++.lax/libsupc++convenience.a/nested_exception.o
.libs/libstdc++.lax/libsupc++convenience.a/new_handler.o
.libs/libstdc++.lax/libsupc++convenience.a/new_op.o
.libs/libstdc++.lax/libsupc++convenience.a/new_opnt.o
.libs/libstdc++.lax/libsupc++convenience.a/new_opv.o
.libs/libstdc++.lax/libsupc++convenience.a/new_opvnt.o
.libs/libstdc++.lax/libsupc++convenience.a/pbase_type_info.o
.libs/libstdc++.lax/libsupc++convenience.a/pmem_type_info.o
.libs/libstdc++.lax/libsupc++convenience.a/pointer_type_info.o
.libs/libstdc++.lax/libsupc++convenience.a/pure.o
.libs/libstdc++.lax/libsupc++convenience.a/si_class_type_info.o
.libs/libstdc++.lax/libsupc++convenience.a/tinfo.o
.libs/libstdc++.lax/libsupc++convenience.a/tinfo2.o
.libs/libstdc++.lax/libsupc++convenience.a/vec.o
.libs/libstdc++.lax/libsupc++convenience.a/vmi_class_type_info.o
.libs/libstdc++.lax/libsupc++convenience.a/vterminate.o
.libs/libstdc++.lax/libsupc++convenience.a/cp-demangle.o
.libs/libstdc++.lax/libc++98convenience.a/bitmap_allocator.o
.libs/libstdc++.lax/libc++98convenience.a/pool_allocator.o
.libs/libstdc++.lax/libc++98convenience.a/mt_allocator.o
.libs/libstdc++.lax/libc++98convenience.a/codecvt.o
.libs/libstdc++.lax/libc++98convenience.a/complex_io.o
.libs/libstdc++.lax/libc++98convenience.a/ctype.o
.libs/libstdc++.lax/libc++98convenience.a/globals_io.o
.libs/libstdc++.lax/libc++98convenience.a/hash_tr1.o
.libs/libstdc++.lax/libc++98convenience.a/hashtable_tr1.o
.libs/libstdc++.lax/libc++98convenience.a/ios.o
.libs/libstdc++.lax/libc++98convenience.a/ios_failure.o
.libs/libstdc++.lax/libc++98convenience.a/ios_init.o
.libs/libstdc++.lax/libc++98convenience.a/ios_locale.o
.libs/libstdc++.lax/libc++98convenience.a/list.o
.libs/libstdc++.lax/libc++98convenience.a/list-aux.o
.libs/libstdc++.lax/libc++98convenience.a/list-aux-2.o
.libs/libstdc++.lax/libc++98convenience.a/list_associated.o
.libs/libstdc++.lax/libc++98convenience.a/list_associated-2.o
.libs/libstdc++.lax/libc++98convenience.a/locale.o
.libs/libstdc++.lax/libc++98convenience.a/locale_init.o
.libs/libstdc++.lax/libc++98convenience.a/locale_facets.o
.libs/libstdc++.lax/libc++98convenience.a/localename.o
.libs/libstdc++.lax/libc++98convenience.a/math_stubs_float.o
.libs/libstdc++.lax/libc++98convenience.a/math_stubs_long_double.o
.libs/libstdc++.lax/libc++98convenience.a/stdexcept.o
.libs/libstdc++.lax/libc++98convenience.a/strstream.o
.libs/libstdc++.lax/libc++98convenience.a/tree.o
.libs/libstdc++.lax/libc++98convenience.a/istream.o
.libs/libstdc++.lax/libc++98convenience.a/streambuf.o
.libs/libstdc++.lax/libc++98convenience.a/valarray.o
.libs/libstdc++.lax/libc++98convenience.a/atomicity.o
.libs/libstdc++.lax/libc++98convenience.a/codecvt_members.o
.libs/libstdc++.lax/libc++98convenience.a/collate_members.o
.libs/libstdc++.lax/libc++98convenience.a/ctype_configure_char.o
.libs/libstdc++.lax/libc++98convenience.a/ctype_members.o
.libs/libstdc++.lax/libc++98convenience.a/messages_members.o
.libs/libstdc++.lax/libc++98convenience.a/monetary_members.o
.libs/libstdc++.lax/libc++98convenience.a/numeric_members.o
.libs/libstdc++.lax/libc++98convenience.a/time_members.o
.libs/libstdc++.lax/libc++98convenience.a/basic_file.o
.libs/libstdc++.lax/libc++98convenience.a/c++locale.o
.libs/libstdc++.lax/libc++98convenience.a/allocator-inst.o
.libs/libstdc++.lax/libc++98convenience.a/concept-inst.o
.libs/libstdc++.lax/libc++98convenience.a/ext-inst.o
.libs/libstdc++.lax/libc++98convenience.a/ios-inst.o
.libs/libstdc++.lax/libc++98convenience.a/iostream-inst.o
.libs/libstdc++.lax/libc++98convenience.a/istream-inst.o
.libs/libstdc++.lax/libc++98convenience.a/locale-inst.o
.libs/libstdc++.lax/libc++98convenience.a/misc-inst.o
.libs/libstdc++.lax/libc++98convenience.a/ostream-inst.o
.libs/libstdc++.lax/libc++98convenience.a/sstream-inst.o
.libs/libstdc++.lax/libc++98convenience.a/streambuf-inst.o
.libs/libstdc++.lax/libc++98convenience.a/wlocale-inst.o
.libs/libstdc++.lax/libc++98convenience.a/parallel_settings.o
.libs/libstdc++.lax/libc++11convenience.a/chrono.o
.libs/libstdc++.lax/libc++11convenience.a/condition_variable.o
.libs/libstdc++.lax/libc++11convenience.a/debug.o
.libs/libstdc++.lax/libc++11convenience.a/functexcept.o
.libs/libstdc++.lax/libc++11convenience.a/functional.o
.libs/libstdc++.lax/libc++11convenience.a/future.o
.libs/libstdc++.lax/libc++11convenience.a/hash_c++0x.o
.libs/libstdc++.lax/libc++11convenience.a/hashtable_c++0x.o
.libs/libstdc++.lax/libc++11convenience.a/limits.o
.libs/libstdc++.lax/libc++11convenience.a/mutex.o
.libs/libstdc++.lax/libc++11convenience.a/placeholders.o
.libs/libstdc++.lax/libc++11convenience.a/random.o
.libs/libstdc++.lax/libc++11convenience.a/regex.o
.libs/libstdc++.lax/libc++11convenience.a/shared_ptr.o
.libs/libstdc++.lax/libc++11convenience.a/system_error.o
.libs/libstdc++.lax/libc++11convenience.a/thread.o
.libs/libstdc++.lax/libc++11convenience.a/fstream-inst.o
.libs/libstdc++.lax/libc++11convenience.a/string-inst.o
.libs/libstdc++.lax/libc++11convenience.a/wstring-inst.o
-L/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/libsupc++/.libs
-L/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/src
-L/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/src/.libs -lm
-L/test/gnu/gcc/objdir/./gcc -L/usr/ccs/lib -L/opt/langtools/lib -lgcc_s
/usr/ccs/bin/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]).
collect2: error: ld returned 1 exit status
make[6]: *** [libstdc++.la] Error 1
Introduced by:
2013-09-01 Jan Hubicka <jh@suse.cz>
* common.opt (fdevirtualize-speculatively): New function.
* invoke.texi (fdevirtualize-speculatively): Document.
* ipa-devirt.c: Include ipa-inline.h
(likely_target_p): New function.
(ipa_devirt): New function.
(gate_ipa_devirt): New function.
(pass_data_ipa_devirt): New static var.
(pass_ipa_devirt): Likewise.
(make_pass_ipa_devirt): New function.
* opts.c (default_options): Add OPT_fdevirtualize_speculatively.
(common_handle_option): Disable devirtualization when
value range profiling is available.
* passes.def (pass_ipa_devirt): Add.
* timever.def (TV_IPA_DEVIRT): New timevar.
* tree-pass.h (make_pass_ipa_devirt):
Symbol has type data which is wrong for procedure label:
Symbols from system_error.o:
Value Info Type Scope ck HQIRCDSKLN xl reloc Name
00000000 00000000 Data Unsat 0 .......... 3 00000
_ZNKSt14error_category23default_error_conditionEi.localalias.9
^ permalink raw reply [flat|nested] 15+ messages in thread
* [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]).
2013-09-05 23:24 [Bug ipa/58329] New: [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]) danglin at gcc dot gnu.org
@ 2013-09-05 23:31 ` hubicka at ucw dot cz
2013-09-05 23:39 ` dave.anglin at bell dot net
` (12 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: hubicka at ucw dot cz @ 2013-09-05 23:31 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58329
--- Comment #1 from Jan Hubicka <hubicka at ucw dot cz> ---
> Symbol has type data which is wrong for procedure label:
>
> Symbols from system_error.o:
>
> Value Info Type Scope ck HQIRCDSKLN xl reloc Name
>
> 00000000 00000000 Data Unsat 0 .......... 3 00000
> _ZNKSt14error_category23default_error_conditionEi.localalias.9
The code introduces the symbol as an static alias of function.
I.e. something like
void foo (void) { }
void foo.localalias (void) __attribute__ ((alias "foo"));
Can this be latent bug in HPPA backend not handling well aliases like this?
(this was indeed an issue on AIX).
^ permalink raw reply [flat|nested] 15+ messages in thread
* [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]).
2013-09-05 23:24 [Bug ipa/58329] New: [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]) danglin at gcc dot gnu.org
2013-09-05 23:31 ` [Bug ipa/58329] " hubicka at ucw dot cz
@ 2013-09-05 23:39 ` dave.anglin at bell dot net
2013-09-06 7:54 ` hubicka at ucw dot cz
` (11 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: dave.anglin at bell dot net @ 2013-09-05 23:39 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58329
--- Comment #2 from dave.anglin at bell dot net ---
On 5-Sep-13, at 7:31 PM, hubicka at ucw dot cz wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58329
>
> --- Comment #1 from Jan Hubicka <hubicka at ucw dot cz> ---
>> Symbol has type data which is wrong for procedure label:
>>
>> Symbols from system_error.o:
>>
>> Value Info Type Scope ck HQIRCDSKLN xl reloc Name
>>
>> 00000000 00000000 Data Unsat 0 .......... 3 00000
>> _ZNKSt14error_category23default_error_conditionEi.localalias.9
>
> The code introduces the symbol as an static alias of function.
> I.e. something like
>
> void foo (void) { }
> void foo.localalias (void) __attribute__ ((alias "foo"));
>
> Can this be latent bug in HPPA backend not handling well aliases
> like this?
> (this was indeed an issue on AIX).
I wouldn't be surprised.
I don't have assembler output or preprocessed source yet. There is
some alias
support in gas for HP-UX but I believe it may not work when we have a
call using
a function descriptor (plabel).
Dave
--
John David Anglin dave.anglin@bell.net
^ permalink raw reply [flat|nested] 15+ messages in thread
* [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]).
2013-09-05 23:24 [Bug ipa/58329] New: [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]) danglin at gcc dot gnu.org
2013-09-05 23:31 ` [Bug ipa/58329] " hubicka at ucw dot cz
2013-09-05 23:39 ` dave.anglin at bell dot net
@ 2013-09-06 7:54 ` hubicka at ucw dot cz
2013-09-06 10:40 ` hubicka at gcc dot gnu.org
` (10 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: hubicka at ucw dot cz @ 2013-09-06 7:54 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58329
--- Comment #3 from Jan Hubicka <hubicka at ucw dot cz> ---
> I wouldn't be surprised.
>
> I don't have assembler output or preprocessed source yet. There is
> some alias
> support in gas for HP-UX but I believe it may not work when we have a
> call using
> a function descriptor (plabel).
On AIX David fixed the output machinery so the aliases now go well even for
descriptors. There local calls don't use them. Do you think you can take
a look what is needed for HPUX? We may just add target machinery to disable
local aliases on targets that can't do aliases. I hoped that the targets
either do not have runtime interposition in dynamic libraries or they do
have working notion of alias.
Thanks,
Honza
^ permalink raw reply [flat|nested] 15+ messages in thread
* [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]).
2013-09-05 23:24 [Bug ipa/58329] New: [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]) danglin at gcc dot gnu.org
` (2 preceding siblings ...)
2013-09-06 7:54 ` hubicka at ucw dot cz
@ 2013-09-06 10:40 ` hubicka at gcc dot gnu.org
2013-09-06 11:27 ` rguenth at gcc dot gnu.org
` (9 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: hubicka at gcc dot gnu.org @ 2013-09-06 10:40 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58329
--- Comment #4 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
*** Bug 58293 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 15+ messages in thread
* [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]).
2013-09-05 23:24 [Bug ipa/58329] New: [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]) danglin at gcc dot gnu.org
` (3 preceding siblings ...)
2013-09-06 10:40 ` hubicka at gcc dot gnu.org
@ 2013-09-06 11:27 ` rguenth at gcc dot gnu.org
2013-09-06 12:01 ` dave.anglin at bell dot net
` (8 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-09-06 11:27 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58329
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.9.0
^ permalink raw reply [flat|nested] 15+ messages in thread
* [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]).
2013-09-05 23:24 [Bug ipa/58329] New: [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]) danglin at gcc dot gnu.org
` (4 preceding siblings ...)
2013-09-06 11:27 ` rguenth at gcc dot gnu.org
@ 2013-09-06 12:01 ` dave.anglin at bell dot net
2013-09-06 12:05 ` hubicka at ucw dot cz
` (7 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: dave.anglin at bell dot net @ 2013-09-06 12:01 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58329
--- Comment #5 from dave.anglin at bell dot net ---
On 6-Sep-13, at 3:54 AM, hubicka at ucw dot cz wrote:
> I hoped that the targets
> either do not have runtime interposition in dynamic libraries or
> they do
> have working notion of alias.
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.
I will try to look at the testcase assembler code tonight.
Dave
--
John David Anglin dave.anglin@bell.net
^ permalink raw reply [flat|nested] 15+ messages in thread
* [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]).
2013-09-05 23:24 [Bug ipa/58329] New: [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]) danglin at gcc dot gnu.org
` (5 preceding siblings ...)
2013-09-06 12:01 ` dave.anglin at bell dot net
@ 2013-09-06 12:05 ` hubicka at ucw dot cz
2013-09-06 18:48 ` danglin at gcc dot gnu.org
` (6 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: hubicka at ucw dot cz @ 2013-09-06 12:05 UTC (permalink / raw)
To: gcc-bugs
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
^ permalink raw reply [flat|nested] 15+ messages in thread
* [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]).
2013-09-05 23:24 [Bug ipa/58329] New: [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]) danglin at gcc dot gnu.org
` (6 preceding siblings ...)
2013-09-06 12:05 ` hubicka at ucw dot cz
@ 2013-09-06 18:48 ` danglin at gcc dot gnu.org
2013-09-07 15:59 ` dave.anglin at bell dot net
` (5 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: danglin at gcc dot gnu.org @ 2013-09-06 18:48 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58329
--- Comment #8 from John David Anglin <danglin at gcc dot gnu.org> ---
Created attachment 30755
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30755&action=edit
Assembler output
^ permalink raw reply [flat|nested] 15+ messages in thread
* [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]).
2013-09-05 23:24 [Bug ipa/58329] New: [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]) danglin at gcc dot gnu.org
` (7 preceding siblings ...)
2013-09-06 18:48 ` danglin at gcc dot gnu.org
@ 2013-09-07 15:59 ` dave.anglin at bell dot net
2013-09-08 7:53 ` hubicka at gcc dot gnu.org
` (4 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: dave.anglin at bell dot net @ 2013-09-07 15:59 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58329
--- Comment #9 from dave.anglin at bell dot net ---
On 6-Sep-13, at 8:05 AM, hubicka at ucw dot cz wrote:
> 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.
The attached patch gets past the error. Testing.
Dave
--
John David Anglin dave.anglin@bell.net
^ permalink raw reply [flat|nested] 15+ messages in thread
* [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]).
2013-09-05 23:24 [Bug ipa/58329] New: [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]) danglin at gcc dot gnu.org
` (8 preceding siblings ...)
2013-09-07 15:59 ` dave.anglin at bell dot net
@ 2013-09-08 7:53 ` hubicka at gcc dot gnu.org
2013-09-17 15:46 ` hubicka at gcc dot gnu.org
` (3 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: hubicka at gcc dot gnu.org @ 2013-09-08 7:53 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58329
--- Comment #10 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
OK,
I made similar patch on trip to Pisa. I think correct is to return NULL and
make callers handle it - it does not make sense to consider non-local label to
be local alias. I will test it and commit
Honza
^ permalink raw reply [flat|nested] 15+ messages in thread
* [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]).
2013-09-05 23:24 [Bug ipa/58329] New: [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]) danglin at gcc dot gnu.org
` (9 preceding siblings ...)
2013-09-08 7:53 ` hubicka at gcc dot gnu.org
@ 2013-09-17 15:46 ` hubicka at gcc dot gnu.org
2013-09-17 16:07 ` hubicka at gcc dot gnu.org
` (2 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: hubicka at gcc dot gnu.org @ 2013-09-17 15:46 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58329
--- Comment #11 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Author: hubicka
Date: Tue Sep 17 15:46:06 2013
New Revision: 202657
URL: http://gcc.gnu.org/viewcvs?rev=202657&root=gcc&view=rev
Log:
PR middle-end/58329
* ipa-devirt.c (ipa_devirt): Be ready for symtab_nonoverwritable_alias
to return NULL.
* ipa.c (function_and_variable_visibility): Likewise.
* ipa-profile.c (ipa_profile): Likewise.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/ipa-devirt.c
trunk/gcc/ipa-profile.c
trunk/gcc/ipa.c
^ permalink raw reply [flat|nested] 15+ messages in thread
* [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]).
2013-09-05 23:24 [Bug ipa/58329] New: [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]) danglin at gcc dot gnu.org
` (10 preceding siblings ...)
2013-09-17 15:46 ` hubicka at gcc dot gnu.org
@ 2013-09-17 16:07 ` hubicka at gcc dot gnu.org
2013-09-17 16:36 ` hubicka at gcc dot gnu.org
2013-09-19 17:37 ` danglin at gcc dot gnu.org
13 siblings, 0 replies; 15+ messages in thread
From: hubicka at gcc dot gnu.org @ 2013-09-17 16:07 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58329
--- Comment #12 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Author: hubicka
Date: Tue Sep 17 16:07:21 2013
New Revision: 202658
URL: http://gcc.gnu.org/viewcvs?rev=202658&root=gcc&view=rev
Log:
PR middle-end/58329
* ipa-devirt.c (ipa_devirt): Be ready for symtab_nonoverwritable_alias
to return NULL.
* ipa.c (function_and_variable_visibility): Likewise.
* ipa-profile.c (ipa_profile): Likewise.
Modified:
trunk/gcc/symtab.c
^ permalink raw reply [flat|nested] 15+ messages in thread
* [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]).
2013-09-05 23:24 [Bug ipa/58329] New: [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]) danglin at gcc dot gnu.org
` (11 preceding siblings ...)
2013-09-17 16:07 ` hubicka at gcc dot gnu.org
@ 2013-09-17 16:36 ` hubicka at gcc dot gnu.org
2013-09-19 17:37 ` danglin at gcc dot gnu.org
13 siblings, 0 replies; 15+ messages in thread
From: hubicka at gcc dot gnu.org @ 2013-09-17 16:36 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58329
Jan Hubicka <hubicka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |WAITING
Last reconfirmed| |2013-09-17
Ever confirmed|0 |1
--- Comment #13 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
I hope the patch fixes the bootstrap failure. Can you, please, test?
^ permalink raw reply [flat|nested] 15+ messages in thread
* [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]).
2013-09-05 23:24 [Bug ipa/58329] New: [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]) danglin at gcc dot gnu.org
` (12 preceding siblings ...)
2013-09-17 16:36 ` hubicka at gcc dot gnu.org
@ 2013-09-19 17:37 ` danglin at gcc dot gnu.org
13 siblings, 0 replies; 15+ messages in thread
From: danglin at gcc dot gnu.org @ 2013-09-19 17:37 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58329
John David Anglin <danglin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |RESOLVED
Resolution|--- |FIXED
--- Comment #14 from John David Anglin <danglin at gcc dot gnu.org> ---
Thanks, fixed.
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2013-09-19 17:37 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-09-05 23:24 [Bug ipa/58329] New: [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]) danglin at gcc dot gnu.org
2013-09-05 23:31 ` [Bug ipa/58329] " hubicka at ucw dot cz
2013-09-05 23:39 ` dave.anglin at bell dot net
2013-09-06 7:54 ` hubicka at ucw dot cz
2013-09-06 10:40 ` hubicka at gcc dot gnu.org
2013-09-06 11:27 ` rguenth at gcc dot gnu.org
2013-09-06 12:01 ` dave.anglin at bell dot net
2013-09-06 12:05 ` hubicka at ucw dot cz
2013-09-06 18:48 ` danglin at gcc dot gnu.org
2013-09-07 15:59 ` dave.anglin at bell dot net
2013-09-08 7:53 ` hubicka at gcc dot gnu.org
2013-09-17 15:46 ` hubicka at gcc dot gnu.org
2013-09-17 16:07 ` hubicka at gcc dot gnu.org
2013-09-17 16:36 ` hubicka at gcc dot gnu.org
2013-09-19 17:37 ` danglin at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).