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"