void-packages/srcpkgs/ocaml/patches/ocaml-4.08.0-ppc-pie.patch

43 lines
1.3 KiB
Diff

--- ocaml-4.11.0/asmcomp/emitaux.ml
+++ ocaml-4.11.0/asmcomp/emitaux.ml
@@ -268,6 +268,7 @@
match rdbg with
| [] -> assert false
| d :: rest -> emit rs d rest in
+ a.efa_align Arch.size_addr;
a.efa_word (List.length !frame_descriptors);
List.iter emit_frame !frame_descriptors;
Label_table.iter emit_debuginfo debuginfos;
--- ocaml-4.08.0/runtime/power.S
+++ ocaml-4.08.0/runtime/power.S
@@ -642,6 +642,7 @@ caml_system__code_end:
/* Frame table */
.section ".data"
+ .align wordalign
.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
;; #(
*) :