From 897815a1feff230be3ea42655a77dcbb9a8dcca9 Mon Sep 17 00:00:00 2001 From: Zhenghua Wang Date: Wed, 19 Oct 2011 00:29:14 +0800 Subject: [PATCH] bionic: add machine type check android linker doesn't check machine type, it may load some libraries which it doesn't support sometimes. Author: Zhenghua Wang Signed-off-by: Bruce Beare --- linker/linker.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/linker/linker.c b/linker/linker.c index e0a8a1827..17008f8ce 100644 --- a/linker/linker.c +++ b/linker/linker.c @@ -707,7 +707,11 @@ verify_elf_object(void *base, const char *name) if (hdr->e_ident[EI_MAG3] != ELFMAG3) return -1; /* TODO: Should we verify anything else in the header? */ - +#ifdef ANDROID_ARM_LINKER + if (hdr->e_machine != EM_ARM) return -1; +#elif defined(ANDROID_X86_LINKER) + if (hdr->e_machine != EM_386) return -1; +#endif return 0; }