summaryrefslogtreecommitdiff
path: root/libc
diff options
context:
space:
mode:
Diffstat (limited to 'libc')
-rw-r--r--libc/stdio/printf.c2
-rw-r--r--libc/sysdeps/linux/common/syscalls.c1
-rw-r--r--libc/sysdeps/linux/sh/longjmp.c4
3 files changed, 5 insertions, 2 deletions
diff --git a/libc/stdio/printf.c b/libc/stdio/printf.c
index de50ed4e5..14e3f2173 100644
--- a/libc/stdio/printf.c
+++ b/libc/stdio/printf.c
@@ -764,7 +764,7 @@ extern int _ppfs_parsespec(ppfs_t *ppfs)
int n;
int argtype[MAX_ARGS_PER_SPEC+2];
int argnumber[3]; /* width, precision, 1st data arg */
- unsigned int conv_num;
+ unsigned int conv_num = 0;
static const char spec_flags[] = SPEC_FLAGS;
static const char spec_chars[] = SPEC_CHARS;/* TODO: b? */
static const char spec_ranges[] = SPEC_RANGES;
diff --git a/libc/sysdeps/linux/common/syscalls.c b/libc/sysdeps/linux/common/syscalls.c
index 4acd0401c..ff7c38478 100644
--- a/libc/sysdeps/linux/common/syscalls.c
+++ b/libc/sysdeps/linux/common/syscalls.c
@@ -35,6 +35,7 @@
#include <errno.h>
#include <sys/types.h>
#include <sys/syscall.h>
+#include <endian.h>
//#define __NR_exit 1
diff --git a/libc/sysdeps/linux/sh/longjmp.c b/libc/sysdeps/linux/sh/longjmp.c
index a17147d5f..dd4f684ad 100644
--- a/libc/sysdeps/linux/sh/longjmp.c
+++ b/libc/sysdeps/linux/sh/longjmp.c
@@ -24,6 +24,8 @@
#include <setjmp.h>
#include <signal.h>
+extern int __longjmp(char *env, int val);
+extern int __sigprocmask(int how, const sigset_t *set, sigset_t *oldset);
/* Set the signal mask to the one specified in ENV, and jump
to the position specified in ENV, causing the setjmp
@@ -36,7 +38,7 @@ void __libc_siglongjmp (sigjmp_buf env, int val)
(sigset_t *) NULL);
/* Call the machine-dependent function to restore machine state. */
- __longjmp (env[0].__jmpbuf, val ?: 1);
+ __longjmp ((char *) env[0].__jmpbuf, val ?: 1);
}
__asm__(".weak longjmp; longjmp = __libc_siglongjmp");