asmtest: avoid testing against complex nop alignment in gas
commit6839382480b86362a3dc2807bac7e4bc5d7ef469
authorJoe Soroka <gits@joesoroka.com>
Mon, 24 Jan 2011 00:46:24 +0000 (23 16:46 -0800)
committerJoe Soroka <gits@joesoroka.com>
Mon, 24 Jan 2011 00:46:24 +0000 (23 16:46 -0800)
tree23b20385b1f583e4a278f05b247189aa8bdfcf19
parent2047f88334f3547b2579e368448ec6c81fd02a83
asmtest: avoid testing against complex nop alignment in gas

.align #,0x90 in gas ignores the 0x90 and outputs any kind
of nop it feels like.  the one avoided by this patch is a 7
byte nop, which gas has been doing since at least 1999:
http://sourceware.org/ml/binutils/1999-10/msg00083.html

In order to match what gas does, we would need to make
code alignment target-specific, import a lot of code, and
face the question: exactly which gas {version,target,tune}
combo are we trying to match?  see i386_align_code in:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/config/tc-i386.c?annotate=1.460&cvsroot=src

The smart noppery is turned on via the special casing of 0x90
at line 438 in md_do_align in:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gas/config/tc-i386.h?annotate=1.1&cvsroot=src
tests/asmtest.S