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

Re: [parisc-linux] Re: gcj can't make shared libs on hppa

> Right, it's a linker bug.  The following plabel is dropped from the
> shared library.
> 0000000c R_PARISC_PLABEL32  .L_ZN2A1C1Ev0

I was too hasty in calling this a linker bug.  We end up with the
following relocations in the shared library as a result of the above
relocation in the object file:

00010f34 R_PARISC_PLABEL32  *ABS*+0x00010f46
00010f44 R_PARISC_IPLT     *ABS*+0x000009a8

The reason for the segmentation fault is the R_PARISC_IPLT isn't
being handled correctly and the indirect call to the constructor
for the library branches to the wrong location.

Carlos, do you have an opinion on how plabels that reference local
symbols in shared libraries should be handled?  This is what we have
in the A1.s file for .L_ZN2A1C1Ev0:

        .word   P%.L_ZN2A1C1Ev0
        .set    .L_ZN2A1C1Ev0,_ZN2A1C1Ev

J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)

Reply to: