aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libc/arch-arm/bionic/crtbegin.c3
-rwxr-xr-xlibc/arch-x86/bionic/crtbegin.c3
-rwxr-xr-xlinker/arch/x86/begin.c1
3 files changed, 5 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);
}
diff --git a/linker/arch/x86/begin.c b/linker/arch/x86/begin.c
index cdc98e065..051a16af0 100755
--- a/linker/arch/x86/begin.c
+++ b/linker/arch/x86/begin.c
@@ -26,6 +26,7 @@
* SUCH DAMAGE.
*/
+#include <stdint.h>
#include <sys/cdefs.h>
extern unsigned __linker_init(void* raw_args);