mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-04 02:18:37 +00:00
Android's elf.h doesn't have PT_GNU_STACK (sigh) and so r13368 broke
the build. This conditionalises that fragment on the present of PT_GNU_STACK. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13375
This commit is contained in:
parent
c990b98d2a
commit
d4e4244597
@ -315,9 +315,9 @@ Int VG_(load_ELF)(Int fd, const HChar* name, /*MOD*/ExeInfo* info)
|
||||
entry point and initial tocptr (R2) value. */
|
||||
ESZ(Word) interp_offset = 0;
|
||||
|
||||
#ifdef HAVE_PIE
|
||||
# if defined(HAVE_PIE)
|
||||
ebase = info->exe_base;
|
||||
#endif
|
||||
# endif
|
||||
|
||||
e = readelf(fd, name);
|
||||
|
||||
@ -417,11 +417,14 @@ Int VG_(load_ELF)(Int fd, const HChar* name, /*MOD*/ExeInfo* info)
|
||||
}
|
||||
break;
|
||||
|
||||
# if defined(PT_GNU_STACK)
|
||||
/* Android's elf.h doesn't appear to have PT_GNU_STACK. */
|
||||
case PT_GNU_STACK:
|
||||
if ((ph->p_flags & PF_X) == 0) info->stack_prot &= ~VKI_PROT_EXEC;
|
||||
if ((ph->p_flags & PF_W) == 0) info->stack_prot &= ~VKI_PROT_WRITE;
|
||||
if ((ph->p_flags & PF_R) == 0) info->stack_prot &= ~VKI_PROT_READ;
|
||||
break;
|
||||
# endif
|
||||
|
||||
default:
|
||||
// do nothing
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user