From 734de7a8b4deec3ff79f4e5369490d76b2de44b5 Mon Sep 17 00:00:00 2001 From: Dehao Chen Date: Wed, 14 Jan 2015 11:21:22 -0800 Subject: [PATCH] Emit unique linker buildid in all binaries. We want to store the symbol information for all android binaries in a global database. * We ingest unstripped binaries into the global database * When we collect address data from device (e.g. instruction pointer address), we want to lookup its symbol information through the global database. The key of the mapping is a unique build id, which is the same between binaries on device (stripped) and unstripped binaries. After applying this patch, the system.img size increases by 0.0047% (16.3KB). Change-Id: Id92faf2951f43a30947e8d2b690c1af6bf7e3f54 --- core/combo/TARGET_linux-arm.mk | 1 + core/combo/TARGET_linux-arm64.mk | 1 + core/combo/TARGET_linux-mips.mk | 1 + core/combo/TARGET_linux-mips64.mk | 1 + core/combo/TARGET_linux-x86.mk | 1 + core/combo/TARGET_linux-x86_64.mk | 1 + 6 files changed, 6 insertions(+) diff --git a/core/combo/TARGET_linux-arm.mk b/core/combo/TARGET_linux-arm.mk index c1f3665771..8059b2adee 100644 --- a/core/combo/TARGET_linux-arm.mk +++ b/core/combo/TARGET_linux-arm.mk @@ -133,6 +133,7 @@ $(combo_2nd_arch_prefix)TARGET_GLOBAL_LDFLAGS += \ -Wl,-z,noexecstack \ -Wl,-z,relro \ -Wl,-z,now \ + -Wl,--build-id=md5 \ -Wl,--warn-shared-textrel \ -Wl,--fatal-warnings \ -Wl,--icf=safe \ diff --git a/core/combo/TARGET_linux-arm64.mk b/core/combo/TARGET_linux-arm64.mk index c1fddb22d0..abd8e3a9c6 100644 --- a/core/combo/TARGET_linux-arm64.mk +++ b/core/combo/TARGET_linux-arm64.mk @@ -108,6 +108,7 @@ TARGET_GLOBAL_LDFLAGS += \ -Wl,-z,noexecstack \ -Wl,-z,relro \ -Wl,-z,now \ + -Wl,--build-id=md5 \ -Wl,--warn-shared-textrel \ -Wl,--fatal-warnings \ -Wl,-maarch64linux \ diff --git a/core/combo/TARGET_linux-mips.mk b/core/combo/TARGET_linux-mips.mk index f851af4c2d..e3b4827a73 100644 --- a/core/combo/TARGET_linux-mips.mk +++ b/core/combo/TARGET_linux-mips.mk @@ -104,6 +104,7 @@ $(combo_2nd_arch_prefix)TARGET_GLOBAL_LDFLAGS += \ -Wl,-z,noexecstack \ -Wl,-z,relro \ -Wl,-z,now \ + -Wl,--build-id=md5 \ -Wl,--warn-shared-textrel \ -Wl,--fatal-warnings \ $(arch_variant_ldflags) diff --git a/core/combo/TARGET_linux-mips64.mk b/core/combo/TARGET_linux-mips64.mk index 2a30f3f207..f3ba18c52b 100644 --- a/core/combo/TARGET_linux-mips64.mk +++ b/core/combo/TARGET_linux-mips64.mk @@ -104,6 +104,7 @@ TARGET_GLOBAL_LDFLAGS += \ -Wl,-z,noexecstack \ -Wl,-z,relro \ -Wl,-z,now \ + -Wl,--build-id=md5 \ -Wl,--warn-shared-textrel \ -Wl,--fatal-warnings \ $(arch_variant_ldflags) diff --git a/core/combo/TARGET_linux-x86.mk b/core/combo/TARGET_linux-x86.mk index c2188c054f..e22500e51c 100644 --- a/core/combo/TARGET_linux-x86.mk +++ b/core/combo/TARGET_linux-x86.mk @@ -122,6 +122,7 @@ $(combo_2nd_arch_prefix)TARGET_GLOBAL_LDFLAGS += -m32 $(combo_2nd_arch_prefix)TARGET_GLOBAL_LDFLAGS += -Wl,-z,noexecstack $(combo_2nd_arch_prefix)TARGET_GLOBAL_LDFLAGS += -Wl,-z,relro -Wl,-z,now +$(combo_2nd_arch_prefix)TARGET_GLOBAL_LDFLAGS += -Wl,--build-id=md5 $(combo_2nd_arch_prefix)TARGET_GLOBAL_LDFLAGS += -Wl,--warn-shared-textrel $(combo_2nd_arch_prefix)TARGET_GLOBAL_LDFLAGS += -Wl,--fatal-warnings $(combo_2nd_arch_prefix)TARGET_GLOBAL_LDFLAGS += -Wl,--gc-sections diff --git a/core/combo/TARGET_linux-x86_64.mk b/core/combo/TARGET_linux-x86_64.mk index 6581f64743..d92e974a3c 100644 --- a/core/combo/TARGET_linux-x86_64.mk +++ b/core/combo/TARGET_linux-x86_64.mk @@ -127,6 +127,7 @@ TARGET_GLOBAL_LDFLAGS += -m64 TARGET_GLOBAL_LDFLAGS += -Wl,-z,noexecstack TARGET_GLOBAL_LDFLAGS += -Wl,-z,relro -Wl,-z,now +TARGET_GLOBAL_LDFLAGS += -Wl,--build-id=md5 TARGET_GLOBAL_LDFLAGS += -Wl,--warn-shared-textrel TARGET_GLOBAL_LDFLAGS += -Wl,--fatal-warnings TARGET_GLOBAL_LDFLAGS += -Wl,--gc-sections