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

--- Comment #7 from dave.anglin at bell dot net ---
On 2017-12-18 2:48 PM, rguenther at suse dot de wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83452
>
> --- Comment #6 from rguenther at suse dot de <rguenther at suse dot de> ---
> On December 18, 2017 7:38:17 PM GMT+01:00, "dave.anglin at bell dot net"
> <gcc-bugzi...@gcc.gnu.org> wrote:
>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83452
>>
>> --- Comment #5 from dave.anglin at bell dot net ---
>> On 2017-12-18 10:37 AM, rguenth at gcc dot gnu.org wrote:
>>> Can you check if the attached helps?  It makes those local symbols
>> defined
>>> instead
>>> (in the very first section we preserve, retaining the NULL name).
>> The patch helps significantly.  However, the final link fails with the
>> message:
>>
>> ld: Unsatisfied hidden symbol "gnu_lto_v1". Symbol was referenced from
>> file /var/tmp//ccG1CcR8debugobj
>> 1 errors.
>> collect2: fatal error: ld returned 1 exit status
>>
>> HP linker doesn't like undefined weak symbols.
> Hmm, that sounds like a bug in the HP linker. I guess there's no chance of
> getting Bugfixes for hpux issues?
Nope.  It's a long standing issue.  There is a ld option, 
"+allowunsats", but the dynamic linker
will generate an error if the symbol isn't resolved at runtime.
>
> This was changed for the Solaris linker BTW. Which didn't like UNDEF globals
> that cannot be resolved. Using weak should in theory work...
If gcc doesn't want to keep this symbol, maybe I can define it in 
libgcc.  We have a collection
of nop routines in libgcc_stub.a to provide definitions for various weak 
undefined functions.

>
>> Symbol was defined in save_6.s as follows:
>>
>>          .section        .bss
>> __gnu_lto_v1    .comm 1
>>          .ident  "GCC: (GNU) 8.0.0 20171215 (experimental) [trunk
>> revision 255670]"
>>
>> It's not defined in save_6.exe.ltrans0.s.

Reply via email to