summaryrefslogtreecommitdiffstats
path: root/linker
diff options
context:
space:
mode:
authorAndrew Hsieh <andrewhsieh@google.com>2012-06-20 14:35:51 +0800
committerAndrew Hsieh <andrewhsieh@google.com>2012-06-21 09:26:33 +0800
commit6973e3da873c5694d0011734c7c6841a46150cb1 (patch)
tree27812988f268a0b66e8e0c7fcfab112bcfb82743 /linker
parent028ccf5d40dd9a945ea92aa79822c08c6f6aa1d2 (diff)
downloadbionic-6973e3da873c5694d0011734c7c6841a46150cb1.zip
bionic-6973e3da873c5694d0011734c7c6841a46150cb1.tar.gz
bionic-6973e3da873c5694d0011734c7c6841a46150cb1.tar.bz2
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
Diffstat (limited to 'linker')
-rw-r--r--linker/Android.mk4
-rw-r--r--linker/arch/x86/begin.S1
2 files changed, 4 insertions, 1 deletions
diff --git a/linker/Android.mk b/linker/Android.mk
index 8f8cc2b..c61e351 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 b4427e0..0c0fc3d 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"