From b9b2db2f374bce907fa5015c9cf63205054f2356 Mon Sep 17 00:00:00 2001
From: Rich Felker <dalias@aerifal.cx>
Date: Wed, 2 Apr 2014 19:32:57 -0400
Subject: add __sigsetjmp ABI-compat alias for sigsetjmp

---
 src/signal/arm/sigsetjmp.s        | 3 +++
 src/signal/i386/sigsetjmp.s       | 3 +++
 src/signal/microblaze/sigsetjmp.s | 3 +++
 src/signal/mips/sigsetjmp.s       | 3 +++
 src/signal/powerpc/sigsetjmp.s    | 3 +++
 src/signal/sh/sigsetjmp.s         | 5 ++++-
 src/signal/sigsetjmp.c            | 3 +++
 src/signal/x32/sigsetjmp.s        | 3 +++
 src/signal/x86_64/sigsetjmp.s     | 3 +++
 9 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/src/signal/arm/sigsetjmp.s b/src/signal/arm/sigsetjmp.s
index acb0301e..0e7bcd49 100644
--- a/src/signal/arm/sigsetjmp.s
+++ b/src/signal/arm/sigsetjmp.s
@@ -1,6 +1,9 @@
 .global sigsetjmp
+.global __sigsetjmp
 .type sigsetjmp,%function
+.type __sigsetjmp,%function
 sigsetjmp:
+__sigsetjmp:
 	str a2,[a1,#256]
 	tst a2,a2
 	beq setjmp
diff --git a/src/signal/i386/sigsetjmp.s b/src/signal/i386/sigsetjmp.s
index 06e0a614..91c8c048 100644
--- a/src/signal/i386/sigsetjmp.s
+++ b/src/signal/i386/sigsetjmp.s
@@ -1,6 +1,9 @@
 .global sigsetjmp
+.global __sigsetjmp
 .type sigsetjmp,@function
+.type __sigsetjmp,@function
 sigsetjmp:
+__sigsetjmp:
 	mov 4(%esp),%eax
 	mov 8(%esp),%ecx
 	mov %ecx,24(%eax)
diff --git a/src/signal/microblaze/sigsetjmp.s b/src/signal/microblaze/sigsetjmp.s
index be869d68..2a23d147 100644
--- a/src/signal/microblaze/sigsetjmp.s
+++ b/src/signal/microblaze/sigsetjmp.s
@@ -1,6 +1,9 @@
 .global sigsetjmp
+.global __sigsetjmp
 .type sigsetjmp,@function
+.type __sigsetjmp,@function
 sigsetjmp:
+__sigsetjmp:
 	swi     r6, r5, 72
 	beqi    r6, setjmp@PLT
 
diff --git a/src/signal/mips/sigsetjmp.s b/src/signal/mips/sigsetjmp.s
index 502e0794..133ca777 100644
--- a/src/signal/mips/sigsetjmp.s
+++ b/src/signal/mips/sigsetjmp.s
@@ -1,8 +1,11 @@
 .set noreorder
 
 .global sigsetjmp
+.global __sigsetjmp
 .type sigsetjmp,@function
+.type __sigsetjmp,@function
 sigsetjmp:
+__sigsetjmp:
 	lui $gp, %hi(_gp_disp)
 	addiu $gp, %lo(_gp_disp)
 	beq $5, $0, 1f
diff --git a/src/signal/powerpc/sigsetjmp.s b/src/signal/powerpc/sigsetjmp.s
index d7d1af3b..461b7372 100644
--- a/src/signal/powerpc/sigsetjmp.s
+++ b/src/signal/powerpc/sigsetjmp.s
@@ -1,6 +1,9 @@
 	.global sigsetjmp
+	.global __sigsetjmp
 	.type sigsetjmp,%function
+	.type __sigsetjmp,%function
 sigsetjmp:
+__sigsetjmp:
 	#int sigsetjmp(sigjmp_buf buf, int save)
 	#		r3		r4
 	#0) store save into buf->__fl
diff --git a/src/signal/sh/sigsetjmp.s b/src/signal/sh/sigsetjmp.s
index f6cae801..7951f07e 100644
--- a/src/signal/sh/sigsetjmp.s
+++ b/src/signal/sh/sigsetjmp.s
@@ -1,6 +1,9 @@
 .global sigsetjmp
-.type   sigsetjmp, @function
+.global __sigsetjmp
+.type sigsetjmp,@function
+.type __sigsetjmp,@function
 sigsetjmp:
+__sigsetjmp:
 	mov.l r5, @(36,r4)
 	tst r5, r5
 	bf  2f
diff --git a/src/signal/sigsetjmp.c b/src/signal/sigsetjmp.c
index cb2257f0..1bbe1a0b 100644
--- a/src/signal/sigsetjmp.c
+++ b/src/signal/sigsetjmp.c
@@ -1,5 +1,6 @@
 #include <setjmp.h>
 #include <signal.h>
+#include "libc.h"
 
 /* !!! This function will not work unless the compiler performs
  * tail call optimization. Machine-specific asm versions should
@@ -12,3 +13,5 @@ int sigsetjmp(sigjmp_buf buf, int save)
 		pthread_sigmask(SIG_SETMASK, 0, (sigset_t *)buf->__ss);
 	return setjmp(buf);
 }
+
+weak_alias(sigsetjmp, __sigsetjmp);
diff --git a/src/signal/x32/sigsetjmp.s b/src/signal/x32/sigsetjmp.s
index dc38f032..17436f02 100644
--- a/src/signal/x32/sigsetjmp.s
+++ b/src/signal/x32/sigsetjmp.s
@@ -1,7 +1,10 @@
 /* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
 .global sigsetjmp
+.global __sigsetjmp
 .type sigsetjmp,@function
+.type __sigsetjmp,@function
 sigsetjmp:
+__sigsetjmp:
 	andl %esi,%esi
 	movq %rsi,64(%rdi)
 	jz 1f
diff --git a/src/signal/x86_64/sigsetjmp.s b/src/signal/x86_64/sigsetjmp.s
index dc38f032..17436f02 100644
--- a/src/signal/x86_64/sigsetjmp.s
+++ b/src/signal/x86_64/sigsetjmp.s
@@ -1,7 +1,10 @@
 /* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */
 .global sigsetjmp
+.global __sigsetjmp
 .type sigsetjmp,@function
+.type __sigsetjmp,@function
 sigsetjmp:
+__sigsetjmp:
 	andl %esi,%esi
 	movq %rsi,64(%rdi)
 	jz 1f
-- 
cgit v1.2.3-70-g09d2