Created attachment 209630 [details] patch LLVM miscompiles ocaml on powerpc64 elfv2: ld: error: bytecomp/printlambda.ml:23:(.text+0x16): relocation R_PPC64_TOC16_DS out of range: 73024 is not in [-32768, 32767] Use GCC instead. I tested on amd64 that it compiles successfully. Add a conditional patch enabled only on powerpc64 elfv2 to use elfv2 abi instead of elfv1. Add a bunch of other patches to correctly check for abi instead of relying on endianness.
A commit references this bug: Author: pkubaj Date: Mon Dec 16 12:56:08 UTC 2019 New revision: 520254 URL: https://svnweb.freebsd.org/changeset/ports/520254 Log: lang/ocaml: fix build on powerpc64 elfv2 LLVM miscompiles ocaml on powerpc64 elfv2: ld: error: bytecomp/printlambda.ml:23:(.text+0x16): relocation R_PPC64_TOC16_DS out of range: 73024 is not in [-32768, 32767] Use GCC instead on powerpc64. Add a conditional patch enabled only on powerpc64 elfv2 to use elfv2 abi instead of elfv1. Add a bunch of other patches to correctly check for abi instead of relying on endianness. PR: 242389 Approved by: michipili@gmail.com (maintainer) Changes: head/lang/ocaml/Makefile head/lang/ocaml/files/extra-patch-asmcomp_power_arch.ml head/lang/ocaml/files/patch-asmrun_power.S head/lang/ocaml/files/patch-byterun_caml_stack.h head/lang/ocaml/files/patch-testsuite_tests_asmcomp_power.S