This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: hpux64-hp-hpux11.00: .rela.opd problems


Apologies David,

I didn't make myself very clear.  I problem started because I have a
fairly simple program which runs fine when the shared library is created
with the HP linker but doesn't work (segfaults) when created with binutils
020624.

When I run the program under gdb-5.2 I am getting 

ralexand@styx 23:31:18 $gdb example.gnu
GNU gdb 5.2
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "hppa64-hp-hpux11.00"...
(gdb) run
Starting program: /home/ralexand/opd-bug/example.gnu 

Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()
(gdb) bt
#0  0x00000000 in ?? ()
warning: (Internal error: pc 0x800003ffff7e98e8 in read in psymtab, but not in symtab.)

#1  0x800003ffff7e98e8 in Mandel () at example1.c:4
warning: (Internal error: pc 0x800003ffff7e98e8 in read in psymtab, but not in symtab.)

warning: (Internal error: pc 0x800003ffff7e98e8 in read in psymtab, but not in symtab.)

warning: (Internal error: pc 0x800003ffff7e98e7 in read in psymtab, but not in symtab.)

warning: (Internal error: pc 0x800003ffff7e98e8 in read in psymtab, but not in symtab.)

#2  0x800003ffff7e98e8 in Mandel () at example1.c:4
warning: (Internal error: pc 0x800003ffff7e98e8 in read in psymtab, but not in symtab.)

...
#5  0x800003ffff7e98e8 in Mandel () at example1.c:4
warning: (Internal error: pc 0x800003ffff7e98e8 in read in psymtab, but not in symtab.)

Error accessing memory address 0xc14bc23f59e840c0: Bad address.

I've attached the example as a tar.bz2 file with the compiled files.
I hope this is okay.  The reason is was going down the route of .rela.opd
vs rela.dyn was because they were different I thought that could
have been the reason for the failure.

Many thanks

Ross


On Wed, 26 Jun 2002 13:56:05 -0400 (EDT)
"John David Anglin" <dave@hiauly1.hia.nrc.ca> wrote:

> > Currently (binutils-020624) puts EPLT relocations in .rela.dyn.  I can
> > change the emulation script to put
> > them in the .rela.opd but dld claims the shared library is not a valid load
> > module.
> 
> Yes.  I can see the problem that is causing the error if the emulation
> script is changed to put the EPLT into .rela.opd.  It's somewhat similar
> to the problem with _gp.
> 
> There are differences in the implementation between the HP linker and
> the GNU linker.  There is no point in changing the implementation if
> it is not causing a problem.  Can you provide an example or examples
> of the actual problem that you are experiencing.  Only then will we
> know what needs to be done.  As I noted previously, the test code that
> you provided runs ok with the EPLT relocs in rela.dyn on my machine
> and ldd doesn't say the library is invalid.  So, having the EPLT
> relocs in rela.dyn doesn't seem incompatible with the dynamic loader
> although there may be more complex situations where this does cause
> a problem.
> 
> Dave
> -- 
> J. David Anglin                                  dave.anglin@nrc.ca
> National Research Council of Canada              (613) 990-0752 (FAX: 952-6605)

Attachment: opd-bug.tar.bz2
Description: Binary data


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