From 323272db175204b951f119dae4bd99ef05e20f13 Mon Sep 17 00:00:00 2001 From: rofl0r Date: Tue, 7 Jan 2014 22:43:34 +0100 Subject: import vanilla x86_64 code as x32 --- src/signal/x32/restore.s | 8 ++++++++ src/signal/x32/sigsetjmp.s | 14 ++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 src/signal/x32/restore.s create mode 100644 src/signal/x32/sigsetjmp.s (limited to 'src/signal/x32') diff --git a/src/signal/x32/restore.s b/src/signal/x32/restore.s new file mode 100644 index 00000000..682af2dd --- /dev/null +++ b/src/signal/x32/restore.s @@ -0,0 +1,8 @@ +.global __restore_rt +.global __restore +.type __restore_rt,@function +.type __restore,@function +__restore_rt: +__restore: + movl $15, %eax + syscall diff --git a/src/signal/x32/sigsetjmp.s b/src/signal/x32/sigsetjmp.s new file mode 100644 index 00000000..dc38f032 --- /dev/null +++ b/src/signal/x32/sigsetjmp.s @@ -0,0 +1,14 @@ +/* Copyright 2011-2012 Nicholas J. Kain, licensed under standard MIT license */ +.global sigsetjmp +.type sigsetjmp,@function +sigsetjmp: + andl %esi,%esi + movq %rsi,64(%rdi) + jz 1f + pushq %rdi + leaq 72(%rdi),%rdx + xorl %esi,%esi + movl $2,%edi + call sigprocmask + popq %rdi +1: jmp setjmp -- cgit v1.2.1