diff options
author | Iain Sandoe <iain@sandoe.co.uk> | 2021-08-13 20:25:59 +0100 |
---|---|---|
committer | Iain Sandoe <iain@sandoe.co.uk> | 2021-08-19 09:38:23 +0100 |
commit | cb23be4fa59be26a7ba08918d6973e1d94629f8a (patch) | |
tree | 5db2321d6b41454c56e54ba0e9f01a11950adc16 | |
parent | 4e6a5fa403782590088b2796261b023963f912af (diff) | |
download | gcc-cb23be4fa59be26a7ba08918d6973e1d94629f8a.zip gcc-cb23be4fa59be26a7ba08918d6973e1d94629f8a.tar.gz gcc-cb23be4fa59be26a7ba08918d6973e1d94629f8a.tar.bz2 |
testsuite, JIT, Darwin: Adjust asm tests for Mach-O.
This provides adjusted assembler fragments that are suitable
for x86_64 Mach-O.
Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
gcc/testsuite/ChangeLog:
* jit.dg/test-asm.c: Provide Mach-O fragment.
* jit.dg/test-asm.cc: Likewise.
-rw-r--r-- | gcc/testsuite/jit.dg/test-asm.c | 13 | ||||
-rw-r--r-- | gcc/testsuite/jit.dg/test-asm.cc | 12 |
2 files changed, 25 insertions, 0 deletions
diff --git a/gcc/testsuite/jit.dg/test-asm.c b/gcc/testsuite/jit.dg/test-asm.c index 35a9f9d..43255dc 100644 --- a/gcc/testsuite/jit.dg/test-asm.c +++ b/gcc/testsuite/jit.dg/test-asm.c @@ -438,6 +438,18 @@ verify_code_4 (gcc_jit_context *ctxt, gcc_jit_result *result) static void create_test_i386_basic_asm_5 (gcc_jit_context *ctxt) { +#if __APPLE__ + /* Darwin's assemblers do not support push/pop section, do not use .type + and external symbols should use __USER_LABEL_PREFIX__. */ + gcc_jit_context_add_top_level_asm (ctxt, NULL, + "\t.text\n" + "\t.globl _add_asm\n" + "_add_asm:\n" + "\tmovq %rdi, %rax\n" + "\tadd %rsi, %rax\n" + "\tret\n" + "\t# some asm here\n"); +#else /* Quote from here in docs/topics/asm.rst: example 5: jit. */ gcc_jit_context_add_top_level_asm (ctxt, NULL, "\t.pushsection .text\n" @@ -450,6 +462,7 @@ create_test_i386_basic_asm_5 (gcc_jit_context *ctxt) "\t# some asm here\n" "\t.popsection\n"); /* Quote up to here in docs/topics/asm.rst: example 5: jit. */ +#endif } static void diff --git a/gcc/testsuite/jit.dg/test-asm.cc b/gcc/testsuite/jit.dg/test-asm.cc index be487e3..a3b45da 100644 --- a/gcc/testsuite/jit.dg/test-asm.cc +++ b/gcc/testsuite/jit.dg/test-asm.cc @@ -400,6 +400,17 @@ static void create_test_i386_basic_asm_5 (gcc_jit_context *c_ctxt) { gccjit::context ctxt (c_ctxt); +#if __APPLE__ + /* Darwin's assemblers do not support push/pop section, do not use .type + and external symbols should use __USER_LABEL_PREFIX__. */ + ctxt.add_top_level_asm ("\t.text\n" + "\t.globl _add_asm\n" + "_add_asm:\n" + "\tmovq %rdi, %rax\n" + "\tadd %rsi, %rax\n" + "\tret\n" + "\t# some asm here\n"); +#else /* Quote from here in docs/cp/topics/asm.rst: example 5: jit. */ ctxt.add_top_level_asm ("\t.pushsection .text\n" "\t.globl add_asm\n" @@ -411,6 +422,7 @@ create_test_i386_basic_asm_5 (gcc_jit_context *c_ctxt) "\t# some asm here\n" "\t.popsection\n"); /* Quote up to here in docs/cp/topics/asm.rst: example 5: jit. */ +#endif } static void |