Problem Building L4ENV for L4Linux 2.6.10

Adam Lackorzynski adam at
Mon Feb 28 23:04:23 CET 2005

On Mon Feb 28, 2005 at 11:18:10 -0800, Dennis Newbold wrote:
> gcc -c -o i16_real_int.o -MD -DHAVE_CONFIG_H  -DOSKIT_X86
> -DOSKIT_X86_PC -I. -I../kern/x86 -I../kern/x86/pc -I../kern/x86/dos
> -I../kern/x86/i16 -I../kern/x86/pc/i16 -I../kern/x86/dos/i16 -I../kern
> -I- -I../oskit/c -I.. -I.. -nostdinc -D_GNU_SOURCE -DASSEMBLER  -MD
> ../kern/x86/pc/i16/i16_real_int.S
> ../kern/x86/pc/i16/i16_real_int.S: Assembler messages:
> ../kern/x86/pc/i16/i16_real_int.S:64: Error: bad expression
> ../kern/x86/pc/i16/i16_real_int.S:64: Error: junk `1-0x00000200' after
> expression
> I am using Fedora Core 2 Linux.  The following is the output from
> "cat /etc/fedora-release":  Fedora Core release 2 (Tettnang)

Oh well. I just even tried binutils CVS from today and it got it right,
I don't know why FC gets this wrong, this is just annoying. Anyway, I
just comitted this, as I'm tired of replying to this FC stuff.
I hope it works, obviously I cannot reproduce it.

Index: i16_real_int.S
RCS file: /home/cvs/oskit10/kern/x86/pc/i16/i16_real_int.S,v
retrieving revision
diff -u -r1.1.1.3 i16_real_int.S
--- i16_real_int.S	6 Sep 2000 13:33:23 -0000
+++ i16_real_int.S	28 Feb 2005 21:49:31 -0000
@@ -61,7 +61,9 @@
 ADDR32	movl	TR_EDI(%ebp),%edi
 ADDR32	movw	TR_V86_DS(%ebp),%ds
 ADDR32	movw	TR_V86_ES(%ebp),%es
-ADDR32	andl	$-1-EFL_IF,TR_EFLAGS(%ebp)	/* mustn't enable interrupts */
+/* some distributions have some weird binutils version, hard code constant */
+/*ADDR32 andl	$-1-EFL_IF,TR_EFLAGS(%ebp)*/	/* mustn't enable interrupts */
+ADDR32	andl	$0xfffffdff,TR_EFLAGS(%ebp)	/* mustn't enable interrupts */
 ADDR32	pushl	TR_EFLAGS(%ebp)
 ADDR32	movl	TR_EBP(%ebp),%ebp

> At the time I did all of these things, I was logged in as root, with
> root privileges.

So, any reason why you like shooting yourself in the foot? ;)

Adam                 adam at

More information about the l4-hackers mailing list