Android is all-PIC/PIE.

Clean up the x86/x86_64 assembler. The motivator (other than reducing
confusion) was that asm.h incorrectly checked PIC rather than __PIC__.

Bug: 16823325

(cherry picked from commit 6b6364a7fc7c3ba37ee907776a29bdc8c9793db9)

Change-Id: I89ca57fa0eb34a36de6cb11ea85f71054fce709d
diff --git a/libc/arch-x86/bionic/__stack_chk_fail_local.h b/libc/arch-x86/bionic/__stack_chk_fail_local.h
index 4f3699a..0b0fd7f 100644
--- a/libc/arch-x86/bionic/__stack_chk_fail_local.h
+++ b/libc/arch-x86/bionic/__stack_chk_fail_local.h
@@ -26,6 +26,7 @@
  * SUCH DAMAGE.
  */
 
+#include <sys/cdefs.h>
 
 /*
    __stack_chk_fail routine is runtime part of stack protector compiler
@@ -48,13 +49,9 @@
 */
 
 #ifdef __i386__
-#ifdef __PIC__
 extern void __stack_chk_fail();
 
-__attribute__ ((visibility ("hidden")))
-void __stack_chk_fail_local()
-{
+__LIBC_HIDDEN__ void __stack_chk_fail_local() {
   __stack_chk_fail();
 }
 #endif
-#endif
diff --git a/libc/arch-x86/bionic/setjmp.S b/libc/arch-x86/bionic/setjmp.S
index 5b94311..8f9d67c 100644
--- a/libc/arch-x86/bionic/setjmp.S
+++ b/libc/arch-x86/bionic/setjmp.S
@@ -46,11 +46,7 @@
 ENTRY(setjmp)
 	PIC_PROLOGUE
 	pushl	$0
-#ifdef PIC
 	call	PIC_PLT(sigblock)
-#else
-	call	sigblock
-#endif
 	addl	$4,%esp
 	PIC_EPILOGUE
 
@@ -71,11 +67,7 @@
 	movl	4(%esp),%edx
 	PIC_PROLOGUE
 	pushl	24(%edx)
-#ifdef PIC
 	call	PIC_PLT(sigsetmask)
-#else
-	call	sigsetmask
-#endif
 	addl	$4,%esp
 	PIC_EPILOGUE
 
diff --git a/libc/arch-x86/bionic/sigsetjmp.S b/libc/arch-x86/bionic/sigsetjmp.S
index 7ef732e..250c606 100644
--- a/libc/arch-x86/bionic/sigsetjmp.S
+++ b/libc/arch-x86/bionic/sigsetjmp.S
@@ -42,11 +42,7 @@
 
 	PIC_PROLOGUE
 	pushl	$0
-#ifdef PIC
 	call	PIC_PLT(sigblock)
-#else
-	call	sigblock
-#endif
 	addl	$4,%esp
 	PIC_EPILOGUE
 
@@ -70,11 +66,7 @@
 
 	PIC_PROLOGUE
 	pushl	24(%edx)
-#ifdef PIC
 	call	PIC_PLT(sigsetmask)
-#else
-	call	sigsetmask
-#endif
 	addl	$4,%esp
 	PIC_EPILOGUE
 
diff --git a/libc/arch-x86/include/machine/asm.h b/libc/arch-x86/include/machine/asm.h
index 913e6c8..bf77525 100644
--- a/libc/arch-x86/include/machine/asm.h
+++ b/libc/arch-x86/include/machine/asm.h
@@ -37,7 +37,6 @@
 #ifndef _I386_ASM_H_
 #define _I386_ASM_H_
 
-#ifdef PIC
 #define PIC_PROLOGUE	\
 	pushl	%ebx;	\
 	call	1f;	\
@@ -49,13 +48,6 @@
 #define PIC_PLT(x)	x@PLT
 #define PIC_GOT(x)	x@GOT(%ebx)
 #define PIC_GOTOFF(x)	x@GOTOFF(%ebx)
-#else
-#define PIC_PROLOGUE
-#define PIC_EPILOGUE
-#define PIC_PLT(x)	x
-#define PIC_GOT(x)	x
-#define PIC_GOTOFF(x)	x
-#endif
 
 /* let kernels and others override entrypoint alignment */
 #if !defined(_ALIGN_TEXT) && !defined(_KERNEL)
diff --git a/libc/arch-x86_64/bionic/setjmp.S b/libc/arch-x86_64/bionic/setjmp.S
index c81b573..f356877 100644
--- a/libc/arch-x86_64/bionic/setjmp.S
+++ b/libc/arch-x86_64/bionic/setjmp.S
@@ -52,11 +52,7 @@
 ENTRY(setjmp)
 	pushq	%rdi
 	xorq	%rdi,%rdi
-#ifdef __PIC__
 	call	PIC_PLT(sigblock)
-#else
-	call	sigblock
-#endif
 	popq	%rdi
 	movq	%rax,(_JB_SIGMASK * 8)(%rdi)
 
@@ -80,11 +76,7 @@
 
 	movq	(_JB_SIGMASK * 8)(%rdi),%rdi
 	pushq	%r8
-#ifdef __PIC__
 	call	PIC_PLT(sigsetmask)
-#else
-	call	sigsetmask
-#endif
 	popq	%r8
 	movq	(_JB_RBX * 8)(%r12),%rbx
 	movq	(_JB_RBP * 8)(%r12),%rbp
diff --git a/libc/arch-x86_64/bionic/sigsetjmp.S b/libc/arch-x86_64/bionic/sigsetjmp.S
index 718743f..571fea3 100644
--- a/libc/arch-x86_64/bionic/sigsetjmp.S
+++ b/libc/arch-x86_64/bionic/sigsetjmp.S
@@ -57,11 +57,7 @@
 
 	pushq	%rdi
 	xorq	%rdi,%rdi
-#ifdef __PIC__
 	call	PIC_PLT(sigblock)
-#else
-	call	sigblock
-#endif
 	popq	%rdi
 	movq	%rax,(_JB_SIGMASK * 8)(%rdi)
 
@@ -86,11 +82,7 @@
 	jz      2f
 
 	movq	(_JB_SIGMASK * 8)(%rdi),%rdi
-#ifdef __PIC__
 	call	PIC_PLT(sigsetmask)
-#else
-	call	sigsetmask
-#endif
 2:	popq	%rax
 	movq	(_JB_RBX * 8)(%r12),%rbx
 	movq	(_JB_RBP * 8)(%r12),%rbp
diff --git a/libc/arch-x86_64/include/machine/asm.h b/libc/arch-x86_64/include/machine/asm.h
index 0af6dae..06da39a 100644
--- a/libc/arch-x86_64/include/machine/asm.h
+++ b/libc/arch-x86_64/include/machine/asm.h
@@ -37,13 +37,8 @@
 #ifndef _AMD64_ASM_H_
 #define _AMD64_ASM_H_
 
-#ifdef __PIC__
 #define PIC_PLT(x)	x@PLT
 #define PIC_GOT(x)	x@GOTPCREL(%rip)
-#else
-#define PIC_PLT(x)	x
-#define PIC_GOT(x)	x
-#endif
 
 /* let kernels and others override entrypoint alignment */
 #ifndef _ALIGN_TEXT