From mboxrd@z Thu Jan 1 00:00:00 1970 From: hjl@nynexst.com (H.J. Lu) To: ian@cygnus.com (Ian Lance Taylor), gas2@cygnus.com Subject: Patches for i386.h in the gas snapshot Date: Mon, 06 Mar 1995 06:15:00 -0000 Message-id: <9503050450.AA09502@titanic.nynexst.com> X-SW-Source: 1995/msg00042.html Hi, Does it look ok? H.J. ----- Forwarded message: >From owner-gcc@vger.rutgers.edu Tue Feb 28 02:37:11 1995 Message-Id: From: alan@spri.levels.unisa.edu.au (Alan Modra) Subject: Re: The new x86 gas in binutils. To: hjl@nynexst.com (H.J. Lu) Date: Tue, 28 Feb 1995 17:32:15 +1030 (CST) Cc: raeburn@cygnus.com (Ken Raeburn), linux-gcc@vger.rutgers.edu In-Reply-To: < 9502280612.AA18703@titanic.nynexst.com > from "H.J. Lu" at Feb 28, 95 01:18:13 am X-Mailer: ELM [version 2.4 PL23] Content-Type: text Content-Length: 1831 Sender: owner-gcc@vger.rutgers.edu Precedence: bulk > > Hi, > > I have been trying to compile the new binutils snapshot under Linux > for a while now. I am usung gas-950222. I have found the following > things: > > 1. Some 16 bit supports were added to the binutils. Some assembly > codes in the Linux C library had to be modified to assembler. > One example is I had to change "popfl" to just "popf". There > may be more in the Linux kernel code. I am not sure if that is > a feature or a bug :-(. Try the following. It fixes the push/pop problem. diff -ur gas-950214/include/opcode/i386.h ./include/opcode/i386.h --- gas-950214/include/opcode/i386.h Thu Feb 16 09:58:43 1995 +++ ./include/opcode/i386.h Wed Feb 15 14:09:09 1995 @@ -99,10 +99,12 @@ {"cmc", 0, 0xf5, _, NoModrm, { 0, 0, 0} }, {"lahf", 0, 0x9f, _, NoModrm, { 0, 0, 0} }, {"sahf", 0, 0x9e, _, NoModrm, { 0, 0, 0} }, -{"pushf", 0, 0x9c, _, NoModrm|Data32, { 0, 0, 0} }, -{"popf", 0, 0x9d, _, NoModrm|Data32, { 0, 0, 0} }, +{"pushfl", 0, 0x9c, _, NoModrm|Data32, { 0, 0, 0} }, +{"popfl", 0, 0x9d, _, NoModrm|Data32, { 0, 0, 0} }, {"pushfw", 0, 0x9c, _, NoModrm|Data16, { 0, 0, 0} }, {"popfw", 0, 0x9d, _, NoModrm|Data16, { 0, 0, 0} }, +{"pushf", 0, 0x9c, _, NoModrm, { 0, 0, 0} }, +{"popf", 0, 0x9d, _, NoModrm, { 0, 0, 0} }, {"stc", 0, 0xf9, _, NoModrm, { 0, 0, 0} }, {"std", 0, 0xfd, _, NoModrm, { 0, 0, 0} }, {"sti", 0, 0xfb, _, NoModrm, { 0, 0, 0} }, > 2. The new binutils are very unstable for ELF with PIC. I couldn't > use gas/ld in gas-950222 to make a shared Linux C library in > ELF. I had to go back to my private version, 2.5.2.7. > > I am afraid the current new binutils are not usable for Linux and > once when they get fixed some asm code in the Linux kernel may > have to be modified. > > > > -- > H.J. Lu > NYNEX Science and Technology, Inc. hjl@nynexst.com > -- H.J. Lu NYNEX Science and Technology, Inc. hjl@nynexst.com