summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2020-09-20 11:20:10 +0800
committerruki <[email protected]>2020-09-20 11:20:10 +0800
commitc6704add1bd642b5134f6a6eaa32a10e41f8c5c3 (patch)
treea4d5ff57d9fa2d5c2166761e6fa89885a1e5c6fc
parent8c16e46890f92aadb093231362a021844021899d (diff)
improve yasm tests
-rw-r--r--tests/projects/asm/yasm/src/main_elf.S20
-rw-r--r--tests/projects/asm/yasm/src/stub.c (renamed from tests/projects/asm/yasm/src/main.c)0
-rw-r--r--tests/projects/asm/yasm/xmake.lua7
3 files changed, 26 insertions, 1 deletions
diff --git a/tests/projects/asm/yasm/src/main_elf.S b/tests/projects/asm/yasm/src/main_elf.S
new file mode 100644
index 000000000..cd039bbae
--- /dev/null
+++ b/tests/projects/asm/yasm/src/main_elf.S
@@ -0,0 +1,20 @@
+bits 64
+
+extern puts
+
+section .data
+
+message:
+ db 'hello xmake!', 0
+
+section .text
+
+global main
+main:
+ push rbp
+ mov rbp, rsp
+ lea rdi, [rel message]
+ call puts
+ xor rax, rax
+ pop rbp
+ ret
diff --git a/tests/projects/asm/yasm/src/main.c b/tests/projects/asm/yasm/src/stub.c
index e69de29bb..e69de29bb 100644
--- a/tests/projects/asm/yasm/src/main.c
+++ b/tests/projects/asm/yasm/src/stub.c
diff --git a/tests/projects/asm/yasm/xmake.lua b/tests/projects/asm/yasm/xmake.lua
index 213944890..6c96d4c6a 100644
--- a/tests/projects/asm/yasm/xmake.lua
+++ b/tests/projects/asm/yasm/xmake.lua
@@ -1,3 +1,8 @@
target("test")
set_kind("binary")
- add_files("src/*.S", "src/*.c")
+ add_files("src/*.c")
+ if is_plat("linux") then
+ add_files("src/main_elf.S")
+ else
+ add_files("src/main.S")
+ end