mips: genmongoosev/start/start.S
Bill Gatliff
bgat at billgatliff.com
Wed Sep 10 15:52:44 UTC 2003
Greg:
I'm not a MIPS guru (yet!), but I'm thinking that some of the MIPS
macros come from include files. Could this be a case of a missing
.include directive, or a missing macro definition that used to be there?
b.g.
gregory.menke at gsfc.nasa.gov wrote:
>Ralf Corsepius writes:
> > On Wed, 2003-09-10 at 15:28, Bill Gatliff wrote:
> > > Ralf:
> > >
> > >
> > > What do you see when you run objdump --disassemble on the
> > > binutils-2.13.2.1-generated mipsbug.o?
> >
> > # cat mipsbug.s
> > sw $8,0xfffe0130
> >
> > # mips-rtems4.6-as -G0 -EB -mips1 -g0 -32 -v -o mipsbug.o mipsbug.s
> > GNU assembler version 2.13.2.1 (mips-rtems4.6) using BFD version 2.13.2.1
> >
> > # mips-rtems4.6-objdump --disassemble mipsbug.o
> >
> > mipsbug.o: file format elf32-bigmips
> >
> > Disassembly of section .text:
> >
> > 00000000 <.text>:
> > 0: 3c01fffe lui at,0xfffe
> > 4: ac280130 sw t0,304(at)
> >
>
>This is and example of correct behavior. The sw works via a
>displacement from a selected base register, in this case 304 bytes
>past whatever the at register is set too. I think the error is
>happening because the new binutils isn't taking the single sw
>instruction and interpreting it in the macro form. There are a bunch
>of mips instructions that are macro's in gas but turn into lower level
>instructions in the output.
>
>There is a gas directive "set noat", which disables the automatic use
>of at. If it changed from on by default to off, it might cause such
>an error, but it seems as if gas just isn't treating the instruction
>as a macro.
>
>Gregm
>
>
>
--
Bill Gatliff
Professional embedded GNU training.
bgat at billgatliff.com
More information about the users
mailing list