www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/04/08/16:50:52

Sender: rich AT delorie DOT com
Message-ID: <38EF9229.30E7E79C@bigfoot.com>
Date: Sat, 08 Apr 2000 21:10:17 +0100
From: Richard Dawe <richdawe AT bigfoot DOT com>
X-Mailer: Mozilla 4.51 [en] (X11; I; Linux 2.2.14 i586)
X-Accept-Language: de,fr
MIME-Version: 1.0
To: DJGPP newsgroup <djgpp AT delorie DOT com>
CC: libsocket AT bigfoot DOT com
Subject: libsocket 0.7.4 beta 3 + patch & latest binutils
Reply-To: djgpp AT delorie DOT com

Hello.

It has come to my attention that libsocket 0.7.4 beta 3 + patch for gcc
2.95.2 will not compile with the latest binutils (2.9.5.1 beta). The
current solution is not to use this version of binutils, but revert to
binutils 2.8.1. I hope to produce a patch for this problem sometime this
weekend.

In the meantime, the following might fix the problem: an error is
generated when compiling the inline assembly because of the use of 'intb'.
The suffix 'b' apparently is not allowed on 'int'. The probable fix is to
change all occurrences of 'intb' to 'int' in the inline assembly. E.g. in
src/wsock/vxd.c:

__asm__ __volatile__ ("pushw   %%es            \n\
                       movw    %%di, %%es      \n\
                       intb    $0x2f           \n\
                       ^^^^ change this to 'int'
                       xorl    %%ecx, %%ecx    \n\
                       movw    %%es, %%cx      \n\
                       popw    %%es"
                      :"=c" (Entry[1]), "=D" (Entry[0])
                      :"a" (0x1684), "b" (ID), "D" (0)
);

I encountered this problem when I switched to cross-compiling with egcs on
Linux and this fix worked there [on the beta 4 development branch].

Thanks to those who drew my attention to this problem. I hope to fix it
soon. Bye,

-- 
Richard Dawe
richdawe AT bigfoot DOT com ICQ 47595498 http://www.bigfoot.com/~richdawe/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019