diff options
Diffstat (limited to 'user/orc/orc-0.4.28-ppc64-elfv2.patch')
-rw-r--r-- | user/orc/orc-0.4.28-ppc64-elfv2.patch | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/user/orc/orc-0.4.28-ppc64-elfv2.patch b/user/orc/orc-0.4.28-ppc64-elfv2.patch new file mode 100644 index 000000000..7f4f8b0d3 --- /dev/null +++ b/user/orc/orc-0.4.28-ppc64-elfv2.patch @@ -0,0 +1,28 @@ +--- 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) { |