summaryrefslogtreecommitdiff
path: root/lang/ocaml/files/patch-runtime_power.S
diff options
context:
space:
mode:
Diffstat (limited to 'lang/ocaml/files/patch-runtime_power.S')
-rw-r--r--lang/ocaml/files/patch-runtime_power.S62
1 files changed, 33 insertions, 29 deletions
diff --git a/lang/ocaml/files/patch-runtime_power.S b/lang/ocaml/files/patch-runtime_power.S
index 0155af6a4e1c..6822b07d6a9b 100644
--- a/lang/ocaml/files/patch-runtime_power.S
+++ b/lang/ocaml/files/patch-runtime_power.S
@@ -1,6 +1,6 @@
---- runtime/power.S.orig 2019-08-05 17:32:44 UTC
+--- runtime/power.S.orig 2024-02-05 15:40:20 UTC
+++ runtime/power.S
-@@ -13,11 +13,11 @@
+@@ -13,7 +13,7 @@
/* */
/**************************************************************************/
@@ -9,12 +9,16 @@
.abiversion 2
#endif
+@@ -27,7 +27,7 @@
+ #define DOMAIN_STATE_PTR 30
+ #define ALLOC_PTR 31
+
-#if defined(MODEL_ppc64) || defined(MODEL_ppc64le)
+#if _CALL_ELF == 1 || _CALL_ELF == 2
#define EITHER(a,b) b
#else
#define EITHER(a,b) a
-@@ -42,7 +42,7 @@
+@@ -52,7 +52,7 @@
#define CALLBACK_LINK_SIZE 16
#define CALLBACK_LINK_OFFSET 0
#endif
@@ -23,7 +27,7 @@
#define RESERVED_STACK 48
#define PARAM_SAVE_AREA (8*8)
#define LR_SAVE 16
-@@ -54,7 +54,7 @@
+@@ -64,7 +64,7 @@
#define CALLBACK_LINK_SIZE 32
#define CALLBACK_LINK_OFFSET 48
#endif
@@ -32,7 +36,7 @@
#define RESERVED_STACK 32
#define PARAM_SAVE_AREA 0
#define LR_SAVE 16
-@@ -82,7 +82,7 @@
+@@ -92,7 +92,7 @@
#endif
@@ -41,7 +45,7 @@
#define FUNCTION(name) \
.section ".opd","aw"; \
.align 3; \
-@@ -98,7 +98,7 @@
+@@ -108,7 +108,7 @@
#endif
@@ -50,8 +54,8 @@
#define FUNCTION(name) \
.section ".text"; \
.globl name; \
-@@ -136,7 +136,7 @@
-
+@@ -133,7 +133,7 @@
+ addi reg, reg, glob@l
#endif
-#if defined(MODEL_ppc64) || defined(MODEL_ppc64le)
@@ -59,16 +63,16 @@
#define LSYMB(glob) .L##glob
-@@ -157,7 +157,7 @@
+@@ -150,7 +150,7 @@
- #endif
+ #define Caml_state(var) 8*domain_field_caml_##var(DOMAIN_STATE_PTR)
-#if defined(MODEL_ppc64)
+#if _CALL_ELF == 1
.section ".opd","aw"
#else
.section ".text"
-@@ -244,7 +244,7 @@ FUNCTION(caml_call_gc)
+@@ -237,7 +237,7 @@ FUNCTION(caml_call_gc)
stfdu 31, 8(11)
/* Call the GC */
bl caml_garbage_collection
@@ -76,25 +80,25 @@
+#if _CALL_ELF == 1 || _CALL_ELF == 2
nop
#endif
- /* Reload new allocation pointer and allocation limit */
-@@ -338,14 +338,14 @@ FUNCTION(caml_c_call)
+ /* Reload new allocation pointer */
+@@ -329,14 +329,14 @@ FUNCTION(caml_c_call)
#if defined(MODEL_ppc)
- mtctr 28
+ mtctr C_CALL_FUN
bctrl
-#elif defined(MODEL_ppc64)
+#elif _CALL_ELF == 1
- ld 0, 0(28)
- mr 26, 2 /* save current TOC in a callee-save register */
+ ld 0, 0(C_CALL_FUN)
+ mr C_CALL_TOC, 2 /* save current TOC in a callee-save register */
mtctr 0
- ld 2, 8(28)
+ ld 2, 8(C_CALL_FUN)
bctrl
- mr 2, 26 /* restore current TOC */
+ mr 2, C_CALL_TOC /* restore current TOC */
-#elif defined(MODEL_ppc64le)
+#elif _CALL_ELF == 2
- mtctr 28
- mr 12, 28
- mr 26, 2 /* save current TOC in a callee-save register */
-@@ -388,7 +388,7 @@ FUNCTION(caml_raise_exn)
+ mtctr C_CALL_FUN
+ mr 12, C_CALL_FUN
+ mr C_CALL_TOC, 2 /* save current TOC in a callee-save register */
+@@ -378,7 +378,7 @@ FUNCTION(caml_raise_exn)
addi 1, 1, -(PARAM_SAVE_AREA + RESERVED_STACK)
/* reserve stack space for C call */
bl caml_stash_backtrace
@@ -102,8 +106,8 @@
+#if _CALL_ELF == 1 || _CALL_ELF == 2
nop
#endif
- mr 3, 28 /* restore exn bucket */
-@@ -424,7 +424,7 @@ FUNCTION(caml_raise_exception)
+ mr 3, 27 /* restore exn bucket */
+@@ -414,7 +414,7 @@ FUNCTION(caml_raise_exception)
addi 1, 1, -(PARAM_SAVE_AREA + RESERVED_STACK)
/* reserve stack space for C call */
bl caml_stash_backtrace
@@ -111,8 +115,8 @@
+#if _CALL_ELF == 1 || _CALL_ELF == 2
nop
#endif
- mr 3, 28 /* restore exn bucket */
-@@ -514,14 +514,14 @@ FUNCTION(caml_start_program)
+ mr 3, 27 /* restore exn bucket */
+@@ -507,14 +507,14 @@ FUNCTION(caml_start_program)
#if defined(MODEL_ppc)
mtctr 12
.L105: bctrl
@@ -129,16 +133,16 @@
mtctr 12
std 2, TOC_SAVE(1)
.L105: bctrl
-@@ -634,7 +634,7 @@ ENDFUNCTION(caml_callback3_exn)
+@@ -633,7 +633,7 @@ ENDFUNCTION(caml_callback3_asm)
b .L102
- ENDFUNCTION(caml_callback3_exn)
+ ENDFUNCTION(caml_callback3_asm)
-#if defined(MODEL_ppc64)
+#if _CALL_ELF == 1
.section ".opd","aw"
#else
.section ".text"
-@@ -656,7 +656,7 @@ caml_system__frametable:
+@@ -655,7 +655,7 @@ caml_system__frametable:
/* TOC entries */