restore use of .type in asm, but use modern @function (vs %function)
authorRich Felker <dalias@aerifal.cx>
Wed, 15 Jun 2011 03:15:08 +0000 (23:15 -0400)
committerRich Felker <dalias@aerifal.cx>
Wed, 15 Jun 2011 03:15:08 +0000 (23:15 -0400)
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.

20 files changed:
src/internal/i386/syscall.s
src/internal/x86_64/syscall.s
src/setjmp/i386/longjmp.s
src/setjmp/i386/setjmp.s
src/setjmp/x86_64/longjmp.s
src/setjmp/x86_64/setjmp.s
src/signal/i386/restore.s
src/signal/i386/sigsetjmp.s
src/signal/x86_64/restore.s
src/signal/x86_64/sigsetjmp.s
src/thread/i386/__set_thread_area.s
src/thread/i386/__unmapself.s
src/thread/i386/cancellation2.s
src/thread/i386/cancellation3.s
src/thread/i386/clone.s
src/thread/i386/syscall_cp.s
src/thread/x86_64/__set_thread_area.s
src/thread/x86_64/__unmapself.s
src/thread/x86_64/clone.s
src/thread/x86_64/syscall_cp.s

index 083db1ceadb9ea751b464e8155aa6a5b96ca85ed..327d4cc05dda9f1c89724451cee23d0edbf72a0c 100644 (file)
@@ -1,4 +1,5 @@
 .global __syscall
+.type __syscall,@function
 __syscall:
        pushl %ebx
        pushl %esi
index 931f44f6c072f12853e1e19b3d05f5ffd6ef2a6c..6e0db09c307e176c7386cc35546527690ac87efa 100644 (file)
@@ -1,4 +1,5 @@
 .global __syscall
+.type __syscall,@function
 __syscall:
        movq %rdi,%rax
        movq %rsi,%rdi
index b139d9fe7874c035e409dde6a8893e608f34f38d..772d28ddb283e8ee983e75ec6b167ef0f80979d7 100644 (file)
@@ -1,5 +1,7 @@
 .global _longjmp
 .global longjmp
+.type _longjmp,@function
+.type longjmp,@function
 _longjmp:
 longjmp:
        mov  4(%esp),%edx
index d53c1a6344f9a748160be2cfb56bbfe1d38ca721..586d439066084693ce7d7dec436d70c98ef732bc 100644 (file)
@@ -1,6 +1,9 @@
 .global __setjmp
 .global _setjmp
 .global setjmp
+.type __setjmp,@function
+.type _setjmp,@function
+.type setjmp,@function
 __setjmp:
 _setjmp:
 setjmp:
index 70271bf575583ea2ec7ac24acdce395236acefc4..444076f13c6e35ab036ae21b388f8107a9f6d847 100644 (file)
@@ -1,6 +1,8 @@
 /* Copyright 2011 Nicholas J. Kain, licensed GNU LGPL 2.1 or later */
 .global _longjmp
 .global longjmp
+.type _longjmp,@function
+.type longjmp,@function
 _longjmp:
 longjmp:
        mov %rsi,%rax           /* val will be longjmp return */
index d5ff113a227dfa1564b89cfbe5472840fe0f48f0..5b3173b9c53045b8129055cda7ed8c3b56e9f556 100644 (file)
@@ -2,6 +2,9 @@
 .global __setjmp
 .global _setjmp
 .global setjmp
+.type __setjmp,@function
+.type _setjmp,@function
+.type setjmp,@function
 __setjmp:
 _setjmp:
 setjmp:
index 298ba9a5dacc25ef13cb79099ccfb43d47312d46..a30b69c41453b1231819cf2eec81c02af1fe5a0e 100644 (file)
@@ -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
index 0e7eefb09530caddbad28c947b9e334cafda62f9..06e0a614d1566c2de44873eaee192d3964495f1d 100644 (file)
@@ -1,4 +1,5 @@
 .global sigsetjmp
+.type sigsetjmp,@function
 sigsetjmp:
        mov 4(%esp),%eax
        mov 8(%esp),%ecx
index f6bb6ff13f71257c429247077a19262c8dbf4ead..682af2dd84accf2f8f5e1442e200ced3d03c9f26 100644 (file)
@@ -1,5 +1,7 @@
 .global __restore_rt
 .global __restore
+.type __restore_rt,@function
+.type __restore,@function
 __restore_rt:
 __restore:
        movl $15, %eax
index ac02adb2ce5eb35b8113df5f2bec54157de2c140..e883ac449360c227fb9acb49388c268f3b956c2e 100644 (file)
@@ -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)
index 2a2e31a49aff34f58af417bbded4ba4f9599cfc0..a43525ece153bc2b40462f17ba981248d072b82f 100644 (file)
@@ -1,5 +1,6 @@
 .text
 .global __set_thread_area
+.type   __set_thread_area,@function
 __set_thread_area:
        pushl %ebx
        movl 8(%esp),%ecx
index b5e9c71300a4954390a947cb3ece340794bc8cdb..d6569594ae0c3b729bba2ba6b223bfdd605ff487 100644 (file)
@@ -1,5 +1,6 @@
 .text
 .global __unmapself
+.type   __unmapself,@function
 __unmapself:
        movl $91,%eax
        movl 4(%esp),%ebx
index 6f3f69408997a1162d21a3cb4c6a7bd4b7964425..4e4438b5bde36ec91c8da1f77b752c77e7e99045 100644 (file)
@@ -1,5 +1,6 @@
 .text
 .global __pthread_register_cancel
+.type   __pthread_register_cancel,@function
 __pthread_register_cancel:
        pushl %eax
        call __pthread_register_cancel_3
@@ -7,6 +8,7 @@ __pthread_register_cancel:
        ret
 
 .global __pthread_unregister_cancel
+.type   __pthread_unregister_cancel,@function
 __pthread_unregister_cancel:
        pushl %eax
        call __pthread_unregister_cancel_3
index 6096b8cea3ac716eac4f1ed66da876eaef48fb30..88340224d2c4f4d343b046ce8ffed9f9bb796169 100644 (file)
@@ -1,5 +1,6 @@
 .text
 .global __pthread_unwind_next
+.type   __pthread_unwind_next,@function
 __pthread_unwind_next:
        pushl %eax
        call __pthread_unwind_next_3
index 4133915be6ed47aa9a233bc054ac907218e1ec9e..7af5f5db0715032af8f5745d48670ea0ed5f50d6 100644 (file)
@@ -1,5 +1,6 @@
 .text
 .global __uniclone
+.type   __uniclone,@function
 __uniclone:
        movl    4(%esp),%ecx
        subl    $24,%ecx
index fa435f32ec3d127dec911fc9d8c0da1f4e79fa0c..05e867a146ec90bd76658ca661141c22496ba500 100644 (file)
@@ -1,5 +1,6 @@
 .text
 .global __syscall_cp_asm
+.type   __syscall_cp_asm,@function
 __syscall_cp_asm:
        pushl %ebx
        pushl %esi
index 75f19a86d73dc0e2ce8313be449389c589b6e620..99c5356a77dadc4b825d090eb82d6663c19d8484 100644 (file)
@@ -1,6 +1,7 @@
 /* Copyright 2011 Nicholas J. Kain, licensed GNU LGPL 2.1 or later */
 .text
 .global __set_thread_area
+.type __set_thread_area,@function
 __set_thread_area:
         mov %rdi,%rsi           /* shift for syscall */
         movl $0x1002,%edi       /* SET_FS register */
index 438f5eb86714d2cb9c1b39078b55ea48174312df..99c1b7c168efde0dfae9745f31805ef95ab3028a 100644 (file)
@@ -1,6 +1,7 @@
 /* Copyright 2011 Nicholas J. Kain, licensed GNU LGPL 2.1 or later */
 .text
 .global __unmapself
+.type   __unmapself,@function
 __unmapself:
        movl $11,%eax   /* SYS_munmap */
        syscall         /* munmap(arg2,arg3) */
index ce67cc622e6754a967b4030698173808a9c59f55..bf128a47536d19b04acca470bebf89addc4a7d33 100644 (file)
@@ -1,6 +1,7 @@
 /* Copyright 2011 Nicholas J. Kain, licensed GNU LGPL 2.1 or later */
 .text
 .global __uniclone
+.type   __uniclone,@function
 /* rdi = child_stack, rsi = start, rdx = pthread_struct */
 __uniclone:
         subq    $8,%rsp         /* pad parent stack to prevent branch later */
index 2081928887ab348730b82fa8be3a304754187366..b03635475ab912fa932b0320735a6161e7e57ca0 100644 (file)
@@ -1,5 +1,6 @@
 .text
 .global __syscall_cp_asm
+.type   __syscall_cp_asm,@function
 __syscall_cp_asm:
        lea 1f(%rip),%rax
        mov %rax,8(%rdi)