bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gold/12525] gold SEGV linking libgcc_s.so.1 on Solaris 11/x86


From: ro at CeBiTec dot Uni-Bielefeld.DE
Subject: [Bug gold/12525] gold SEGV linking libgcc_s.so.1 on Solaris 11/x86
Date: Mon, 14 Mar 2011 19:40:37 +0000

http://sourceware.org/bugzilla/show_bug.cgi?id=12525

--- Comment #24 from Rainer Orth <ro at CeBiTec dot Uni-Bielefeld.DE> 
2011-03-14 19:40:31 UTC ---
I've had a look at the two remaining errors (apart from not having
static system libs on newer Solaris releases):

gcctestdir/ld: internal error in override_version, at
/vol/gnu/src/binutils/binutils-hg/gold/resolve.cc:61
collect2: ld returned 1 exit status
make[3]: *** [weak_test] Error 1

This can be reproduced with

gold-2.21.51 -o weak_test /usr/lib/crt1.o weak_test.o -lc 
gold-2.21.51: internal error in override_version, at
/vol/gnu/src/binutils/binutils-hg/gold/resolve.cc:61

In override_version, I find:

  this->name_ = _iob
  this->version_ = SUNW_0.7
  version = SYSVABI_1.3

With pvs -dsvo /lib/libc.so.1, I find the following version info in libc:

/lib/libc.so.1 -        SUNW_0.7: _iob (960);
/lib/libc.so.1 -        SYSVABI_1.3: __iob (960);

and elfdump reveals a bit more about those symbols:

$ elfdump -s /lib/libc.so.1|grep _iob       
      [60]  0x00151818 0x000003c0  OBJT GLOB  D   40 .data          _iob
     [299]  0x00151818 0x000003c0  OBJT WEAK  D   41 .data          __iob

The other failure is

gcctestdir/ld: error: read-only segment has dynamic relocations
collect2: ld returned 1 exit status
make[3]: *** [two_file_shared_1_nonpic.so] Error 1

Can be reproduced with

gold-2.21.51 -G -z text -o two_file_shared_1_nonpic.so two_file_test_1.o
two_file_test_1b.o 
gold-2.21.51: error: read-only segment has dynamic relocations

I suspect this happens because (32-bit) Solaris 2/x86 creates non-PIC
code without -fpic/-fPIC.

If so, the FN_PTRS_IN_SO_WITHOUT_PIC test in gold/configure.ac would
have to be updated, perhaps with a real test instead of a hardcoded
target list?

Strangely, gld 2.21 can link those objects, while ld can not.

I'm attaching them for inspection.

    Rainer

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]