m68k floating point overwrites vector table

Nick Papadonis npapadon@yahoo.com
Fri Mar 16 10:25:00 GMT 2001


Not sure if this is a bug or not, but when compiling for
target=m68k-coff, my exception vector table is overwritten.

gcc 2.95.2
binutils 2.10.1
target=m68k-coff, MC68331

It looks like this is all happening in the software floating point
library.  I linked to $M68KPATH/lib/gcc-lib/m68k-coff/2.95.2/libgcc.a
when compiling for my target.

In the file gcc/config/m68k/lb1sf68.asm,
it appears something like:
ROUND_TO_NEAREST  = 0 | round result to nearest representable value
Was making a symbol ROUNDT_TO_NEARETST at addreess 0x0.

Changing all these assignments to the following seemed to solve the problem.
.set ROUND_TO_NEAREST  , 0 | round result to nearest representable value

My linker script:
SECTIONS
{
        . = 0x4000;
        .text : { *(.text) }
        . = 0x15000;
        .data : { *(.data) }
        .bss : { *(.bss) }
}

Anyone experience this problem and is this a bug?



More information about the Binutils mailing list