This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Not linking 32-bit and 64-bit objects
On Tue, Mar 12, 2002 at 03:58:04PM +0100, Andreas Jaeger wrote:
> Jakub Jelinek <jakub@redhat.com> writes:
>
> > On Tue, Mar 12, 2002 at 03:48:18PM +0100, Martin Schwidefsky wrote:
> >>
> >> >> On Tue, Mar 12, 2002 at 11:40:18PM +1030, Alan Modra wrote:
> >> >> : On Tue, Mar 12, 2002 at 01:20:38PM +0100, Andreas Jaeger wrote:
> >> >> : > * cpu-i386.c (i386_compatible): New. Use it instead of
> >> >> : > bfd_default_compatible.
> >> >> :
> >> >> : OK.
> >> >>
> >> >> Alan, this seems to be a problem with ppc32 and ppc64 as well.
> >> >> Do we need the same fix???
> >> >
> >> >Other 64-bit platforms might want this also. Martin, what about S390?
> >>
> >> Yes we want that for s390/s390x as well.
> >
> > And for sparc/sparc64 too :).
>
> I copied the code from Sparc so you have it already for some time;-).
> If it's not working, I would be really suprised.
It is not working properly.
It gives an error message, but then crashes anyway, e.g.:
$ gcc -m64 -c helloworld.c
$ gcc -o helloworld helloworld.o
/usr/bin/ld: warning: sparc:v9 architecture of input file `helloworld.o' is incompatible with sparc output
/usr/bin/ld: BFD 2.11.93.0.2 20020207 assertion fail elflink.h:2817
helloworld.o: In function `main':
helloworld.o(.text+0x0): relocation truncated to fit: R_SPARC_DISP8 *UND*
collect2: ld returned 1 exit status
$ gcc -c helloworld.c
$ gcc -m64 -o helloworld helloworld.o
collect2: ld terminated with signal 11 [Segmentation fault], core dumped
/usr/bin/ld: warning: sparc architecture of input file `helloworld.o' is incompatible with sparc:v9 output
/usr/bin/ld: helloworld.o: invalid string offset 6841708 >= 47 for section `.strtab'
Jakub