Assert that the amount of stack space used for auxvec, envp & argv
exactly matches the amount allocated. This catches if DLINFO_ITEMS isn't
updated when another NEW_AUX_ENT is added.

Signed-off-by: James Hogan <james.ho...@imgtec.com>
Cc: Riku Voipio <riku.voi...@iki.fi>
Cc: Peter Maydell <peter.mayd...@linaro.org>
---
This should be applied after "linux-user: Correct DLINFO_ITEMS" or the
assert will fail.

Tested with linux-user-test-0.3 before and after fixing DLINFO_ITEMS.
---
 linux-user/elfload.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index d2380b6..ecf6f35 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -1455,6 +1455,8 @@ static abi_ulong create_elf_tables(abi_ulong p, int argc, 
int envc,
     info->auxv_len = sp_auxv - sp;
 
     sp = loader_build_argptr(envc, argc, sp, p, 0);
+    /* Check the right amount of stack was allocated for auxvec, envp & argv. 
*/
+    assert(sp_auxv - sp == size);
     return sp;
 }
 
-- 
1.8.3.2


Reply via email to