aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIain Sandoe <iain@sandoe.co.uk>2021-08-13 20:25:59 +0100
committerIain Sandoe <iain@sandoe.co.uk>2021-08-19 09:38:23 +0100
commitcb23be4fa59be26a7ba08918d6973e1d94629f8a (patch)
tree5db2321d6b41454c56e54ba0e9f01a11950adc16
parent4e6a5fa403782590088b2796261b023963f912af (diff)
downloadgcc-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.c13
-rw-r--r--gcc/testsuite/jit.dg/test-asm.cc12
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