Go to file
Delan Azabani 5b730a197a out: maco64 -- Fix erroneously small write for OUT_REL4ADR
Ensure that the int64_t offset value, which ultimately comes from an
int64_t value in gencode() (assemble.c:1906), is completely written to
the temporary buffer, instead of merely its least significant 32 bits.

Prior to this change, WRITELONG was used instead of WRITEDLONG, which
resulted in add_reloc being passed an int64_t "reloff" whose least
significant 32 bits were those from the aforementioned offset value,
and whose most significant 32 bits were stack garbage from "mydata".

This led to get_closest_section_symbol_by_offset() attempting to search
for extremely large values of "offset" among the symbols in "syms",
which meant that the last symbol with a matching section number would
always win the symbol search.

In effect, this clobbered the resultant relocation information, such
that all entries would be resolved with the same symbol.

Test output can be found here

https://www.azabani.com/patch/2/output.txt

This patch fixes

http://bugzilla.nasm.us/show_bug.cgi?id=3392306

Signed-off-by: Delan Azabani <delan@azabani.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2015-06-02 13:22:32 +03:00
contrib
doc doc: typo occationally 2015-05-24 12:59:11 +03:00
headers
inttypes
lib
macros
misc debug: Drop LOGALLOC usage 2014-05-09 22:22:34 +04:00
Mkfiles Run "make alldeps" to add missing header file dependencies 2014-11-25 12:14:52 -08:00
nsis
output out: maco64 -- Fix erroneously small write for OUT_REL4ADR 2015-06-02 13:22:32 +03:00
perllib
rdoff rdoff/ldrdf.c: Add option to specify target RDF module name in command line 2015-01-20 23:38:52 +02:00
test Merge branch 'nasm-2.11.xx' 2014-05-21 08:30:40 -07:00
.gitignore iflag: Fix dependencies, factor out static components of iflag.h 2013-11-24 11:13:10 -08:00
aclocal.m4
assemble.c Sync to public Intel EAS version 021. 2014-10-16 16:31:31 -07:00
assemble.h iflag: Start using new instruction flags engine 2013-11-24 13:20:59 +04:00
AUTHORS Correct name spelling and email address 2015-01-18 20:21:14 +02:00
autogen.sh
ChangeLog
CHANGES
compiler.h compiler: Fix typo for HAVE__VSNPRINTF 2014-11-26 10:44:19 +03:00
configure.in configure.in: Move AC_C_INLINE and friends to be checked before PA_ADD_CFLAGS 2014-12-20 11:35:51 +03:00
crc64.c Add missing header file in crc64.c 2014-11-25 12:14:52 -08:00
directiv.dat
directiv.pl
disasm.c disasm: Add explicit type conversion to placate compiler 2014-12-20 11:40:36 +03:00
disasm.h iflag: Start using new instruction flags engine 2013-11-24 13:20:59 +04:00
disp8.c disp8: Consolidate a logic to get compressed displacement 2013-11-20 15:40:55 -08:00
disp8.h disp8: Consolidate a logic to get compressed displacement 2013-11-20 15:40:55 -08:00
eval.c mib: Handle MIB EA in a different way from regular EA's 2013-12-11 16:56:19 -08:00
eval.h
exprlib.c
float.c
float.h
hashtbl.c
hashtbl.h
iflag.h iflag: Don't use c99 array initialization 2013-12-10 11:10:19 +04:00
ilog2.c
insns-iflags.pl Sync to public Intel EAS version 021. 2014-10-16 16:31:31 -07:00
insns.dat insns.dat: Fix 256-bit vmovntps 2014-11-30 00:21:17 +03:00
insns.h iflag: Start using new instruction flags engine 2013-11-24 13:20:59 +04:00
insns.pl insns: Move 'np' mnemonic into @plain_codes 2014-08-25 20:04:30 +04:00
INSTALL
install-sh
labels.c Add missing header file in labels.c 2014-11-25 12:14:52 -08:00
labels.h
LICENSE
listing.c listing: handle negative (signed) address size values 2013-11-26 18:22:45 -08:00
listing.h
macros.pl macros.pl: Remove superfluous whitespace 2013-10-19 12:20:28 -07:00
Makefile.in Run "make alldeps" to add missing header file dependencies 2014-11-25 12:14:52 -08:00
mkdep.pl
nasm.c Change posix_mktime() to make_posix_time() 2015-01-05 15:17:56 -08:00
nasm.h Sync to public Intel EAS version 021. 2014-10-16 16:31:31 -07:00
nasm.nsi
nasm.spec.in
nasm.txt
nasmlib.c nasmlib: Fix typo in fwriteint32_t() 2014-11-25 09:44:00 -08:00
nasmlib.h Replace unchecked fwrite() calls 2014-10-21 12:50:47 -07:00
ndisasm.c debug: Drop LOGALLOC usage 2014-05-09 22:22:34 +04:00
ndisasm.txt
opflags.h Remove "high 16" register class macros for xmm/ymm/zmm 2013-11-28 11:35:34 -08:00
parser.c parser: Check for eval error before memory reference parsing 2014-11-22 18:20:29 +03:00
parser.h
phash.pl
pptok.dat
pptok.pl
preproc-nop.c
preproc.c preproc: Warn if someone predefines non ID as definition 2015-02-08 11:07:17 +03:00
preproc.h
quote.c quote: Fix returning out of string pointer, take 2 2014-12-20 15:07:39 +03:00
quote.h
raa.c
raa.h
rbtree.c
rbtree.h
README
regs.dat Remove "high 16" register class macros for xmm/ymm/zmm 2013-11-28 11:35:34 -08:00
regs.pl AVX-512: Add support for parsing braces 2013-08-06 09:37:52 +04:00
saa.c Replace unchecked fwrite() calls 2014-10-21 12:50:47 -07:00
saa.h
standard.mac bnd: Add a new nobnd prefix 2013-12-04 20:10:08 -08:00
stdscan.c stdscan: Rework curly brace parsing routines 2013-11-27 15:43:33 -08:00
stdscan.h
strfunc.c strfunc: Tabs to spaces conversion 2013-09-21 13:14:15 +04:00
SubmittingPatches
sync.c
sync.h
syncfiles.pl
tables.h AVX-512: Fix instruction match function 2013-08-22 19:37:37 +04:00
TODO
tokens.dat Sync to public Intel EAS version 021. 2014-10-16 16:31:31 -07:00
tokhash.pl Add missing prototype in tokhash.c (from tokhash.pl) 2014-11-25 12:14:52 -08:00
ver.c
version version: Fix the tag 2015-02-23 12:04:39 +03:00
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.