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).