Fix assembler warnings.
clang complains if you define a symbol and _then_ make it weak, rather
than the other way round:
/tmp/setjmp-c3c977.s:90:1: warning: sigsetjmp changed binding to STB_WEAK
.weak sigsetjmp;
^
Test: treehugger
Change-Id: Iee6b0ea456bb2e92aea810ce45f171caabaa89d2
diff --git a/libc/arch-x86/bionic/__restore.S b/libc/arch-x86/bionic/__restore.S
index 5977eab..10ab8e5 100644
--- a/libc/arch-x86/bionic/__restore.S
+++ b/libc/arch-x86/bionic/__restore.S
@@ -74,18 +74,18 @@
.cfi_signal_frame
RESTORE_GPRS(4)
nop // See comment in libc/arch-x86_64/bionic/__restore_rt.S about this nop.
-ENTRY_PRIVATE_NO_DWARF(__restore)
+ENTRY_NO_DWARF_PRIVATE(__restore)
popl %eax
RESTORE_GPRS(0)
movl $__NR_sigreturn, %eax
int $0x80
-END(__restore)
+END(__restore) // Not END_NO_DWARF because we _manually_ set up CFI.
.cfi_startproc
.cfi_signal_frame
RESTORE_GPRS(160)
nop // See comment in libc/arch-x86_64/bionic/__restore_rt.S about this nop.
-ENTRY_PRIVATE_NO_DWARF(__restore_rt)
+ENTRY_NO_DWARF_PRIVATE(__restore_rt)
movl $__NR_rt_sigreturn, %eax
int $0x80
-END(__restore_rt)
+END(__restore_rt) // Not END_NO_DWARF because we _manually_ set up CFI.
diff --git a/libc/arch-x86/bionic/setjmp.S b/libc/arch-x86/bionic/setjmp.S
index 1a3eb4b..d22683a 100644
--- a/libc/arch-x86/bionic/setjmp.S
+++ b/libc/arch-x86/bionic/setjmp.S
@@ -64,22 +64,19 @@
.endr
.endm
-ENTRY(setjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(setjmp)
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(setjmp)
movl 4(%esp),%ecx
mov $1,%eax
jmp .L_sigsetjmp
END(setjmp)
-ENTRY(_setjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(_setjmp)
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(_setjmp)
movl 4(%esp),%ecx
movl $0,%eax
jmp .L_sigsetjmp
END(_setjmp)
-ENTRY(sigsetjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(sigsetjmp)
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(sigsetjmp)
movl 4(%esp),%ecx
movl 8(%esp),%eax
@@ -135,8 +132,7 @@
ret
END(sigsetjmp)
-ENTRY(siglongjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(siglongjmp)
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(siglongjmp)
movl 4(%esp),%edx
// Check the checksum before doing anything.
@@ -210,7 +206,5 @@
call PIC_PLT(__bionic_setjmp_checksum_mismatch)
END(siglongjmp)
-ALIAS_SYMBOL(longjmp, siglongjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(longjmp)
-ALIAS_SYMBOL(_longjmp, siglongjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(_longjmp)
+ALIAS_SYMBOL_WEAK_FOR_NATIVE_BRIDGE(longjmp, siglongjmp)
+ALIAS_SYMBOL_WEAK_FOR_NATIVE_BRIDGE(_longjmp, siglongjmp)
diff --git a/libc/arch-x86/bionic/vfork.S b/libc/arch-x86/bionic/vfork.S
index 231a36e..872d0c2 100644
--- a/libc/arch-x86/bionic/vfork.S
+++ b/libc/arch-x86/bionic/vfork.S
@@ -31,8 +31,7 @@
// This custom code preserves the return address across the system call.
-ENTRY(vfork)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(vfork)
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(vfork)
popl %ecx // Grab the return address.
.cfi_adjust_cfa_offset 4
.cfi_rel_offset ecx, 0