This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Bug in gas-970915 / solaris 2.5.1


This may be off-topic issue here, but since the bug is also
present in gas-970915, I thought to report it also here; you may
or may not do something about it.  I have got bitten this bug
with c++ shared modules with vtables.

I have already reported this to bug-gnu-utils.
---------------------------------------------------------------------------
Binutils 2.8.1 on sparc-sun-solaris2.5.1.

When compiling perl 5.004.04 with gcc & gas, and linking perl with
binutils 2.8.1, loading dynamic extensions does not work.  I have seen
the same problem with other programs also.

The problem occurs only if perl itself is linked with GNU ld,
how extension shared objects are built seems to be irrelevant.

By comparing `objdump -xT' outputs, the difference seems to be
the handling of DYNAMIC SYMBOL TABLE.

When linked with GNU ld, the output looks like:

SYMBOL TABLE:
...
000a73b0 g     O .bss	00000004 Perl_markstack_ptr
...

When linked with SUN ld, the output looks like:

SYMBOL TABLE:
...
000b33a8 g     O .bss	00000004 Perl_markstack_ptr
...

DYNAMIC SYMBOL TABLE:
...
000b33a8 g    DO .bss	00000004 Perl_markstack_ptr
...

i.e, GNU ld does not generate DYNAMIC SYMBOL TABLE entries for
symbols in .bss section.  This is the only difference I could find,
and I suspect it is the reason that it does not work.

I have tried this also with 970915 snapshort (from egcs project),
with same results.

Teemu


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]