Remove 32-bit assumptions from the ELF code.
Change-Id: I2c1f3d34c33685799aade8866eec44479ff9f963
diff --git a/libc/private/KernelArgumentBlock.h b/libc/private/KernelArgumentBlock.h
index 14eca06..105965e 100644
--- a/libc/private/KernelArgumentBlock.h
+++ b/libc/private/KernelArgumentBlock.h
@@ -30,7 +30,7 @@
class KernelArgumentBlock {
public:
KernelArgumentBlock(void* raw_args) {
- uint32_t* args = reinterpret_cast<uint32_t*>(raw_args);
+ uintptr_t* args = reinterpret_cast<uintptr_t*>(raw_args);
argc = static_cast<int>(*args);
argv = reinterpret_cast<char**>(args + 1);
envp = argv + argc + 1;
@@ -43,14 +43,14 @@
}
++p; // Skip second NULL;
- auxv = reinterpret_cast<Elf32_auxv_t*>(p);
+ auxv = reinterpret_cast<Elf_auxv_t*>(p);
}
// Similar to ::getauxval but doesn't require the libc global variables to be set up,
// so it's safe to call this really early on. This function also lets you distinguish
// between the inability to find the given type and its value just happening to be 0.
unsigned long getauxval(unsigned long type, bool* found_match = NULL) {
- for (Elf32_auxv_t* v = auxv; v->a_type != AT_NULL; ++v) {
+ for (Elf_auxv_t* v = auxv; v->a_type != AT_NULL; ++v) {
if (v->a_type == type) {
if (found_match != NULL) {
*found_match = true;
@@ -67,7 +67,7 @@
int argc;
char** argv;
char** envp;
- Elf32_auxv_t* auxv;
+ Elf_auxv_t* auxv;
abort_msg_t** abort_message_ptr;