nasm/test
H. Peter Anvin b2004511dd ELF: handle more than 32,633 sections
Dead code elimination in ELF uses separate ELF sections for every
functions or data items that may be garbage collected. This can end up
being more than 32,633 sections which, when the ELF internal and
relocation sections are added in, can exceed the legacy ELF maximum of
65,279 sections.

Newer versions of the ELF specification has added support for much
larger number of sections by putting a place holder value (usually
SHN_XINDEX == 0xffff, but 0 in some cases) into fields where the
section index is a 16-bit value, and storing the full value in a
diffent place: the program header uses entries in section header 0,
the symbol table uses an auxiliary segment with the additional
indicies; the section header did not need it as the sh_link field is
already 32 (or 64) bits long.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2019-02-26 00:02:35 -08:00
..
perf Simple performance benchmarks: label, macro and token lookups 2007-09-13 18:13:20 -07:00
_file_.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
_version.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
a32offs.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
absolute.asm test: make absolute.asm buildable even when not in binary mode 2018-06-25 13:24:51 -07:00
addr64x.asm Update test files 2009-11-11 08:09:03 +01:00
align13.asm More tests automation 2010-09-30 22:10:34 +04:00
align13s.asm More tests automation 2010-09-30 22:10:34 +04:00
alonesym-obj.asm More tests automation 2010-09-30 22:10:34 +04:00
andbyte.asm Test for BR 2172659 2008-10-16 13:03:40 -07:00
aoutso.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
aouttest.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
aouttest.c General push for x86-64 support, dubbed 0.99.00. 2007-04-12 02:40:54 +00:00
avx.asm test/avx: remove deleted instructions 2010-08-16 15:23:16 -07:00
avx2.asm Add AVX2 test file 2011-08-31 01:22:43 +04:00
avx005.asm Add test from BR 2690688 2009-03-17 16:18:41 -07:00
avx512cd.asm testcase: Remove escape characters - '\' 2013-11-27 21:01:01 -08:00
avx512er.asm testcase: Remove escape characters - '\' 2013-11-27 21:01:01 -08:00
avx512f.asm testcase: Remove escape characters - '\' 2013-11-27 21:01:01 -08:00
avx512pf.asm testcase: Remove escape characters - '\' 2013-11-27 21:01:01 -08:00
bcd.asm More tests automation 2010-09-30 22:10:34 +04:00
binexe.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
bintest.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
bisect.sh Add test/bisect.sh for use with "git bisect" 2009-11-11 07:47:39 +01:00
br560575.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
br560873.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
br890790.asm BR 2760773: $$ tokens 2009-04-17 16:17:59 +02:00
br890790_i.asm BR 2760773: $$ tokens 2009-04-17 16:17:59 +02:00
br978756.asm test: Add br978756 2013-07-21 14:45:48 +04:00
br1879590.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
br2003451.asm More tests automation 2010-09-30 22:10:34 +04:00
br2030823.asm More tests automation 2010-09-30 22:10:34 +04:00
br2148476.asm Update test files 2009-11-11 08:09:03 +01:00
br2222615.asm test: add test for BR 2222615 2008-11-04 14:25:12 -08:00
br2496848.asm BR 2496848: Tighten ea checks 2010-03-12 23:52:04 +01:00
br3005117.asm More tests automation 2010-09-30 22:10:34 +04:00
br3026808.asm More tests automation 2010-09-30 22:10:34 +04:00
br3028880.asm More tests automation 2010-09-30 22:10:34 +04:00
br3041451.asm test: Add br3041451 testcase 2010-08-09 18:47:05 +04:00
br3058845.asm Move implicit operand size override logic to calc_size 2010-12-29 18:13:38 +01:00
br3066383.asm More tests automation 2010-09-30 22:10:34 +04:00
br3074517.asm test: Add br3074517.asm 2010-09-24 15:25:59 +04:00
br3092924.asm test: Add br3092924.asm 2010-11-06 18:44:48 +03:00
br3104312.asm test: Add br3104312.asm test 2010-11-06 23:09:47 +03:00
br3109604.asm BR 3109604: Fix C4 vs C5 VEX form selection in calcsize() 2010-11-16 09:39:32 -08:00
br3174983.asm test: Add test for BR3174983 2011-02-14 22:14:51 +03:00
br3187743.asm test: Add test for BR 3187743 2011-02-21 18:19:04 +03:00
br3189064.asm test: Add br3189064 2011-03-07 12:42:46 +03:00
br3200749.asm test: Add br3200749 2011-03-07 11:29:56 +03:00
br3385573.asm test: Add br3385573 testcase 2012-03-06 11:18:02 +04:00
br3392252.asm test: Add br3392252 test 2013-05-13 02:21:08 +04:00
br3392259.asm test: Add br3392259 2013-07-21 14:45:48 +04:00
br3392363.asm BR 3392363: clear the operands when making an artificial I_RESB 2017-03-31 14:53:24 -07:00
br3392392.asm Further improve error messages for confused decorators 2017-04-02 19:02:29 -07:00
br3392396.asm BR 3392396: fix EVEX compressed displacements 2017-04-06 18:52:08 -07:00
br3392411.asm BR 3392411: smartalign: make sure we always define the end symbol 2017-09-27 15:29:01 -07:00
br3392418.asm BR 3392418: MachO: support 16-character section names, debug flag 2017-09-27 14:42:08 -07:00
br3392439.asm test: add test code for BR 3392439 2017-09-27 14:25:44 -07:00
br3392442.asm BR 3392442: correct vmin in overflow_general() 2017-10-11 13:12:17 -07:00
br3392538.asm BR 3392538: test case for double free in listing module 2018-12-24 12:41:57 -08:00
changed.asm regularized spelling of license to match name of LICENSE file 2007-12-29 09:44:23 -05:00
clzero.asm insns.dat: accept explicit ax/eax/rax operand to CLZERO 2018-12-22 17:52:27 -08:00
cofftest.asm Configure tests to be performed automatically 2008-05-21 12:42:46 +02:00
cofftest.c Must define types before using them 2007-10-11 20:32:33 -07:00
crc32.asm test/crc32.asm: test the CRC32 instruction 2008-10-23 16:24:02 -07:00
ctxlocal.asm test: add test for context-local labels and extern label promotion 2018-06-25 13:19:32 -07:00
cv8struc.asm labels: emit the same label name to the output and debug backends!! 2016-03-07 22:00:01 -08:00
dtbcd.asm test: add test of nested %rep, BCD constants, and %warning 2008-07-13 15:06:55 -07:00
elf64so.asm test/elf64so.asm: demonstrate a case where we bind to the wrong symbol 2008-10-17 23:14:53 -07:00
elf_visibility.asm test: test for ELF symbol visibility 2018-06-18 11:37:17 -07:00
elfso.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
elftest.asm Make .rodata a recognized ELF section with default attributes 2002-05-17 04:51:10 +00:00
elftest.c Test and Makefile rules for 32- and 64-bit ELF shared libraries 2008-10-17 17:13:26 -07:00
elftest64.c elftest64: both Small PIC and Medium PIC model tests 2008-10-17 22:10:33 -07:00
elif.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
expimp.asm Update test files 2009-11-11 08:09:03 +01:00
far64.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
fewsecs.asm ELF: handle more than 32,633 sections 2019-02-26 00:02:35 -08:00
float.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
float8.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
floatb.asm BR 3392368: actually fix the documentation; add test case 2018-11-26 21:38:14 -08:00
floatexp.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
floatize.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
floattest.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
floatx.asm floatx.asm: add tests for "rounds up to smallest denorm" 2007-10-30 01:17:57 -07:00
fpu.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
fwdopt.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
fwdoptpp.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
gas2nasm.py testcase: Remove escape characters - '\' 2013-11-27 21:01:01 -08:00
gather.asm BR 3392260: Handle instructions only separated by vector SIB size 2013-07-19 17:09:39 -07:00
gotoff64.asm Test for various ELF64 GOT references 2008-10-15 15:22:03 -07:00
hexfp.asm BR 3392399: float: get rid of bogus exponent calculation 2017-04-05 21:47:20 -07:00
hle.asm hle: opcode A2 forbidden with HLE prefixes 2012-07-22 21:04:20 -07:00
ifelse.asm BR 2760773: $$ tokens 2009-04-17 16:17:59 +02:00
ifenv.asm preproc: allow non-identifier character in environment variables 2010-07-20 14:56:30 -07:00
ifmacro.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
iftoken.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
iftoken.pl test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
ilog2.asm test: ilog2() test 2012-05-31 10:28:00 -07:00
imacro.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
imm.asm test/imm.asm: test more combinations of immediates 2017-03-01 13:23:52 -08:00
imm64.asm Optimize mov r64,imm 2010-08-24 14:08:16 -07:00
immwarn.asm New opcode for 32->64 bit sign-extended immediate with warning 2008-10-07 10:05:10 -07:00
imul.asm test: imul.asm: move warning-generated tests under WARN 2009-11-03 16:35:19 -08:00
inc1.asm NASM 0.94 2002-04-30 20:52:08 +00:00
inc2.asm NASM 0.91 2002-04-30 20:51:32 +00:00
incbin.asm a) Fix handling of DZ/ZWORD; b) don't crash on TIMES JMP 2017-05-01 21:13:15 -07:00
incbin.data file: improve the file access interface 2016-09-21 14:07:17 -07:00
inctest.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
insnlbl.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
invlpga.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
jmp64.asm Clean up JMP/CALL patterns, especially for 64 bits 2012-02-25 12:13:50 -08:00
lar_lsl.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
larlsl.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
lnxhello.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
local.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
loopoffs.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
lwp.asm BR2975768: Update AMD LWP instructions to match upcoming changes 2010-03-25 00:37:26 +03:00
macro-defaults.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
macroerr.asm Fix and clean up listing of macro expansion 2016-05-09 14:10:32 -07:00
macroerr.inc Show the expanded macro stack when displaying diagnostics 2016-05-09 13:59:44 -07:00
Makefile test/Makefile: add .aout target 2018-12-18 11:24:29 -08:00
manysecs.asm ELF: handle more than 32,633 sections 2019-02-26 00:02:35 -08:00
mmxsize.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
moresecs.asm ELF: handle more than 32,633 sections 2019-02-26 00:02:35 -08:00
mostsecs.asm ELF: handle more than 32,633 sections 2019-02-26 00:02:35 -08:00
movd.asm test: Add movd.asm 2011-06-26 01:53:38 +04:00
movd64.asm Try again to fix our handling of MOVD/MOVQ 2012-03-05 22:37:21 -08:00
movimm.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
movnti.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
mpx-64.asm bnd: Drop bnd prefix for relaxed short jmp instructions 2013-11-22 11:59:14 -08:00
mpx.asm mpx: Clean up instruction data 2013-12-18 22:37:36 -08:00
multisection.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
nasmformat.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
new test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
newrdwr.asm Add RD*SBASE, WR*SBASE, RDRAND from AVX v7 2010-07-06 09:17:18 -07:00
nop.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
nullfile.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
objexe.asm NASM 0.96 2002-04-30 20:52:49 +00:00
objlink.c Must define types before using them 2007-10-11 20:32:33 -07:00
objtest.asm Sanitize the handling of segments a bit 2017-05-03 17:33:04 -07:00
optimization.asm optimization.asm: more sbyte tests 2009-02-26 16:37:55 -08:00
org.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
paste.asm preproc: add another test case 2010-07-09 15:05:32 -07:00
pcrel.asm test/pcrel.asm: make test output a bit easier to understand 2017-02-20 13:06:02 -08:00
performtest.pl Add test/bisect.sh for use with "git bisect" 2009-11-11 07:47:39 +01:00
pextrw.asm BR 3392362: generate RMI versions of PEXTRW when possible 2017-09-27 15:55:57 -07:00
pinsr16.asm Update test files 2009-11-11 08:09:03 +01:00
pinsr32.asm Update test files 2009-11-11 08:09:03 +01:00
pinsr64.asm Update test files 2009-11-11 08:09:03 +01:00
popcnt.asm test/popcnt.asm: simple test for the POPCNT instruction 2008-11-06 09:40:39 -08:00
ppindirect.asm test/ppindirect.asm: test token pasting inside %[...] 2008-10-19 22:23:12 -07:00
pragma.asm outdbg: update to dump new backend interface data 2017-03-31 11:32:53 -07:00
prefix66.asm Move implicit operand size override logic to calc_size 2010-12-29 18:13:38 +01:00
ptr.asm Specifically if we encounter the PTR keyword 2016-05-09 12:05:56 -07:00
pushseg.asm test/pushseg.asm: add "pop cs" 2008-10-08 23:32:33 -07:00
r13.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
radix.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
rdpid.asm Add rdpid instruction 2016-11-15 11:55:14 -08:00
reldef.asm test/reldef.asm: add some global symbols 2017-06-22 18:39:52 -07:00
relocs.asm assemble: Only treat a displacement as signed if it is < asize 2013-11-26 20:19:53 -08:00
ret.asm insns.dat: add aliases of the RET instruction with explicit operand size 2018-02-14 11:09:07 -08:00
riprel.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
riprel.pl test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
riprel2.asm BR 2148448: Fix RIP-relative addressing with an immediate 2008-10-06 19:11:07 -07:00
sha-64.asm SHA: SHA test cases 2013-11-20 11:29:42 -08:00
sha.asm SHA: SHA test cases 2013-11-20 11:29:42 -08:00
smartalign16.asm test: better smartalign tests 2008-10-19 16:47:53 -07:00
smartalign32.asm test: better smartalign tests 2008-10-19 16:47:53 -07:00
smartalign64.asm test: better smartalign tests 2008-10-19 16:47:53 -07:00
splitea.asm parser: support split base,index effective address 2013-11-20 11:29:41 -08:00
sreg.asm BR 3052618: handle segment register operations in 64-bit mode 2010-08-24 17:30:00 -07:00
strlen.asm preproc.: Fix NULL dereference on broken %strlen argument 2010-07-23 18:51:51 +04:00
struc.asm FR 2499968: structures with non-zero base offset 2009-03-27 03:53:59 +01:00
subsection.asm pragma: define a hander for generic output (and debug) pragmas 2018-06-18 11:34:33 -07:00
test67.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
testdos.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
testnos3.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
time.asm Configure tests to be performed automatically 2008-05-21 12:42:46 +02:00
times.asm a) Fix handling of DZ/ZWORD; b) don't crash on TIMES JMP 2017-05-01 21:13:15 -07:00
timesneg.asm BR 3392437: Fix diagnostic for negative value in TIMES 2017-09-27 15:22:23 -07:00
tmap.nas Use the version of tmap.nas that actually caused problems 2003-09-10 23:33:38 +00:00
uscore.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
utf.asm Add support for UTF-16BE and UTF-32BE 2012-02-25 15:29:37 -08:00
v4.asm asm: support the +n syntax for register sets 2018-06-25 17:15:08 -07:00
vaesenc.asm vaesenc.asm: add a few more test cases 2018-02-07 10:48:13 -08:00
vex.asm Add {vex3} and {vex2} prefixes by analogy with {evex} 2013-11-28 12:21:11 -08:00
vgather.asm Implement the VGATHERP instruction 2011-06-22 18:20:28 -07:00
vmread.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
weirdpaste.asm preproc: unify token-pasting code 2009-04-20 14:01:18 -07:00
xchg.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
xcrypt.asm test: change .stdout/.stderr to stdout/stderr 2008-10-06 18:28:42 -07:00
xmm0.asm BR 3392275: Don't require xmm0 to be specified when implicit 2014-02-16 10:25:25 -08:00
zerobyte.asm Update test files 2009-11-11 08:09:03 +01:00