diff options
author | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2018-07-09 21:18:07 -0500 |
---|---|---|
committer | Sebastian Dröge <slomo@coaxion.net> | 2019-01-28 22:01:44 +0000 |
commit | 4e080ed8d64e73465ffe9f79d95b56ff184cf01a (patch) | |
tree | e9980d51c63e2a59b7072b07f056fa2c6eabbc4a /orc/orcprogram-altivec.c | |
parent | 7e504fa1367b15c12807da1053a51db528f37c79 (diff) | |
download | orc-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.c | 2 |
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); |