binutils/objcopy & ieee: illegal variable index

Herbert Thielen
Wed Oct 8 12:46:00 GMT 1997

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,

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.coff
copy from to foo.coff(coff-m68k) 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.

Herbert Thielen
Lucent Technologies Network Systems Deutschland
FLI16, GSM BTS Application Software Development
Thurn-und-Taxis-Str. 10
90411 N"urnberg
Phone   +49 911 526 3259
Fax     +49 911 526 2048

More information about the crossgcc mailing list