This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
Re: i386 "andl $65535,%eax" problem
- To: alan at linuxcare dot com dot au, philip dot blundell at pobox dot com
- Subject: Re: i386 "andl $65535,%eax" problem
- From: Ian Lance Taylor <ian at zembu dot com>
- Date: 3 Apr 2000 09:06:45 -0700
- CC: binutils at sourceware dot cygnus dot com
- References: <Pine.LNX.4.21.0004032118590.21129-100000@front.linuxcare.com.au>
Date: Mon, 3 Apr 2000 21:40:37 +1000 (EST)
From: Alan Modra <alan@linuxcare.com.au>
The fix wasn't too bad after all. BTW, this bug would only bite if
a) in .code16 (or .code16gcc) mode and
b) assembling a 32-bit instruction with an inferred operand size prefix,
c) with an immediate in the range 0xff80 to 0xffff.
ie. You won't hit this one with normal gcc output.
gas/ChangeLog
* config/tc-i386.c (i386_immediate): Don't assume a constant
immediate is necessarily 16 bits when in 16 bit code mode.
(md_assemble): Instead set guess_suffix here after we have checked
registers.
This is a bug fix which should presumably go into the 2.10 branch.
Philip, what policy do you want to follow for that? Are you going to
watch binutils-cvs and pick up patches for the branch? Or would you
like contributors to move patches over to the branch themselves?
Ian