[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- Date: 29 Sep 1998 17:48:16 -0400
- From: ian at airs.com (ian at airs.com)
- Subject: i386ex question
From: joel at oarcorp.com
Date: Mon, 21 Sep 1998 10:52:35 -0500 (CDT)
Unfortunately, this seems like a job for autoconf. Comments on how to
handle this appreciated.
On Mon, 21 Sep 1998, erik.ivanenko wrote:
> joel at OARcorp.com wrote:
> > Does this mean that this BSP will not compile with binutils 2.9.1?
> > ibbsp/i386/i386ex/start -DASM - >o-i386ex/start.i
> > /home/joel/egcs-1.0.3-binutils-2.9.1-newlib-1.8.0/i386-rtems/i386-rtems/bin/as
> > -o o-i386ex/start.o o-i386ex/start.i
> > o-i386ex/start.i: Assembler messages:
> > o-i386ex/start.i:1031: Error: no such 386 instruction: `data32'
> > o-i386ex/start.i:1032: Error: no such 386 instruction: `addr32'
> There is a #define embedded in start.s, #define NEXT_GAS. It must be undefined
> when using any binutils older that version 18.104.22.168.7. I am using 22.214.171.124, so I
> need that symbol #define'd. The code has not been compiled and tested for
> anything older that 126.96.36.199.10.
> The use of 188.8.131.52 was suggested by E. Valette since the assembler "handles
> real-mode better".
Yes, the i386 gas 16 bit mode support has improved a great deal over
the last few months, thanks mainly to contributions from Alan Modra
and some work by Martynas Kunigelis. Unfortunately, this does cause
problem for existing code which I guess sort of worked with the old
I'm not completely up on i386 details, but my impression is that the
instruction you really want here is
data32 addr32 lgdt gdtptr - start16
An autoconf test to see whether this works is
AC_TRY_COMPILE(,[asm(".code16; data32 addr32 lgdt 0; .code32");],