summaryrefslogtreecommitdiff
path: root/orc/orcprogram-altivec.c
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2018-07-09 21:18:07 -0500
committerSebastian Dröge <slomo@coaxion.net>2019-01-28 22:01:44 +0000
commit4e080ed8d64e73465ffe9f79d95b56ff184cf01a (patch)
treee9980d51c63e2a59b7072b07f056fa2c6eabbc4a /orc/orcprogram-altivec.c
parent7e504fa1367b15c12807da1053a51db528f37c79 (diff)
downloadorc-4e080ed8d64e73465ffe9f79d95b56ff184cf01a.tar.gz
PowerPC: Support ELFv2 ABI
The ELFv2 ABI does not use function descriptors. This change has been tested on Power Mac G5, IBM POWER6, and Raptor Talos II, all using the musl libc on Linux kernel 4.14.
Diffstat (limited to 'orc/orcprogram-altivec.c')
-rw-r--r--orc/orcprogram-altivec.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/orc/orcprogram-altivec.c b/orc/orcprogram-altivec.c
index 2ad11e8..bc40633 100644
--- a/orc/orcprogram-altivec.c
+++ b/orc/orcprogram-altivec.c
@@ -27,12 +27,14 @@ powerpc_emit_prologue (OrcCompiler *compiler)
ORC_ASM_CODE (compiler, "%s:\n", compiler->program->name);
if (compiler->is_64bit) {
+#if !defined(_CALL_ELF) || _CALL_ELF == 1
ORC_ASM_CODE (compiler, " .quad .%s,.TOC.@tocbase,0\n",
compiler->program->name);
ORC_ASM_CODE (compiler, ".%s:\n", compiler->program->name);
powerpc_emit (compiler, 0); powerpc_emit (compiler, 0);
powerpc_emit (compiler, 0); powerpc_emit (compiler, 0);
powerpc_emit (compiler, 0); powerpc_emit (compiler, 0);
+#endif
powerpc_emit_stdu (compiler, POWERPC_R1, POWERPC_R1, -16);
} else {
powerpc_emit_stwu (compiler, POWERPC_R1, POWERPC_R1, -16);