OSDN Git Service

ANDROID: Revert "arm: move ELF_ET_DYN_BASE to 4MB"
authorEvgenii Stepanov <eugenis@google.com>
Wed, 1 Nov 2017 22:04:42 +0000 (15:04 -0700)
committerGreg Hackmann <ghackmann@google.com>
Thu, 2 Nov 2017 19:11:35 +0000 (19:11 +0000)
This ARM mmap change breaks AddressSanitizer:

Shadow memory range interleaves with an existing memory mapping. ASan cannot proceed correctly. ABORTING.

Revert it until ASAN runtime library is updated to handle it.

Bug: 67425063

This reverts commit d2471b5e84f32de4e09b58f5436a4ce3ee935e32.

arch/arm/include/asm/elf.h

index f13ae15..d2315ff 100644 (file)
@@ -112,8 +112,12 @@ int dump_task_regs(struct task_struct *t, elf_gregset_t *elfregs);
 #define CORE_DUMP_USE_REGSET
 #define ELF_EXEC_PAGESIZE      4096
 
-/* This is the base location for PIE (ET_DYN with INTERP) loads. */
-#define ELF_ET_DYN_BASE                0x400000UL
+/* This is the location that an ET_DYN program is loaded if exec'ed.  Typical
+   use of this is to invoke "./ld.so someprog" to test out a new version of
+   the loader.  We need to make sure that it is out of the way of the program
+   that it will "exec", and that there is sufficient room for the brk.  */
+
+#define ELF_ET_DYN_BASE        (TASK_SIZE / 3 * 2)
 
 /* When the program starts, a1 contains a pointer to a function to be 
    registered with atexit, as per the SVR4 ABI.  A value of 0 means we