uml: signal.c build errors
Hi,
When building UML against 3.7-rc2 I encounter the following build error:
# make ARCH=uml scripts/kconfig/conf --silentoldconfig arch/x86/um/Kconfig CHK include/generated/uapi/linux/version.h UPD include/generated/uapi/linux/version.h WRAP arch/um/include/generated/asm/clkdev.h SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_32.h SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_64.h SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_x32.h
...
CC arch/um/os-Linux/signal.oarch/um/os-Linux/signal.c:18:8: error: conflicting types for ‘sig_info’
In file included from arch/um/os-Linux/signal.c:12:0:/home/matthew/Development/linux/arch/um/include/shared/as-layout.h:64:15: note: previous declaration of ‘sig_info’ was here arch/um/os-Linux/signal.c:19:2: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:19:2: warning: (near initialization for ‘sig_info[5]’) [enabled by default] arch/um/os-Linux/signal.c:20:2: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:20:2: warning: (near initialization for ‘sig_info[8]’) [enabled by default] arch/um/os-Linux/signal.c:21:2: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:21:2: warning: (near initialization for ‘sig_info[4]’) [enabled by default] arch/um/os-Linux/signal.c:22:2: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:22:2: warning: (near initialization for ‘sig_info[28]’) [enabled by default] arch/um/os-Linux/signal.c:23:2: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:23:2: warning: (near initialization for ‘sig_info[7]’) [enabled by default] arch/um/os-Linux/signal.c:24:2: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:24:2: warning: (near initialization for ‘sig_info[11]’) [enabled by default] arch/um/os-Linux/signal.c:25:2: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:25:2: warning: (near initialization for ‘sig_info[29]’) [enabled by default] arch/um/os-Linux/signal.c:26:2: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:26:2: warning: (near initialization for ‘sig_info[26]’) [enabled by default] arch/um/os-Linux/signal.c:133:1: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:133:1: warning: (near initialization for ‘handlers[26]’) [enabled by default] make[1]: *** [arch/um/os-Linux/signal.o] Error 1
make: *** [arch/um/os-Linux] Error 2
I have tracked this down to [1] where, indeed, the type of sig_info is different; the second parameter in signal.c is 'siginfo_t' where as in as-layout.h the second parameter's type is declared as 'struct siginfo'.
[1]: d3c1cfcdb43e023ab1b1c7a555cd9e929026500a
Matt
Richard Weinberger
maintainerQuoted 40 lines · Matthew Leach
Hi,
When building UML against 3.7-rc2 I encounter the following build error:
# make ARCH=uml scripts/kconfig/conf --silentoldconfig arch/x86/um/Kconfig CHK include/generated/uapi/linux/version.h UPD include/generated/uapi/linux/version.h WRAP arch/um/include/generated/asm/clkdev.h SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_32.h SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_64.h SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_x32.h...
CC
arch/um/os-Linux/signal.oarch/um/os-Linux/signal.c:18:8: error: conflicting types for ‘sig_info’
In file included fromarch/um/os-Linux/signal.c:12:0:/home/matthew/Development/linux/arch/um/include/shared/as-layout.h:64:15: note: previous declaration of ‘sig_info’ was herearch/um/os-Linux/signal.c:19:2: warning: initialization from incompatible pointer type [enabled by default]arch/um/os-Linux/signal.c:19:2: warning: (near initialization for ‘sig_info[5]’) [enabled by default]arch/um/os-Linux/signal.c:20:2: warning: initialization from incompatible pointer type [enabled by default]arch/um/os-Linux/signal.c:20:2: warning: (near initialization for ‘sig_info[8]’) [enabled by default]arch/um/os-Linux/signal.c:21:2: warning: initialization from incompatible pointer type [enabled by default]arch/um/os-Linux/signal.c:21:2: warning: (near initialization for ‘sig_info[4]’) [enabled by default]arch/um/os-Linux/signal.c:22:2: warning: initialization from incompatible pointer type [enabled by default]arch/um/os-Linux/signal.c:22:2: warning: (near initialization for ‘sig_info[28]’) [enabled by default]arch/um/os-Linux/signal.c:23:2: warning: initialization from incompatible pointer type [enabled by default]arch/um/os-Linux/signal.c:23:2: warning: (near initialization for ‘sig_info[7]’) [enabled by default]arch/um/os-Linux/signal.c:24:2: warning: initialization from incompatible pointer type [enabled by default]arch/um/os-Linux/signal.c:24:2: warning: (near initialization for ‘sig_info[11]’) [enabled by default]arch/um/os-Linux/signal.c:25:2: warning: initialization from incompatible pointer type [enabled by default]arch/um/os-Linux/signal.c:25:2: warning: (near initialization for ‘sig_info[29]’) [enabled by default]arch/um/os-Linux/signal.c:26:2: warning: initialization from incompatible pointer type [enabled by default]arch/um/os-Linux/signal.c:26:2: warning: (near initialization for ‘sig_info[26]’) [enabled by default]arch/um/os-Linux/signal.c:133:1: warning: initialization from incompatible pointer type [enabled by default]arch/um/os-Linux/signal.c:133:1: warning: (near initialization for ‘handlers[26]’) [enabled by default] make[1]: *** [arch/um/os-Linux/signal.o] Error 1
make: *** [arch/um/os-Linux] Error 2
Quoted 5 lines
I have tracked this down to [1] where, indeed, the type of
sig_infois different; the second parameter insignal.cis 'siginfo_t' where as inas-layout.hthe second parameter's type is declared as 'struct siginfo'.[1]:
d3c1cfcdb43e023ab1b1c7a555cd9e929026500a
Does this patch fix the issue?
Are you using glibc 2.17?
Thanks,
//richard
---
arch/um/include/shared/as-layout.h +0 -3
@@ -60,9 +60,6 @@ extern unsigned long host_task_size;extern int linux_main (int argc,char **argv); -struct siginfo ; -extern void (*sig_info[])(int ,struct siginfo *si,struct uml_pt_regs *); -#endif #endif
arch/um/os-Linux/skas/process.c +3 -0
@@ -23,6 +23,9 @@#include <skas_ptrace.h> #include <sysdep/stub.h> +#include <signal.h> +extern void (*sig_info[NSIG ])(int ,siginfo_t *,struct uml_pt_regs *); +int is_skas_winch (int pid,int fd,void *data) {return pid ==getpgrp ();
Richard Weinberger
maintainerQuoted 42 lines · Richard Weinberger
Quoted 41 lines · Matthew Leach
Hi,
When building UML against 3.7-rc2 I encounter the following build error:
# make ARCH=uml scripts/kconfig/conf --silentoldconfig arch/x86/um/Kconfig CHK include/generated/uapi/linux/version.h UPD include/generated/uapi/linux/version.h WRAP arch/um/include/generated/asm/clkdev.h SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_32.h SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_64.h SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_x32.h...
CC
arch/um/os-Linux/signal.oarch/um/os-Linux/signal.c:18:8: error: conflicting types for ‘sig_info’
In file included fromarch/um/os-Linux/signal.c:12:0:/home/matthew/Development/linux/arch/um/include/shared/as-layout.h:64:15: note: previous declaration of ‘sig_info’ was herearch/um/os-Linux/signal.c:19:2: warning: initialization from incompatible pointer type [enabled by default]arch/um/os-Linux/signal.c:19:2: warning: (near initialization for ‘sig_info[5]’) [enabled by default]arch/um/os-Linux/signal.c:20:2: warning: initialization from incompatible pointer type [enabled by default]arch/um/os-Linux/signal.c:20:2: warning: (near initialization for ‘sig_info[8]’) [enabled by default]arch/um/os-Linux/signal.c:21:2: warning: initialization from incompatible pointer type [enabled by default]arch/um/os-Linux/signal.c:21:2: warning: (near initialization for ‘sig_info[4]’) [enabled by default]arch/um/os-Linux/signal.c:22:2: warning: initialization from incompatible pointer type [enabled by default]arch/um/os-Linux/signal.c:22:2: warning: (near initialization for ‘sig_info[28]’) [enabled by default]arch/um/os-Linux/signal.c:23:2: warning: initialization from incompatible pointer type [enabled by default]arch/um/os-Linux/signal.c:23:2: warning: (near initialization for ‘sig_info[7]’) [enabled by default]arch/um/os-Linux/signal.c:24:2: warning: initialization from incompatible pointer type [enabled by default]arch/um/os-Linux/signal.c:24:2: warning: (near initialization for ‘sig_info[11]’) [enabled by default]arch/um/os-Linux/signal.c:25:2: warning: initialization from incompatible pointer type [enabled by default]arch/um/os-Linux/signal.c:25:2: warning: (near initialization for ‘sig_info[29]’) [enabled by default]arch/um/os-Linux/signal.c:26:2: warning: initialization from incompatible pointer type [enabled by default]arch/um/os-Linux/signal.c:26:2: warning: (near initialization for ‘sig_info[26]’) [enabled by default]arch/um/os-Linux/signal.c:133:1: warning: initialization from incompatible pointer type [enabled by default]arch/um/os-Linux/signal.c:133:1: warning: (near initialization for ‘handlers[26]’) [enabled by default] make[1]: *** [arch/um/os-Linux/signal.o] Error 1
make: *** [arch/um/os-Linux] Error 2
Quoted 8 lines
Quoted 5 lines
I have tracked this down to [1] where, indeed, the type of
sig_infois different; the second parameter insignal.cis 'siginfo_t' where as inas-layout.hthe second parameter's type is declared as 'struct siginfo'.[1]:
d3c1cfcdb43e023ab1b1c7a555cd9e929026500aDoes this patch fix the issue?
Are you using glibc 2.17?
If not, Martin, can you please convert your code to siginfo_t? It looks like struct sig_info and siginfo_t are no longer compatible.
Thanks,
//richard
Hi Richard,
Quoted 2 lines · Richard Weinberger
Does this patch fix the issue?
Your patch fixed the initial error, but I now get:
CC arch/um/os-Linux/signal.oarch/um/os-Linux/signal.c:19:2: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:19:2: warning: (near initialization for ‘sig_info[5]’) [enabled by default] arch/um/os-Linux/signal.c:20:2: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:20:2: warning: (near initialization for ‘sig_info[8]’) [enabled by default] arch/um/os-Linux/signal.c:21:2: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:21:2: warning: (near initialization for ‘sig_info[4]’) [enabled by default] arch/um/os-Linux/signal.c:22:2: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:22:2: warning: (near initialization for ‘sig_info[28]’) [enabled by default] arch/um/os-Linux/signal.c:23:2: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:23:2: warning: (near initialization for ‘sig_info[7]’) [enabled by default] arch/um/os-Linux/signal.c:24:2: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:24:2: warning: (near initialization for ‘sig_info[11]’) [enabled by default] arch/um/os-Linux/signal.c:25:2: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:25:2: warning: (near initialization for ‘sig_info[29]’) [enabled by default] arch/um/os-Linux/signal.c:26:2: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:26:2: warning: (near initialization for ‘sig_info[26]’) [enabled by default] arch/um/os-Linux/signal.c:133:1: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:133:1: warning: (near initialization for ‘handlers[26]’) [enabled by default]
CC arch/um/os-Linux/start_up.oarch/um/os-Linux/start_up.c: In function ‘check_coredump_limit’:arch/um/os-Linux/start_up.c:338:16: error: storage size of ‘lim’ isn’t known arch/um/os-Linux/start_up.c:339:2: error: implicit declaration of function ‘getrlimit’ [-Werror=implicit-function-declaration] arch/um/os-Linux/start_up.c:339:22: error: ‘RLIMIT_CORE’ undeclared (first use in this function) arch/um/os-Linux/start_up.c:339:22: note: each undeclared identifier is reported only once for each function it appears in arch/um/os-Linux/start_up.c:347:22: error: ‘RLIM_INFINITY’ undeclared (first use in this function) arch/um/os-Linux/start_up.c:338:16: warning: unused variable ‘lim’ [-Wunused-variable]
cc1: some warnings being treated as errors
make[1]: *** [arch/um/os-Linux/start_up.o] Error 1
make: *** [arch/um/os-Linux] Error 2
Quoted 1 line
Are you using glibc 2.17?
I am using glibc 2.16 with gcc 4.7.2.
Thanks,
Matt
Richard Weinberger
maintainerQuoted 7 lines · Matthew Leach
Hi Richard,
Quoted 2 lines · Richard Weinberger
Does this patch fix the issue?
Your patch fixed the initial error, but I now get:
Okay, we have to get rid of all struct sig_infos.
A patch is on the way.
Thanks,
//richard
Quoted 15 lines · Richard Weinberger <richard <at> nod.at> writes:
Quoted 13 lines · Matthew Leach
Hi,
When building UML against 3.7-rc2 I encounter the following build error:
# make ARCH=uml scripts/kconfig/conf --silentoldconfig arch/x86/um/Kconfig CHK include/generated/uapi/linux/version.h UPD include/generated/uapi/linux/version.h WRAP arch/um/include/generated/asm/clkdev.h SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_32.h SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_64.h SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_x32.h
Quoted 6 lines
Quoted 6 lines
...
CC
arch/um/os-Linux/signal.oarch/um/os-Linux/signal.c:18:8: error: conflicting types for ‘sig_info’ In file included fromarch/um/os-Linux/signal.c:12:0:/home/matthew/Development/linux/arch/um/include/shared/as-layout.h:64:15:
note: previous
Quoted 2 lines
declaration of ‘sig_info’ was here
Quoted 1 line
arch/um/os-Linux/signal.c:19:2: warning: initialization from incompatible
pointer type [enabled
Quoted 2 lines
by default]
Quoted 1 line
arch/um/os-Linux/signal.c:19:2: warning: (near initialization for ‘sig_info
[5]’) [enabled by default]
Quoted 1 line
Quoted 1 line
arch/um/os-Linux/signal.c:20:2: warning: initialization from incompatible
pointer type [enabled
Quoted 2 lines
by default]
Quoted 1 line
arch/um/os-Linux/signal.c:20:2: warning: (near initialization for ‘sig_info
[8]’) [enabled by default]
Quoted 1 line
Quoted 1 line
arch/um/os-Linux/signal.c:21:2: warning: initialization from incompatible
pointer type [enabled
Quoted 2 lines
by default]
Quoted 1 line
arch/um/os-Linux/signal.c:21:2: warning: (near initialization for ‘sig_info
[4]’) [enabled by default]
Quoted 1 line
Quoted 1 line
arch/um/os-Linux/signal.c:22:2: warning: initialization from incompatible
pointer type [enabled
Quoted 2 lines
by default]
Quoted 1 line
arch/um/os-Linux/signal.c:22:2: warning: (near initialization for ‘sig_info
[28]’) [enabled
Quoted 2 lines
by default]
Quoted 1 line
arch/um/os-Linux/signal.c:23:2: warning: initialization from incompatible
pointer type [enabled
Quoted 2 lines
by default]
Quoted 1 line
arch/um/os-Linux/signal.c:23:2: warning: (near initialization for ‘sig_info
[7]’) [enabled by default]
Quoted 1 line
Quoted 1 line
arch/um/os-Linux/signal.c:24:2: warning: initialization from incompatible
pointer type [enabled
Quoted 2 lines
by default]
Quoted 1 line
arch/um/os-Linux/signal.c:24:2: warning: (near initialization for ‘sig_info
[11]’) [enabled
Quoted 2 lines
by default]
Quoted 1 line
arch/um/os-Linux/signal.c:25:2: warning: initialization from incompatible
pointer type [enabled
Quoted 2 lines
by default]
Quoted 1 line
arch/um/os-Linux/signal.c:25:2: warning: (near initialization for ‘sig_info
[29]’) [enabled
Quoted 2 lines
by default]
Quoted 1 line
arch/um/os-Linux/signal.c:26:2: warning: initialization from incompatible
pointer type [enabled
Quoted 2 lines
by default]
Quoted 1 line
arch/um/os-Linux/signal.c:26:2: warning: (near initialization for ‘sig_info
[26]’) [enabled
Quoted 2 lines
by default]
Quoted 1 line
arch/um/os-Linux/signal.c:133:1: warning: initialization from incompatible
pointer type [enabled
Quoted 2 lines
by default]
Quoted 1 line
arch/um/os-Linux/signal.c:133:1: warning: (near initialization for ‘handlers
[26]’) [enabled
arch/um/include/shared/as-
Quoted 18 lines
by default]
Quoted 8 lines
make[1]: *** [
arch/um/os-Linux/signal.o] Error 1
make: *** [arch/um/os-Linux] Error 2I have tracked this down to [1] where, indeed, the type of
sig_infois different; the second parameter insignal.cis 'siginfo_t' where as inas-layout.hthe second parameter's type is declared as 'struct siginfo'.[1]:
d3c1cfcdb43e023ab1b1c7a555cd9e929026500aDoes this patch fix the issue?
Are you using glibc 2.17?Thanks,
//richard---
arch/um/include/shared/as- renamed from arch/um/include/shared/as-layout.h +0
-0
layout.h
Quoted 20 lines
index 694c792..48fcbb0 100644
arch/um/include/shared/as-layout.h +0
-3@@ -60,9 +60,6 @@ extern unsigned long host_task_size;extern int linux_main (int argc,char **argv); -struct siginfo ; -extern void (*sig_info[])(int ,struct siginfo *si,struct uml_pt_regs *); -#endif #endif arch/um/os-Linux/skas/process.c +0
-0
arch/um/os-Linux/skas/process.c line 31
Quoted 9 lines
arch/um/os-Linux/skas/process.c +3
-0@@ -23,6 +23,9 @@#include <skas_ptrace.h> #include <sysdep/stub.h> +#include <signal.h> +extern void (*sig_info[NSIG ])(int ,siginfo_t *,struct uml_pt_regs *); +int is_skas_winch (int pid,int fd,void *data) {return pid ==getpgrp ();
I applied the patch and got these warnings with kernel 3.7-rc8 with make ARCH=um on Fedora 18 64bitarch/um/os-Linux/signal.c:19:2: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:19:2: warning: (near initialization for ‘sig_info [5]’) [enabled by default]arch/um/os-Linux/signal.c:20:2: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:20:2: warning: (near initialization for ‘sig_info [8]’) [enabled by default]arch/um/os-Linux/signal.c:21:2: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:21:2: warning: (near initialization for ‘sig_info [4]’) [enabled by default]arch/um/os-Linux/signal.c:22:2: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:22:2: warning: (near initialization for ‘sig_info [28]’) [enabled by default]arch/um/os-Linux/signal.c:23:2: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:23:2: warning: (near initialization for ‘sig_info [7]’) [enabled by default]arch/um/os-Linux/signal.c:24:2: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:24:2: warning: (near initialization for ‘sig_info [11]’) [enabled by default]arch/um/os-Linux/signal.c:25:2: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:25:2: warning: (near initialization for ‘sig_info [29]’) [enabled by default]arch/um/os-Linux/signal.c:26:2: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:26:2: warning: (near initialization for ‘sig_info [26]’) [enabled by default]arch/um/os-Linux/signal.c:133:1: warning: initialization from incompatible pointer type [enabled by default] arch/um/os-Linux/signal.c:133:1: warning: (near initialization for ‘handlers [26]’) [enabled by default]
I am also getting these errors
CC arch/um/os-Linux/start_up.oarch/um/os-Linux/start_up.c: In function ‘check_coredump_limit’:arch/um/os-Linux/start_up.c:338:16: error: storage size of ‘lim’ isn’t known arch/um/os-Linux/start_up.c:339:2: error: implicit declaration of function ‘getrlimit’ [-Werror=implicit-function-declaration] arch/um/os-Linux/start_up.c:339:22: error: ‘RLIMIT_CORE’ undeclared (first use in this function)arch/um/os-Linux/start_up.c:339:22: note: each undeclared identifier is reported only once for each function it appears in arch/um/os-Linux/start_up.c:347:22: error: ‘RLIM_INFINITY’ undeclared (first use in this function)arch/um/os-Linux/start_up.c:338:16: warning: unused variable ‘lim’ [-Wunused- variable]
cc1: some warnings being treated as errors
make[1]: *** [arch/um/os-Linux/start_up.o] Error 1
make: *** [arch/um/os-Linux] Error 2
Richard Weinberger
maintainerAm Wed, 24 Oct 2012 00:18:34 +0100
Quoted 6 lines
I have tracked this down to [1] where, indeed, the type of
sig_infois different; the second parameter insignal.cis 'siginfo_t' where as inas-layout.hthe second parameter's type is declared as 'struct siginfo'.[1]:
d3c1cfcdb43e023ab1b1c7a555cd9e929026500a
Looks like we have to revert that commit.
Moving everything to siginfo_t requires a non-trivial header cleanup and may introduce new regressions.
Matthew, does the attached revert patch help?
If yes, I'll submit it ASAP to Linus and for 3.8 we cleanup the UML headers and reintroduce commit d3c1cfc.
Thanks,
//richard
arch/um/include/shared/as-layout.h +1 -2
@@ -60,8 +60,7 @@ extern unsigned long host_task_size;extern int linux_main (int argc,char **argv); -struct siginfo ; -extern void (*sig_info[])(int ,struct siginfo *si,struct uml_pt_regs *); +extern void (*sig_info[])(int ,struct uml_pt_regs *);#endif
arch/um/include/shared/irq_user.h +1 -2
@@ -20,8 +20,7 @@ struct irq_fd {enum {IRQ_READ ,IRQ_WRITE }; -struct siginfo ; -extern void sigio_handler (int sig,struct siginfo *unused_si,struct uml_pt_regs *regs); +extern void sigio_handler (int sig,struct uml_pt_regs *regs);extern void free_irq_by_fd (int fd);extern void reactivate_fd (int fd,int irqnum);extern void deactivate_fd (int fd,int irqnum);
arch/um/include/shared/kern_util.h +6 -7
@@ -9,8 +9,6 @@#include <sysdep/ptrace.h> #include <sysdep/faultinfo.h> -struct siginfo ; -extern int uml_exitcode;extern int ncpus;
@@ -24,7 +22,7 @@ extern void free_stack(unsigned long stack, int order);extern int do_signal (void );extern void interrupt_end (void ); -extern void relay_signal (int sig,struct siginfo *si,struct uml_pt_regs *regs); +extern void relay_signal (int sig,struct uml_pt_regs *regs);extern unsigned long segv (struct faultinfo fi,unsigned long ip,int is_user,struct uml_pt_regs *regs);
@@ -35,8 +33,9 @@ extern unsigned int do_IRQ(int irq, struct uml_pt_regs *regs);extern int smp_sigio_handler (void );extern void initial_thread_cb (void (*proc)(void *),void *arg);extern int is_syscall (unsigned long addr); +extern void timer_handler (int sig,struct uml_pt_regs *regs); -extern void timer_handler (int sig,struct siginfo *unused_si,struct uml_pt_regs *regs); +extern void timer_handler (int sig,struct uml_pt_regs *regs);extern int start_uml (void );extern void paging_init (void );
@@ -60,9 +59,9 @@ extern unsigned long from_irq_stack(int nested);extern void syscall_trace (struct uml_pt_regs *regs,int entryexit);extern int singlestepping (void *t); -extern void segv_handler (int sig,struct siginfo *unused_si,struct uml_pt_regs *regs); -extern void bus_handler (int sig,struct siginfo *si,struct uml_pt_regs *regs); -extern void winch (int sig,struct siginfo *unused_si,struct uml_pt_regs *regs); +extern void segv_handler (int sig,struct uml_pt_regs *regs); +extern void bus_handler (int sig,struct uml_pt_regs *regs); +extern void winch (int sig,struct uml_pt_regs *regs);extern void fatal_sigsegv (void ) __attribute__ ((noreturn));
arch/um/kernel/irq.c +1 -1
@@ -30,7 +30,7 @@ static struct irq_fd **last_irq_ptr = &active_fds;extern void free_irqs (void ); -void sigio_handler (int sig,struct siginfo *unused_si,struct uml_pt_regs *regs) +void sigio_handler (int sig,struct uml_pt_regs *regs) {struct irq_fd *irq_fd;int n;
arch/um/kernel/time.c +1 -1
@@ -13,7 +13,7 @@#include <kern_util.h> #include <os.h> -void timer_handler (int sig,struct siginfo *unused_si,struct uml_pt_regs *regs) +void timer_handler (int sig,struct uml_pt_regs *regs) {unsigned long flags;
arch/um/kernel/trap.c +7 -32
@@ -173,7 +173,7 @@ void fatal_sigsegv(void)os_dump_core (); } -void segv_handler (int sig,struct siginfo *unused_si,struct uml_pt_regs *regs) +void segv_handler (int sig,struct uml_pt_regs *regs) {struct faultinfo * fi =UPT_FAULTINFO (regs);
@@ -259,11 +259,8 @@ unsigned long segv(struct faultinfo fi, unsigned long ip, int is_user,return 0 ; } -void relay_signal (int sig,struct siginfo *si,struct uml_pt_regs *regs) +void relay_signal (int sig,struct uml_pt_regs *regs) { -struct faultinfo *fi; -struct siginfo clean_si; -if (!UPT_IS_USER (regs)) {if (sig ==SIGBUS ) printk(KERN_ERR "Bus error - the host /dev/shm or /tmp "
@@ -273,40 +270,18 @@ void relay_signal(int sig, struct siginfo *si, struct uml_pt_regs *regs)arch_examine_signal (sig, regs); -memset (&clean_si,0 ,sizeof (clean_si)); - clean_si.si_signo = si->si_signo; - clean_si.si_errno = si->si_errno; - clean_si.si_code = si->si_code; -switch (sig) { -case SIGILL : -case SIGFPE : -case SIGSEGV : -case SIGBUS : -case SIGTRAP : - fi =UPT_FAULTINFO (regs); - clean_si.si_addr = (void __user *)FAULT_ADDRESS (*fi); - current->thread.arch.faultinfo = *fi; -#ifdef __ARCH_SI_TRAPNO - clean_si.si_trapno = si->si_trapno; -#endif -break ; -default : -printk (KERN_ERR "Attempted to relay unknown signal %d (si_code = %d)\n" , - sig, si->si_code); - } - -force_sig_info (sig, &clean_si, current); + current->thread.arch.faultinfo = *UPT_FAULTINFO (regs); +force_sig (sig, current); } -void bus_handler (int sig,struct siginfo *si,struct uml_pt_regs *regs) +void bus_handler (int sig,struct uml_pt_regs *regs) {if (current->thread.fault_catcher !=NULL )UML_LONGJMP (current->thread.fault_catcher,1 ); -else -relay_signal (sig, si, regs); +else relay_signal (sig, regs); } -void winch (int sig,struct siginfo *unused_si,struct uml_pt_regs *regs) +void winch (int sig,struct uml_pt_regs *regs) {do_IRQ (WINCH_IRQ , regs); }
arch/um/os-Linux/internal.h +1 -1
@@ -1 +1 @@ -void alarm_handler (int sig,struct siginfo *unused_si,mcontext_t *mc); +void alarm_handler (int ,mcontext_t *);
arch/um/os-Linux/signal.c +15 -19
@@ -9,13 +9,12 @@#include <errno.h> #include <signal.h> #include <strings.h> -#include <as-layout.h> -#include <kern_util.h> -#include <os.h> -#include <sysdep/mcontext.h> -#include "internal.h" +#include "as-layout.h" +#include "kern_util.h" +#include "os.h" +#include "sysdep/mcontext.h" -void (*sig_info[NSIG ])(int ,siginfo_t *,struct uml_pt_regs *) = { +void (*sig_info[NSIG ])(int ,struct uml_pt_regs *) = { [SIGTRAP ] = relay_signal, [SIGFPE ] = relay_signal, [SIGILL ] = relay_signal,
@@ -25,7 +24,7 @@ void (*sig_info[NSIG])(int, siginfo_t *, struct uml_pt_regs *) = { [SIGIO] = sigio_handler, [SIGVTALRM] = timer_handler }; -static void sig_handler_common (int sig,siginfo_t *si,mcontext_t *mc) +static void sig_handler_common (int sig,mcontext_t *mc) {struct uml_pt_regs r;int save_errno = errno;
@@ -41,7 +40,7 @@ static void sig_handler_common(int sig, siginfo_t *si, mcontext_t *mc)if ((sig !=SIGIO ) && (sig !=SIGWINCH ) && (sig !=SIGVTALRM ))unblock_signals (); - (*sig_info[sig])(sig, si, &r); + (*sig_info[sig])(sig, &r); errno = save_errno; }
@@ -61,7 +60,7 @@ static void sig_handler_common(int sig, siginfo_t *si, mcontext_t *mc)static int signals_enabled;static unsigned int signals_pending; -void sig_handler (int sig,siginfo_t *si,mcontext_t *mc) +void sig_handler (int sig,mcontext_t *mc) {int enabled;
@@ -73,7 +72,7 @@ void sig_handler(int sig, siginfo_t *si, mcontext_t *mc)block_signals (); -sig_handler_common (sig, si, mc); +sig_handler_common (sig, mc);set_signals (enabled); }
@@ -86,10 +85,10 @@ static void real_alarm_handler(mcontext_t *mc)get_regs_from_mc (®s, mc); regs.is_user =0 ;unblock_signals (); -timer_handler (SIGVTALRM ,NULL , ®s); +timer_handler (SIGVTALRM , ®s); } -void alarm_handler (int sig,struct siginfo *unused_si,mcontext_t *mc) +void alarm_handler (int sig,mcontext_t *mc) {int enabled;
@@ -120,7 +119,7 @@ void set_sigstack(void *sig_stack, int size)panic ("enabling signal stack failed, errno = %d\n" , errno); } -static void (*handlers[_NSIG])(int sig,siginfo_t *si,mcontext_t *mc) = { +static void (*handlers[_NSIG])(int sig,mcontext_t *mc) = { [SIGSEGV ] = sig_handler, [SIGBUS ] = sig_handler, [SIGILL ] = sig_handler,
@@ -133,7 +132,7 @@ static void (*handlers[_NSIG])(int sig, siginfo_t *si, mcontext_t *mc) = { }; -static void hard_handler (int sig,siginfo_t *si,void *p) +static void hard_handler (int sig,siginfo_t *info,void *p) {struct ucontext *uc = p;mcontext_t *mc = &uc->uc_mcontext;
@@ -162,7 +161,7 @@ static void hard_handler(int sig, siginfo_t *si, void *p)while ((sig =ffs (pending)) !=0 ){ sig--; pending &= ~(1 << sig); - (*handlers[sig])(sig, si, mc); + (*handlers[sig])(sig, mc); }/*
@@ -274,12 +273,9 @@ void unblock_signals(void)* Deal with SIGIO first because the alarm handler might * schedule, leaving the pending SIGIO stranded until we come * back here. -* -* SIGIO's handler doesn't use siginfo or mcontext, -* so they can be NULL. */ if (save_pending &SIGIO_MASK ) -sig_handler_common (SIGIO ,NULL ,NULL ); +sig_handler_common (SIGIO ,NULL );if (save_pending &SIGVTALRM_MASK )real_alarm_handler (NULL );
arch/um/os-Linux/skas/process.c +4 -9
@@ -346,7 +346,6 @@ void userspace(struct uml_pt_regs *regs)int err, status, op, pid = userspace_pid[0 ];/* To prevent races if using_sysemu changes under us.*/ int local_using_sysemu; -siginfo_t si;/* Handle any immediate reschedules or signals */ interrupt_end ();
@@ -408,17 +407,13 @@ void userspace(struct uml_pt_regs *regs)if (WIFSTOPPED (status)) {int sig =WSTOPSIG (status); - -ptrace (PTRACE_GETSIGINFO , pid,0 , &si); -switch (sig) {case SIGSEGV :if (PTRACE_FULL_FAULTINFO || !ptrace_faultinfo) {get_skas_faultinfo (pid, ®s->faultinfo); - (*sig_info[SIGSEGV ])(SIGSEGV , &si, - regs); + (*sig_info[SIGSEGV ])(SIGSEGV , regs); }else handle_segv (pid, regs);break ;
@@ -426,14 +421,14 @@ void userspace(struct uml_pt_regs *regs)handle_trap (pid, regs, local_using_sysemu);break ;case SIGTRAP : -relay_signal (SIGTRAP , &si, regs); +relay_signal (SIGTRAP , regs);break ;case SIGVTALRM : now =os_nsecs ();if (now < nsecs)break ;block_signals (); - (*sig_info[sig])(sig, &si, regs); + (*sig_info[sig])(sig, regs);unblock_signals (); nsecs = timer.it_value.tv_sec * UM_NSEC_PER_SEC +
@@ -447,7 +442,7 @@ void userspace(struct uml_pt_regs *regs)case SIGFPE :case SIGWINCH :block_signals (); - (*sig_info[sig])(sig, &si, regs); + (*sig_info[sig])(sig, regs);unblock_signals ();break ;default :
arch/um/os-Linux/time.c +1 -1
@@ -87,7 +87,7 @@ static int after_sleep_interval(struct timespec *ts)static void deliver_alarm (void ) { -alarm_handler (SIGVTALRM ,NULL ,NULL ); +alarm_handler (SIGVTALRM ,NULL ); }static unsigned long long sleep_time (unsigned long long nsecs)
Quoted 6 lines · Richard Weinberger
Am Wed, 24 Oct 2012 00:18:34 +0100
Quoted 5 lines
I have tracked this down to [1] where, indeed, the type of
sig_infois different; the second parameter insignal.cis 'siginfo_t' where as inas-layout.hthe second parameter's type is declared as 'struct siginfo'.
Quoted 7 lines
Quoted 1 line
[1]:
d3c1cfcdb43e023ab1b1c7a555cd9e929026500aLooks like we have to revert that commit.
Moving everything tosiginfo_trequires a non-trivial header cleanup and may introduce new regressions.Matthew, does the attached revert patch help?
The revert did remove the errors for the compilation of signal.c, so that seems fine. I still get the following errors, however:
CC arch/um/os-Linux/sigio.o CC arch/um/os-Linux/signal.o CC arch/um/os-Linux/start_up.o
arch/um/os-Linux/start_up.c: In function ‘check_coredump_limit’:arch/um/os-Linux/start_up.c:338:16: error: storage size of ‘lim’ isn’t known arch/um/os-Linux/start_up.c:339:2: error: implicit declaration of function ‘getrlimit’ [-Werror=implicit-function-declaration] arch/um/os-Linux/start_up.c:339:22: error: ‘RLIMIT_CORE’ undeclared (first use in this function) arch/um/os-Linux/start_up.c:339:22: note: each undeclared identifier is reported only once for each function it appears in arch/um/os-Linux/start_up.c:347:22: error: ‘RLIM_INFINITY’ undeclared (first use in this function) arch/um/os-Linux/start_up.c:338:16: warning: unused variable ‘lim’ [-Wunused-variable]
cc1: some warnings being treated as errors
make[1]: *** [arch/um/os-Linux/start_up.o] Error 1
make: *** [arch/um/os-Linux] Error 2
Thanks,
Matt
Richard Weinberger
maintainerAm Wed, 24 Oct 2012 20:48:52 +0100
schrieb Matthew Leach <[email protected]>:
Quoted 22 lines
Quoted 6 lines · Richard Weinberger
Am Wed, 24 Oct 2012 00:18:34 +0100
Quoted 5 lines
I have tracked this down to [1] where, indeed, the type of
sig_infois different; the second parameter insignal.cis 'siginfo_t' where as inas-layout.hthe second parameter's type is declared as 'struct siginfo'.Quoted 7 lines
Quoted 1 line
[1]:
d3c1cfcdb43e023ab1b1c7a555cd9e929026500aLooks like we have to revert that commit.
Moving everything tosiginfo_trequires a non-trivial header cleanup and may introduce new regressions.Matthew, does the attached revert patch help?
The revert did remove the errors for the compilation of
signal.c, so that seems fine. I still get the following errors, however:CC arch/um/os-Linux/sigio.o CC arch/um/os-Linux/signal.o CC arch/um/os-Linux/start_up.o
Quoted 14 lines
arch/um/os-Linux/start_up.c: In function ‘check_coredump_limit’:arch/um/os-Linux/start_up.c:338:16: error: storage size of ‘lim’ isn’t knownarch/um/os-Linux/start_up.c:339:2: error: implicit declaration of function
‘getrlimit’ [-Werror=implicit-function-declaration]arch/um/os-Linux/start_up.c:339:22: error: ‘RLIMIT_CORE’ undeclared (first use in this function)arch/um/os-Linux/start_up.c:339:22:
note: each undeclared identifier is reported only once for each function it appears inarch/um/os-Linux/start_up.c:347:22: error:
‘RLIM_INFINITY’ undeclared (first use in this function)arch/um/os-Linux/start_up.c:338:16: warning: unused variable ‘lim’ [-Wunused-variable] cc1: some warnings being treated as errors make[1]: *** [arch/um/os-Linux/start_up.o] Error 1 make: *** [arch/um/os-Linux] Error 2
Does adding
#include <sys/time.h>
#include <sys/resource.h>
to arch/um/os-Linux/start_up.c help?
Thanks,
//richard
Quoted 40 lines · Richard Weinberger
Am Wed, 24 Oct 2012 20:48:52 +0100
schrieb Matthew Leach <[email protected]>:Quoted 22 lines
Quoted 6 lines · Richard Weinberger
Am Wed, 24 Oct 2012 00:18:34 +0100
Quoted 5 lines
I have tracked this down to [1] where, indeed, the type of
sig_infois different; the second parameter insignal.cis 'siginfo_t' where as inas-layout.hthe second parameter's type is declared as 'struct siginfo'.Quoted 7 lines
Quoted 1 line
[1]:
d3c1cfcdb43e023ab1b1c7a555cd9e929026500aLooks like we have to revert that commit.
Moving everything tosiginfo_trequires a non-trivial header cleanup and may introduce new regressions.Matthew, does the attached revert patch help?
The revert did remove the errors for the compilation of
signal.c, so that seems fine. I still get the following errors, however:CC arch/um/os-Linux/sigio.o CC arch/um/os-Linux/signal.o CC arch/um/os-Linux/start_up.oQuoted 14 lines
arch/um/os-Linux/start_up.c: In function ‘check_coredump_limit’:arch/um/os-Linux/start_up.c:338:16: error: storage size of ‘lim’ isn’t knownarch/um/os-Linux/start_up.c:339:2: error: implicit declaration of function
‘getrlimit’ [-Werror=implicit-function-declaration]arch/um/os-Linux/start_up.c:339:22: error: ‘RLIMIT_CORE’ undeclared (first use in this function)arch/um/os-Linux/start_up.c:339:22:
note: each undeclared identifier is reported only once for each function it appears inarch/um/os-Linux/start_up.c:347:22: error:
‘RLIM_INFINITY’ undeclared (first use in this function)arch/um/os-Linux/start_up.c:338:16: warning: unused variable ‘lim’ [-Wunused-variable] cc1: some warnings being treated as errors make[1]: *** [arch/um/os-Linux/start_up.o] Error 1 make: *** [arch/um/os-Linux] Error 2
Quoted 5 lines
Does adding
#include <sys/time.h>
#include <sys/resource.h>to
arch/um/os-Linux/start_up.chelp?
Adding the above includes and the revert commit did the trick!
Thanks,
matt
Richard Weinberger
maintainerAm Wed, 24 Oct 2012 21:06:25 +0100
schrieb Matthew Leach <[email protected]>:
Quoted 41 lines
Quoted 40 lines · Richard Weinberger
Am Wed, 24 Oct 2012 20:48:52 +0100
schrieb Matthew Leach <[email protected]>:Quoted 36 lines
Quoted 6 lines · Richard Weinberger
Am Wed, 24 Oct 2012 00:18:34 +0100
Quoted 5 lines
I have tracked this down to [1] where, indeed, the type of
sig_infois different; the second parameter insignal.cis 'siginfo_t' where as inas-layout.hthe second parameter's type is declared as 'struct siginfo'.Quoted 7 lines
Quoted 1 line
[1]:
d3c1cfcdb43e023ab1b1c7a555cd9e929026500aLooks like we have to revert that commit.
Moving everything tosiginfo_trequires a non-trivial header cleanup and may introduce new regressions.Matthew, does the attached revert patch help?
The revert did remove the errors for the compilation of
signal.c, so that seems fine. I still get the following errors, however:CC arch/um/os-Linux/sigio.o CC arch/um/os-Linux/signal.o CC arch/um/os-Linux/start_up.o
arch/um/os-Linux/start_up.c: In function ‘check_coredump_limit’:arch/um/os-Linux/start_up.c:338:16: error: storage size of ‘lim’ isn’t knownarch/um/os-Linux/start_up.c:339:2: error: implicit declaration of function
‘getrlimit’ [-Werror=implicit-function-declaration]arch/um/os-Linux/start_up.c:339:22: error: ‘RLIMIT_CORE’ undeclared (first use in this function)arch/um/os-Linux/start_up.c:339:22:
note: each undeclared identifier is reported only once for each function it appears inarch/um/os-Linux/start_up.c:347:22: error:
‘RLIM_INFINITY’ undeclared (first use in this function)arch/um/os-Linux/start_up.c:338:16: warning: unused variable ‘lim’ [-Wunused-variable] cc1: some warnings being treated as errors make[1]: *** [arch/um/os-Linux/start_up.o] Error 1 make: *** [arch/um/os-Linux] Error 2
Quoted 7 lines
Quoted 5 lines
Does adding
#include <sys/time.h>
#include <sys/resource.h>to
arch/um/os-Linux/start_up.chelp?Adding the above includes and the revert commit did the trick!
Thanks a lot for being my build bot. ;)
I'm not able to reproduce the issue on any of my machines. I have to do more tests and send all patches to Linus and -stable tomorrow.
Thanks,
//richard
Quoted 48 lines · Richard Weinberger
Am Wed, 24 Oct 2012 21:06:25 +0100
schrieb Matthew Leach <[email protected]>:Quoted 45 lines
Quoted 44 lines · Richard Weinberger
Am Wed, 24 Oct 2012 20:48:52 +0100
schrieb Matthew Leach <[email protected]>:Quoted 22 lines
Quoted 6 lines · Richard Weinberger
Am Wed, 24 Oct 2012 00:18:34 +0100
Quoted 5 lines
I have tracked this down to [1] where, indeed, the type of
sig_infois different; the second parameter insignal.cis 'siginfo_t' where as inas-layout.hthe second parameter's type is declared as 'struct siginfo'.Quoted 7 lines
Quoted 1 line
[1]:
d3c1cfcdb43e023ab1b1c7a555cd9e929026500aLooks like we have to revert that commit.
Moving everything tosiginfo_trequires a non-trivial header cleanup and may introduce new regressions.Matthew, does the attached revert patch help?
The revert did remove the errors for the compilation of
signal.c, so that seems fine. I still get the following errors, however:CC arch/um/os-Linux/sigio.o CC arch/um/os-Linux/signal.o CC arch/um/os-Linux/start_up.oQuoted 14 lines
arch/um/os-Linux/start_up.c: In function ‘check_coredump_limit’:arch/um/os-Linux/start_up.c:338:16: error: storage size of ‘lim’ isn’t knownarch/um/os-Linux/start_up.c:339:2: error: implicit declaration of function
‘getrlimit’ [-Werror=implicit-function-declaration]arch/um/os-Linux/start_up.c:339:22: error: ‘RLIMIT_CORE’ undeclared (first use in this function)arch/um/os-Linux/start_up.c:339:22:
note: each undeclared identifier is reported only once for each function it appears inarch/um/os-Linux/start_up.c:347:22: error:
‘RLIM_INFINITY’ undeclared (first use in this function)arch/um/os-Linux/start_up.c:338:16: warning: unused variable ‘lim’ [-Wunused-variable] cc1: some warnings being treated as errors make[1]: *** [arch/um/os-Linux/start_up.o] Error 1 make: *** [arch/um/os-Linux] Error 2Does adding
#include <sys/time.h>
#include <sys/resource.h>
Quoted 5 lines
Quoted 3 lines
Quoted 1 line
to
arch/um/os-Linux/start_up.chelp?Adding the above includes and the revert commit did the trick!
Thanks a lot for being my build bot. ;)
Not a problem :).
Quoted 1 line
I'm not able to reproduce the issue on any of my machines.
Strange - well I'm using a fully up-to-date Arch Linux x86_64 distro, if that helps.
Thanks,
Matt
Richard Weinberger
maintainerAm Wed, 24 Oct 2012 21:13:55 +0100
schrieb Matthew Leach <[email protected]>:
Quoted 56 lines
Quoted 54 lines · Richard Weinberger
Am Wed, 24 Oct 2012 21:06:25 +0100
schrieb Matthew Leach <[email protected]>:Quoted 50 lines
Quoted 42 lines · Richard Weinberger
Am Wed, 24 Oct 2012 20:48:52 +0100
schrieb Matthew Leach <[email protected]>:Quoted 23 lines
Quoted 6 lines · Richard Weinberger
Am Wed, 24 Oct 2012 00:18:34 +0100
Quoted 5 lines
I have tracked this down to [1] where, indeed, the type of
sig_infois different; the second parameter insignal.cis 'siginfo_t' where as inas-layout.hthe second parameter's type is declared as 'struct siginfo'.Quoted 7 lines
Quoted 1 line
[1]:
d3c1cfcdb43e023ab1b1c7a555cd9e929026500aLooks like we have to revert that commit.
Moving everything tosiginfo_trequires a non-trivial header cleanup and may introduce new regressions.Matthew, does the attached revert patch help?
The revert did remove the errors for the compilation of
signal.c, so that seems fine. I still get the following errors, however:CC arch/um/os-Linux/sigio.o CC arch/um/os-Linux/signal.o CC arch/um/os-Linux/start_up.oQuoted 15 lines
arch/um/os-Linux/start_up.c: In function ‘check_coredump_limit’:arch/um/os-Linux/start_up.c:338:16: error: storage size of ‘lim’ isn’t knownarch/um/os-Linux/start_up.c:339:2: error: implicit declaration of function
‘getrlimit’ [-Werror=implicit-function-declaration]arch/um/os-Linux/start_up.c:339:22: error: ‘RLIMIT_CORE’ undeclared (first use in this function)arch/um/os-Linux/start_up.c:339:22: note: each undeclared identifier is reported only once for each function it appears inarch/um/os-Linux/start_up.c:347:22: error: ‘RLIM_INFINITY’ undeclared (first use in this function)arch/um/os-Linux/start_up.c:338:16: warning: unused variable ‘lim’ [-Wunused-variable] cc1: some warnings being treated as errors make[1]: *** [arch/um/os-Linux/start_up.o] Error 1 make:
*** [arch/um/os-Linux] Error 2Quoted 5 lines
Does adding
#include <sys/time.h>
#include <sys/resource.h>to
arch/um/os-Linux/start_up.chelp?Adding the above includes and the revert commit did the trick!
Quoted 8 lines
Quoted 1 line
Thanks a lot for being my build bot. ;)
Not a problem :).
Quoted 1 line
I'm not able to reproduce the issue on any of my machines.
Strange - well I'm using a fully up-to-date Arch Linux
x86_64distro, if that helps.
I'm not using Arch. Can I get an up-to-date Arch images somewhere?
My systems run OpenSUSE, Fedora and Debian.
But also with gcc 4.7 and glibc 2.16...
Thanks,
//richard