diff options
Diffstat (limited to 'libc')
-rw-r--r-- | libc/arch-arm/bionic/crtbegin.c | 3 | ||||
-rwxr-xr-x | libc/arch-x86/bionic/crtbegin.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/libc/arch-arm/bionic/crtbegin.c b/libc/arch-arm/bionic/crtbegin.c index cc587975d..1bcb335a3 100644 --- a/libc/arch-arm/bionic/crtbegin.c +++ b/libc/arch-arm/bionic/crtbegin.c @@ -28,6 +28,7 @@ #include "../../bionic/libc_init_common.h" #include <stddef.h> +#include <stdint.h> __attribute__ ((section (".preinit_array"))) void (*__PREINIT_ARRAY__)(void) = (void (*)(void)) -1; @@ -44,7 +45,7 @@ __LIBC_HIDDEN__ void _start() { array.init_array = &__INIT_ARRAY__; array.fini_array = &__FINI_ARRAY__; - void* raw_args = __builtin_frame_address(0) + sizeof(void*); + void* raw_args = (void*) ((uintptr_t) __builtin_frame_address(0) + sizeof(void*)); __libc_init(raw_args, NULL, &main, &array); } diff --git a/libc/arch-x86/bionic/crtbegin.c b/libc/arch-x86/bionic/crtbegin.c index 63e58a6d2..43e9306ba 100755 --- a/libc/arch-x86/bionic/crtbegin.c +++ b/libc/arch-x86/bionic/crtbegin.c @@ -28,6 +28,7 @@ #include "../../bionic/libc_init_common.h" #include <stddef.h> +#include <stdint.h> __attribute__ ((section (".preinit_array"))) void (*__PREINIT_ARRAY__)(void) = (void (*)(void)) -1; @@ -46,7 +47,7 @@ void _start() { array.init_array = &__INIT_ARRAY__; array.fini_array = &__FINI_ARRAY__; - void* raw_args = __builtin_frame_address(0) + sizeof(void*); + void* raw_args = (void*) ((uintptr_t) __builtin_frame_address(0) + sizeof(void*)); __libc_init(raw_args, NULL, &main, &array); } |