ocaml: prevent no-pie on ppc64*-musl, add nopie=yes on ARMs

This commit is contained in:
q66 2020-08-21 01:40:03 +02:00
parent 29471deeab
commit ca88bf80c5
2 changed files with 26 additions and 0 deletions

View file

@ -18,3 +18,25 @@
.globl caml_system__frametable
.type caml_system__frametable, @object
caml_system__frametable:
--- ocaml-4.11.0/configure.ac
+++ ocaml-4.11.0/configure.ac
@@ -1006,7 +1006,7 @@ AS_IF([test $arch != "none" && $arch64 ],
# e.g. Ubuntu >= 17.10 for i386, which uses the glibc dynamic loader.
AS_CASE([$arch],
- [amd64|s390x|none],
+ [amd64|s390x|power|none],
# ocamlopt generates PIC code or doesn't generate code at all
[],
[AS_CASE([$host],
--- ocaml-4.11.0/configure
+++ ocaml-4.11.0/configure
@@ -13886,7 +13886,7 @@
# e.g. Ubuntu >= 17.10 for i386, which uses the glibc dynamic loader.
case $arch in #(
- amd64|s390x|none) :
+ amd64|s390x|power|none) :
# ocamlopt generates PIC code or doesn't generate code at all
;; #(
*) :

View file

@ -18,8 +18,12 @@ patch_args="-Np1"
export ASPP="cc -c"
case "$XBPS_TARGET_MACHINE" in
x86_64*|ppc64*) ;;
# also just segfaults when compiled without PIE (BSS-PLT?)
ppc-musl) broken="/usr/bin/ocamlc: unsupported relocation type 6";;
# https://github.com/ocaml/ocaml/issues/7562
# for ppc we solved this separately though
*-musl) nopie=yes ;;
esac
post_install() {