Репозиторий Sisyphus
Последнее обновление: 26 марта 2019 | Пакетов: 17629 | Посещений: 13280213
en ru br
Репозитории ALT
S:4.07.1-alt3
5.1: 3.10.2-alt3.1
4.1: 3.10.2-alt3
4.0: 3.09.3-alt0.1
3.0: 3.08.1-alt1
www.altlinux.org/Changes

Группа :: Разработка/ML
Пакет: ocaml

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: ocaml-3.12.1-deb-ocamlopt-arm-add-.type-directive-for-code-symbols.patch
Скачать


From: Stephane Glondu <steph@glondu.net>
Date: Fri, 12 Aug 2011 21:13:17 +0200
Subject: ocamlopt/arm: add .type directive for code symbols
Bug: http://caml.inria.fr/mantis/view.php?id=5336
Bug-Ubuntu: https://bugs.launchpad.net/bugs/810402
Signed-off-by: Stephane Glondu <steph@glondu.net>
---
 asmcomp/arm/emit.mlp |    1 +
 asmrun/arm.S         |   12 ++++++++++++
 2 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/asmcomp/arm/emit.mlp b/asmcomp/arm/emit.mlp
index 2003313..a4b2241 100644
--- a/asmcomp/arm/emit.mlp
+++ b/asmcomp/arm/emit.mlp
@@ -556,6 +556,7 @@ let fundecl fundecl =
   `	.text\n`;
   `	.align	2\n`;
   `	.global	{emit_symbol fundecl.fun_name}\n`;
+  `	.type	{emit_symbol fundecl.fun_name}, %function\n`;
   `{emit_symbol fundecl.fun_name}:\n`;
   let n = frame_size() in
   ignore(emit_stack_adjustment "sub" n);
diff --git a/asmrun/arm.S b/asmrun/arm.S
index 164f731..1313e9c 100644
--- a/asmrun/arm.S
+++ b/asmrun/arm.S
@@ -24,6 +24,7 @@ alloc_limit     .req    r10
 /* Allocation functions and GC interface */
 
         .globl caml_call_gc
+        .type caml_call_gc, %function
 caml_call_gc:
     /* Record return address and desired size */
     /* Can use alloc_limit as a temporary since it will be reloaded by
@@ -41,6 +42,7 @@ caml_call_gc:
         bx      lr
 
         .globl caml_alloc1
+        .type caml_alloc1, %function
 caml_alloc1:
         sub     alloc_ptr, alloc_ptr, #8
         cmp     alloc_ptr, alloc_limit
@@ -54,6 +56,7 @@ caml_alloc1:
         b       caml_alloc1
 
         .globl caml_alloc2
+        .type caml_alloc2, %function
 caml_alloc2:
         sub     alloc_ptr, alloc_ptr, #12
         cmp     alloc_ptr, alloc_limit
@@ -67,6 +70,7 @@ caml_alloc2:
         b       caml_alloc2
 
         .globl caml_alloc3
+        .type caml_alloc3, %function
 caml_alloc3:
         sub     alloc_ptr, alloc_ptr, #16
         cmp     alloc_ptr, alloc_limit
@@ -80,6 +84,7 @@ caml_alloc3:
         b       caml_alloc3
 
         .globl caml_allocN
+        .type caml_allocN, %function
 caml_allocN:
         sub     alloc_ptr, alloc_ptr, r12
         cmp     alloc_ptr, alloc_limit
@@ -134,6 +139,7 @@ caml_allocN:
 /* Function to call is in r12 */
 
         .globl caml_c_call
+        .type caml_c_call, %function
 caml_c_call:
     /* Preserve return address in callee-save register r4 */
         mov     r4, lr
@@ -160,6 +166,7 @@ caml_c_call:
 /* Start the Caml program */
 
         .globl caml_start_program
+        .type caml_start_program, %function
 caml_start_program:
         ldr     r12, .Lcaml_program
 
@@ -235,6 +242,7 @@ caml_start_program:
 /* Raise an exception from C */
 
         .globl caml_raise_exception
+        .type caml_raise_exception, %function
 caml_raise_exception:
     /* Reload Caml allocation pointers */
         ldr     r12, .Lcaml_young_ptr
@@ -250,6 +258,7 @@ caml_raise_exception:
 /* Callback from C to Caml */
 
         .globl caml_callback_exn
+        .type caml_callback_exn, %function
 caml_callback_exn:
     /* Initial shuffling of arguments (r0 = closure, r1 = first arg) */
         mov     r12, r0
@@ -259,6 +268,7 @@ caml_callback_exn:
         b       .Ljump_to_caml
 
         .globl caml_callback2_exn
+        .type caml_callback2_exn, %function
 caml_callback2_exn:
     /* Initial shuffling of arguments (r0 = closure, r1 = arg1, r2 = arg2) */
         mov     r12, r0
@@ -269,6 +279,7 @@ caml_callback2_exn:
         b       .Ljump_to_caml
 
         .globl caml_callback3_exn
+        .type caml_callback3_exn, %function
 caml_callback3_exn:
     /* Initial shuffling of arguments */
     /* (r0 = closure, r1 = arg1, r2 = arg2, r3 = arg3) */
@@ -281,6 +292,7 @@ caml_callback3_exn:
         b       .Ljump_to_caml
 
         .globl caml_ml_array_bound_error
+        .type caml_ml_array_bound_error, %function
 caml_ml_array_bound_error:
     /* Load address of [caml_array_bound_error] in r12 */
         ldr     r12, .Lcaml_array_bound_error
-- 
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin