binutils/objcopy & ieee: illegal variable index
Herbert Thielen (hthielen@lucent.com)
Wed, 8 Oct 1997 19:32:18 +0200 (METDST)
Hi there,
I've built objcopy from binutils-2.8.1 with --target=m68k-coff. This
includes IEEE 695 support (principally), but doesn't work in my environment.
We're building our software here with MRI cross development tools; output
format is IEEE 695.
For debugging purposes I finally want to install GNU gdb with BDM support
for MC68332 on Linux/i386. As I'm currently having problems to get gdb
reading the binary (not really correct: I've got gdb reading it, but it
tells me "Symbol format `ieee' unknown."), I thought I quickly convert the
binary from IEEE 695 to coff which is proven to work with gdb (Thanks,
Gunter).
To get objcopy to read the MRI IEEE format at all I firstly had to patch
binutils-2.8.1/bfd/cpu-m68k.c so libbfd switches to target m68k when it
sees MRI's `CPU32' in the IEEE format.
Now objdump can read & disassemble the binary. Fine.
But objcopy had a segmentation violation when called with --debugging (what
I desperately need). Fixed this in binutils/ieee.c (uninitialized pointer
on the stack).
Now finally objcopy reads the binary but tells me:
$ ./objcopy --input-target=ieee --output-target=coff-m68k --verbose \
--debugging foo.ieee foo.coff
copy from foo.ieee(ieee) to foo.coff(coff-m68k)
foo.ieee: 0x9984: illegal variable index (0xd)
This error message comes from binutils/ieee.c, I think.
Is there anybody working with IEEE format and had similar problems? I can't
expend too much time for this project, so any help is appreciated.
Regards
Herbert.
--
Herbert Thielen
Lucent Technologies Network Systems Deutschland
FLI16, GSM BTS Application Software Development
Thurn-und-Taxis-Str. 10
90411 N"urnberg
GERMANY
Email hthielen@lucent.com
Phone +49 911 526 3259
Fax +49 911 526 2048