>>>>> "UC" == Ulf Carlsson <ulfc@calypso.engr.sgi.com> writes:
UC> You could try my superpatch that I have on oss.sgi.com. It's a
UC> newer than Ralf's patch that you have:
UC>
UC> ftp://oss.sgi.com/pub/linux/mips/src/binutils/binutils-000424.diff.gz
I forward ported your patch to binutils-000524 since I could not get
my hands on 000524.
$ /../mips-000524/gas/as-new -64 -mips3 -non_shared crt0s.s -o crt0s.o
crt0s.s: Assembler messages:
crt0s.s:7: Internal error, aborting at
/../binutils-000524/gas/config/tc-mips.c line 4364 in macro
Please report this bug.
The line may not match because of the different base snapshot but it
certainly comes from line 1427 of the patch.
If I add a -G 0 (which is how I normaly build anyway) then the assembler
does not complain.
However, my relocations seem messed up! objdump fails reading them,
IRIX elfdump seems confused though readelf seems to handle it fine.
Here is the source again:
.text
.align 4
.ent _start , 0
.globl _start
_start:
dla $sp, kernelInfoLocal
ld $sp, 0($sp)
daddu $sp, $sp, 0x6000
dla $25, crtInit
j $25
# NOTREACHED
j $31
.end _start
An interesing item (but may be a red herring) is that IRIX as(1) places
R_MIPS_LO16 relocations int the .rel.text section, and gas(1) places
them (an all relocations) in .rela.text
I'm assuming that if objdump can't read my .o's then the gld(1)
probably can't either. Does that make sense?
Any ideas?
-Jimi X
|