From bf6e755b6adfb7c5c4c876daaa8917845c6a9058 Mon Sep 17 00:00:00 2001 From: Manuel Novoa III Date: Mon, 5 Mar 2001 18:44:47 +0000 Subject: Patch from Michael Shmulevich (michaels@jungo.com) -- functions were not declared type function. --- libc/sysdeps/linux/i386/clone.S | 1 + libc/sysdeps/linux/i386/setjmp.S | 10 ++++++---- 2 files changed, 7 insertions(+), 4 deletions(-) (limited to 'libc/sysdeps/linux') diff --git a/libc/sysdeps/linux/i386/clone.S b/libc/sysdeps/linux/i386/clone.S index 173b5c1f7..e15116152 100644 --- a/libc/sysdeps/linux/i386/clone.S +++ b/libc/sysdeps/linux/i386/clone.S @@ -27,6 +27,7 @@ .text .globl __clone; +.type __clone,@function .align 4; \ __clone: /* Sanity check arguments. */ diff --git a/libc/sysdeps/linux/i386/setjmp.S b/libc/sysdeps/linux/i386/setjmp.S index b96796eca..13c640bfd 100644 --- a/libc/sysdeps/linux/i386/setjmp.S +++ b/libc/sysdeps/linux/i386/setjmp.S @@ -22,6 +22,7 @@ #include .globl __setjmp; +.type __setjmp,@function .align 4; \ __setjmp: popl %eax /* Pop return address. */ @@ -31,6 +32,7 @@ __setjmp: pushl %eax /* Push back return address. */ .globl __sigsetjmp; +.type __sigsetjmp,@function .align 4; \ __sigsetjmp: movl 4(%esp), %eax /* User's jmp_buf in %eax. */ @@ -45,15 +47,15 @@ __sigsetjmp: movl %ecx, (JB_PC*4)(%eax) /* Make a tail call to __sigjmp_save; it takes the same args. */ -#ifdef PIC +#if defined(PIC) /* We cannot use the PLT, because it requires that %ebx be set, but we can't save and restore our caller's value. Instead, we do an indirect jump through the GOT, using for the temporary register %ecx, which is call-clobbered. */ - call L(here) -L(here): + call Lhere +Lhere: popl %ecx - addl $_GLOBAL_OFFSET_TABLE_+[.-L(here)], %ecx + addl $_GLOBAL_OFFSET_TABLE_+[.-Lhere], %ecx movl (__sigjmp_save)(%ecx), %ecx jmp *%ecx #else -- cgit v1.2.3