I need to extract all arguments from CallStaticObjectMethodV JNI call on ARMv7 Android at Assembler level.

Can anyone advice how is va_list implemented on low level in ARMv7 Android?


From Procedure Call Standard for the ARM® Architecture (ARM IHI 0042E):

Typedef: va_list

Base type:

struct __va_list {
void *__ap;


A va_list may address any object in a parameter list. Consequently, the first object addressed may only have word alignment (all objects are at least word aligned), but any double-word aligned object will appear at the correct double-word alignment in memory. In C++, __va_list is in namespace std.

So basically it's just a pointer to the word-aligned arguments in memory.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.