Bug#880627: polyml: FTBFS on hppa - error linking poly
Alan Modra
amodra at gmail.com
Thu Nov 2 23:40:25 UTC 2017
Source: polyml
Version: 5.7
Severity: normal
On Thu, Nov 02, 2017 at 08:47:30AM -0400, John David Anglin wrote:
> On 2017-11-02, at 3:59 AM, Alan Modra wrote:
> > Even when this has been worked around by the binutils change, polyml
> > still fails to build.
> >
> > echo "use \"/home/amodra/src/polyml/modules/IntInfAsInt/ROOT.sml\";" |
> > ../../poly -q -error-exit
> > Segmentation fault
>
> I'm not seeing this fault. I just redid a polyml build with virgin source and I didn't see the segmentation fault.
>
> gcc version 7.2.1 20171025 (Debian 7.2.0-12)
>
> dave at mx3210:~/debian/polyml/polyml-5.7$ as --version
> GNU assembler (GNU Binutils) 2.29.51.20171031
>
> Binutils was trunk with your elf32-hppa.c patch.
Yes, but that patch hasn't been committed yet. What's more,
binutils-2.28 and binutils-2.29 both fail with a segfault (after
working around the OS/ABI problem). I suspect older binutils will
show the same thing.
In one of my earlier emails to you Dave, I misdiagnosed the segfault
as being due to binutils commit d336fa6d82. That wasn't true.
> > Some debugging shows this is due to a NULL function pointer, traceable
> > back to this relocation in polyexport.o
> >
> > 00000134 00001301 R_PARISC_DIR32 00000000 PolyProcessEnvGeneral + 0
> >
> > That's also an ABI violation. Function pointers on hppa32 require
> > plabel relocations.
>
> No, that's not correct. Calls using function pointers are done using $$dyncall or equivalent. It checks
> the plabel bit to determine whether or not the call is direct or via an function descriptor. Direct calls
> work when a new PIC register value isn't needed.
I'll defer to you on whether it is an ABI violation. It's been quite
a while since I've done any serious parisc work.. The fact remains
that this part of the ABI isn't currently supported by any released
binutils as far as I know.
--
Alan Modra
Australia Development Lab, IBM
More information about the debian-science-maintainers
mailing list