OSDN Git Service

linux-user: Assert stack used for auxvec, envp, argv
authorJames Hogan <james.hogan@imgtec.com>
Tue, 25 Mar 2014 23:21:50 +0000 (23:21 +0000)
committerRiku Voipio <riku.voipio@linaro.org>
Fri, 2 May 2014 18:59:27 +0000 (21:59 +0300)
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.hogan@imgtec.com>
Cc: Riku Voipio <riku.voipio@iki.fi>
Cc: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
linux-user/elfload.c

index d2380b6..ecf6f35 100644 (file)
@@ -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;
 }