[parisc-linux] The compiler failed to link application, request for help

John David Anglin dave@hiauly1.hia.nrc.ca
Tue, 25 Jun 2002 12:24:13 -0400 (EDT)

> In trying to compile a utility here, I end up with a linker error:
> $ gcc -w -o pvmtalk pvmtalk.o dom_x.o usleep.o 
> -L/home/neuro/contrib/pvm3.3.11/lib/LINUX -lpvm3 -lgpvm3 
> -L/usr/X11R6/lib ../xvertext.5.0/libXrot.a -lX11 -lm
> /home/neuro/contrib/pvm3.3.11/lib/LINUX/libpvm3.a(lpvm.o): In function 
> `pvmbeatask':
> lpvm.o(.text+0x29cf): the use of `tmpnam' is dangerous, better use `mkstemp'
> /usr/bin/ld: can not size stub section: Bad value
> /usr/bin/ld: BFD 20020307 Debian/GNU Linux internal error, 
> aborting at ../../bfd/elf32-hppa.c line 4038 in elf32_hppa_relocate_section
> /usr/bin/ld: Please report this bug.
> collect2: ld returned 1 exit status
> We have gcc 3.0.4. The sources compile with just some warnings.
> Can someone offer any suggestion as to what this means and how we can 
> solve it?

Usually, in this type of error, there is a message just prior to the "size
stub section" message about a symbol that is too far to perform the required
relocation.  It may help to compile your objects with optimization (e.g, -O2)
and/or use the "-ffunction-sections" compilation option.  There is a bug in
gcc 3.0.4 regarding the type of branch used for long calls under hppa-linux.
This is fixed in 3.2, so as a last resort you might try building 3.2
(I would also use the current cvs source for binutils) and building
your package with it.

It's possible that your problem isn't the long call issue.  In that
case, you can try to debug it yourself or submit a report to the
binutils list.  However, there no longer is an active maintainer for
hppa problems since Alan Modra moved to ibm.

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