From c7d19f9923c66a2ddb47272f1e8fec8b804f54c4 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Tue, 14 Jun 2011 23:15:08 -0400 Subject: restore use of .type in asm, but use modern @function (vs %function) this seems to be necessary to make the linker accept the functions in a shared library (perhaps to generate PLT entries?) strictly speaking libc-internal asm should not need it. i might clean that up later. --- src/signal/i386/restore.s | 2 ++ src/signal/i386/sigsetjmp.s | 1 + src/signal/x86_64/restore.s | 2 ++ src/signal/x86_64/sigsetjmp.s | 1 + 4 files changed, 6 insertions(+) (limited to 'src/signal') diff --git a/src/signal/i386/restore.s b/src/signal/i386/restore.s index 298ba9a5..a30b69c4 100644 --- a/src/signal/i386/restore.s +++ b/src/signal/i386/restore.s @@ -1,10 +1,12 @@ .global __restore +.type __restore,@function __restore: popl %eax movl $119, %eax int $0x80 .global __restore_rt +.type __restore_rt,@function __restore_rt: movl $173, %eax int $0x80 diff --git a/src/signal/i386/sigsetjmp.s b/src/signal/i386/sigsetjmp.s index 0e7eefb0..06e0a614 100644 --- a/src/signal/i386/sigsetjmp.s +++ b/src/signal/i386/sigsetjmp.s @@ -1,4 +1,5 @@ .global sigsetjmp +.type sigsetjmp,@function sigsetjmp: mov 4(%esp),%eax mov 8(%esp),%ecx diff --git a/src/signal/x86_64/restore.s b/src/signal/x86_64/restore.s index f6bb6ff1..682af2dd 100644 --- a/src/signal/x86_64/restore.s +++ b/src/signal/x86_64/restore.s @@ -1,5 +1,7 @@ .global __restore_rt .global __restore +.type __restore_rt,@function +.type __restore,@function __restore_rt: __restore: movl $15, %eax diff --git a/src/signal/x86_64/sigsetjmp.s b/src/signal/x86_64/sigsetjmp.s index ac02adb2..e883ac44 100644 --- a/src/signal/x86_64/sigsetjmp.s +++ b/src/signal/x86_64/sigsetjmp.s @@ -1,5 +1,6 @@ /* Copyright 2011 Nicholas J. Kain, licensed GNU LGPL 2.1 or later */ .global sigsetjmp +.type sigsetjmp,@function sigsetjmp: andl %esi,%esi movq %rsi,64(%rdi) -- cgit v1.2.1