From 6973e3da873c5694d0011734c7c6841a46150cb1 Mon Sep 17 00:00:00 2001
From: Andrew Hsieh <andrewhsieh@google.com>
Date: Wed, 20 Jun 2012 14:35:51 +0800
Subject: [PATCH] Define __stack_chk_fail_local.S

With -fstack-protector, x86 -m32 needs __stack_chk_fail_local
defined in crtbegin_*.o.

Include __stack_chk_fail_local.S in begin.S otherwise linker
(which is built w/o crt*) may not link.

Change-Id: Id242fcf3eff157264afe3b04f27288ab7991220a
---
 linker/Android.mk       | 4 +++-
 linker/arch/x86/begin.S | 1 +
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/linker/Android.mk b/linker/Android.mk
index 8f8cc2b33..c61e351fc 100644
--- a/linker/Android.mk
+++ b/linker/Android.mk
@@ -24,7 +24,9 @@ LOCAL_CFLAGS += -DLINKER_DEBUG=0
 ifeq ($(TARGET_ARCH)-$(ARCH_ARM_HAVE_TLS_REGISTER),arm-true)
     LOCAL_CFLAGS += -DHAVE_ARM_TLS_REGISTER
 endif
-LOCAL_CFLAGS += -I$(LOCAL_PATH)/../libc/private
+LOCAL_CFLAGS += \
+    -I$(LOCAL_PATH)/../libc/private \
+    -I$(LOCAL_PATH)/../libc/arch-$(TARGET_ARCH)/bionic
 
 ifeq ($(TARGET_ARCH),arm)
 LOCAL_CFLAGS += -DANDROID_ARM_LINKER
diff --git a/linker/arch/x86/begin.S b/linker/arch/x86/begin.S
index b4427e0cb..0c0fc3de3 100644
--- a/linker/arch/x86/begin.S
+++ b/linker/arch/x86/begin.S
@@ -44,3 +44,4 @@ _start:
         popl   %esp
         jmp    *%eax
 
+#include "__stack_chk_fail_local.S"