mirror of
https://github.com/netwide-assembler/nasm
synced 2026-08-26 16:23:04 -04:00
This is a mostly automated, partially AI-assisted migration of tests from the test/ directory into the travis framework. Running tests manually in the test/ directory is still supported, but move common include files into travis/test and add a default -I option to Makefile.in in the test/ directory. The incbin test fails for pre-existing reasons; for now it contains an stderr file with the errors. The problem is that INCBIN is both a macro and a special instruction (not even a directive...), but there currently is no way to handle prefixes, *especially* TIMES, in multi-line macros. This is a separate problem and needs to be dealt with as such. Reorganize the travis directory so that each test or collection of tests are in a separate subdirectory of travis/, and travis itself lives in tools/travis to avoid creating deeper paths. Add support for recording compression options in the travis .json files, so that compressed files can be recreated with the same options: because of the generally repetitive nature of the binary output test files, the parameters used for xz compression can matter enormously. These are combined into a single huge commit to avoid adding large binary files into the repository that then would immediately be obsoleted, but still retained in git. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
30 lines
528 B
NASM
30 lines
528 B
NASM
global foo:(foo_end - foo)
|
|
global foo_hidden:function hidden
|
|
global foo_protected:function protected
|
|
global foo_internal:function internal
|
|
global foo_weak:function weak
|
|
global foo_hidden_weak:function hidden weak
|
|
|
|
extern strong_ref, weak_ref:weak, unused_ref
|
|
extern weak_object_ref:weak object
|
|
required required_ref
|
|
|
|
SECTION .text align=16
|
|
|
|
foo:
|
|
nop
|
|
foo_hidden:
|
|
nop
|
|
foo_protected:
|
|
nop
|
|
foo_internal:
|
|
nop
|
|
foo_weak:
|
|
ret
|
|
foo_hidden_weak:
|
|
mov eax,weak_ref
|
|
mov eax,strong_ref
|
|
mov eax,weak_object_ref
|
|
foo_label:
|
|
ret
|
|
foo_end:
|