91 lines
2.7 KiB
Diff
91 lines
2.7 KiB
Diff
From 299c2c7a024efb609bf7fcf63e0cd9b59e16e684 Mon Sep 17 00:00:00 2001
|
|
From: Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>
|
|
Date: Sat, 2 Mar 2013 15:31:17 +0100
|
|
Subject: [PATCH 183/364] * grub-core/lib/ia64/longjmp.S: Fix the name
|
|
of longjmp function. * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp
|
|
function.
|
|
|
|
---
|
|
ChangeLog | 5 +++++
|
|
grub-core/lib/ia64/longjmp.S | 10 +++++-----
|
|
grub-core/lib/ia64/setjmp.S | 8 ++++----
|
|
include/grub/ia64/setjmp.h | 2 +-
|
|
4 files changed, 15 insertions(+), 10 deletions(-)
|
|
|
|
diff --git a/ChangeLog b/ChangeLog
|
|
index 07318d8..d55dd8f 100644
|
|
--- a/ChangeLog
|
|
+++ b/ChangeLog
|
|
@@ -1,5 +1,10 @@
|
|
2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
|
|
|
|
+ * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
|
|
+ * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
|
|
+
|
|
+2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
|
|
+
|
|
* grub-core/script/execute.c (gettext_append): Remove nested functions.
|
|
|
|
2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
|
|
diff --git a/grub-core/lib/ia64/longjmp.S b/grub-core/lib/ia64/longjmp.S
|
|
index 729bdc7..38afb22 100644
|
|
--- a/grub-core/lib/ia64/longjmp.S
|
|
+++ b/grub-core/lib/ia64/longjmp.S
|
|
@@ -40,10 +40,10 @@
|
|
|
|
/* __longjmp(__jmp_buf buf, int val) */
|
|
|
|
- .text
|
|
- .global longjmp
|
|
- .proc longjmp
|
|
-longjmp:
|
|
+ .text
|
|
+
|
|
+ .proc EXT_C(grub_longjmp)
|
|
+FUNCTION(grub_longjmp)
|
|
alloc r8=ar.pfs,2,1,0,0
|
|
mov r27=ar.rsc
|
|
add r2=0x98,in0 // r2 <- &jmpbuf.orig_jmp_buf_addr
|
|
@@ -159,4 +159,4 @@ longjmp:
|
|
invala // virt. -> phys. regnum mapping may change
|
|
mov pr=r24,-1
|
|
br.ret.dptk.few rp
|
|
- .endp longjmp
|
|
+ .endp EXT_C(grub_longjmp)
|
|
diff --git a/grub-core/lib/ia64/setjmp.S b/grub-core/lib/ia64/setjmp.S
|
|
index dc19be0..a0382d8 100644
|
|
--- a/grub-core/lib/ia64/setjmp.S
|
|
+++ b/grub-core/lib/ia64/setjmp.S
|
|
@@ -74,13 +74,13 @@ GRUB_MOD_LICENSE "GPLv2+"
|
|
/* The following two entry points are the traditional entry points: */
|
|
|
|
.text
|
|
- .global setjmp
|
|
- .proc setjmp
|
|
-setjmp:
|
|
+
|
|
+ .proc EXT_C(grub_setjmp)
|
|
+FUNCTION(grub_setjmp)
|
|
alloc r8=ar.pfs,2,0,0,0
|
|
mov in1=1
|
|
br.cond.sptk.many __sigsetjmp
|
|
- .endp setjmp
|
|
+ .endp EXT_C(grub_setjmp)
|
|
|
|
/* __sigsetjmp(__jmp_buf buf, int savemask) */
|
|
|
|
diff --git a/include/grub/ia64/setjmp.h b/include/grub/ia64/setjmp.h
|
|
index a71c9c5..6e9bc8b 100644
|
|
--- a/include/grub/ia64/setjmp.h
|
|
+++ b/include/grub/ia64/setjmp.h
|
|
@@ -24,5 +24,5 @@
|
|
/* the __jmp_buf element type should be __float80 per ABI... */
|
|
typedef long grub_jmp_buf[_JBLEN] __attribute__ ((aligned (16))); /* guarantees 128-bit alignment! */
|
|
|
|
-int grub_setjmp (grub_jmp_buf env);
|
|
+int grub_setjmp (grub_jmp_buf env) __attribute__ ((returns_twice));
|
|
void grub_longjmp (grub_jmp_buf env, int val) __attribute__ ((noreturn));
|
|
--
|
|
1.8.1.4
|
|
|