--- orc-0.4.28/orc/orcprogram-altivec.c.old 2014-04-11 03:36:22.000000000 -0500
+++ orc-0.4.28/orc/orcprogram-altivec.c 2018-01-07 23:32:55.065198004 -0600
@@ -27,12 +27,14 @@
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);
--- orc-0.4.28/orc/orcpowerpc.c.old 2014-04-11 03:36:22.000000000 -0500
+++ orc-0.4.28/orc/orcpowerpc.c 2018-01-07 23:31:53.285259170 -0600
@@ -423,7 +423,7 @@
int size = code->code_size;
ptr = code->code;
-#ifdef __powerpc64__
+#if defined(__powerpc64__) && (!defined(_CALL_ELF) || _CALL_ELF == 1)
*(unsigned char **) ptr = (unsigned char *) code->exec + 24;
#endif
for (i=0;i<size;i+=cache_line_size) {