mirror of
https://github.com/netwide-assembler/nasm.git
synced 2025-01-18 16:25:05 +08:00
aa29b1d93f
emit_rex is supposed to write REX prefix into output stream if needed, but we happen to drop it off on a first write which breaks REX required instructions if TIMES directive is used. For example the code like | times 4 movq xmm11, xmm11 compiles into | 0000000000000000 <.text>: | 0: f3 45 0f 7e db movq %xmm11,%xmm11 | 5: f3 0f 7e db movq %xmm3,%xmm3 | 9: f3 0f 7e db movq %xmm3,%xmm3 | d: f3 0f 7e db movq %xmm3,%xmm3 instead of proper | 0000000000000000 <.text>: | 0: f3 45 0f 7e db movq %xmm11,%xmm11 | 5: f3 45 0f 7e db movq %xmm11,%xmm11 | a: f3 45 0f 7e db movq %xmm11,%xmm11 | f: f3 45 0f 7e db movq %xmm11,%xmm11 http://bugzilla.nasm.us/show_bug.cgi?id=3392278 Reported-by: Javier <elpochodelagente@gmail.com> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com> |
||
---|---|---|
contrib | ||
doc | ||
headers | ||
inttypes | ||
lib | ||
macros | ||
misc | ||
Mkfiles | ||
nsis | ||
output | ||
perllib | ||
rdoff | ||
test | ||
.gitignore | ||
aclocal.m4 | ||
assemble.c | ||
assemble.h | ||
AUTHORS | ||
autogen.sh | ||
ChangeLog | ||
CHANGES | ||
compiler.h | ||
configure.in | ||
crc64.c | ||
directiv.dat | ||
directiv.pl | ||
disasm.c | ||
disasm.h | ||
disp8.c | ||
disp8.h | ||
eval.c | ||
eval.h | ||
exprlib.c | ||
float.c | ||
float.h | ||
hashtbl.c | ||
hashtbl.h | ||
iflag.h | ||
ilog2.c | ||
insns-iflags.pl | ||
insns.dat | ||
insns.h | ||
insns.pl | ||
INSTALL | ||
install-sh | ||
labels.c | ||
labels.h | ||
LICENSE | ||
listing.c | ||
listing.h | ||
macros.pl | ||
Makefile.in | ||
mkdep.pl | ||
nasm.c | ||
nasm.h | ||
nasm.nsi | ||
nasm.spec.in | ||
nasm.txt | ||
nasmlib.c | ||
nasmlib.h | ||
ndisasm.c | ||
ndisasm.txt | ||
opflags.h | ||
parser.c | ||
parser.h | ||
phash.pl | ||
pptok.dat | ||
pptok.pl | ||
preproc-nop.c | ||
preproc.c | ||
preproc.h | ||
quote.c | ||
quote.h | ||
raa.c | ||
raa.h | ||
rbtree.c | ||
rbtree.h | ||
README | ||
regs.dat | ||
regs.pl | ||
saa.c | ||
saa.h | ||
standard.mac | ||
stdscan.c | ||
stdscan.h | ||
strfunc.c | ||
SubmittingPatches | ||
sync.c | ||
sync.h | ||
syncfiles.pl | ||
tables.h | ||
TODO | ||
tokens.dat | ||
tokhash.pl | ||
ver.c | ||
version | ||
version.pl |
NASM, the Netwide Assembler. Many many developers all over the net respect NASM for what it is - a widespread (thus netwide), portable (thus netwide!), very flexible and mature assembler tool with support for many output formats (thus netwide!!). Now we have good news for you: NASM is licensed under the "simplified" (2-clause) BSD license. This means its development is open to even wider society of programmers wishing to improve their lovely assembler. The NASM project is now situated at SourceForge.net, the most popular Open Source development site on the Internet. Visit our website at http://nasm.sourceforge.net/ and our SourceForge project at http://sourceforge.net/projects/nasm/ See the file CHANGES for the description of changes between revisions, and the file AUTHORS for a list of contributors. With best regards, NASM crew.