Commit da00d9a5 authored by Jeff Dike's avatar Jeff Dike Committed by Linus Torvalds

[PATCH] uml: compile fixes for gcc 4

This is a bunch of compile fixes provoked by building UML with gcc 4.  There
are a bunch of signedness mismatches, a couple of uninitialized references,
and a botched C99 structure initialization which had somehow gone unnoticed.
Signed-off-by: default avatarJeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 3df59529
...@@ -168,7 +168,7 @@ static int winch_tramp(int fd, struct tty_struct *tty, int *fd_out) ...@@ -168,7 +168,7 @@ static int winch_tramp(int fd, struct tty_struct *tty, int *fd_out)
printk("winch_tramp : failed to read synchronization byte\n"); printk("winch_tramp : failed to read synchronization byte\n");
printk("read failed, err = %d\n", -n); printk("read failed, err = %d\n", -n);
printk("fd %d will not support SIGWINCH\n", fd); printk("fd %d will not support SIGWINCH\n", fd);
*fd_out = -1; pid = -1;
} }
return(pid); return(pid);
} }
...@@ -186,7 +186,7 @@ void register_winch(int fd, struct tty_struct *tty) ...@@ -186,7 +186,7 @@ void register_winch(int fd, struct tty_struct *tty)
if(!CHOOSE_MODE_PROC(is_tracer_winch, is_skas_winch, pid, fd, if(!CHOOSE_MODE_PROC(is_tracer_winch, is_skas_winch, pid, fd,
tty) && (pid == -1)){ tty) && (pid == -1)){
thread = winch_tramp(fd, tty, &thread_fd); thread = winch_tramp(fd, tty, &thread_fd);
if(fd != -1){ if(thread > 0){
register_winch_irq(thread_fd, fd, thread, tty); register_winch_irq(thread_fd, fd, thread, tty);
count = os_write_file(thread_fd, &c, sizeof(c)); count = os_write_file(thread_fd, &c, sizeof(c));
......
...@@ -32,7 +32,7 @@ int tap_open_common(void *dev, char *gate_addr) ...@@ -32,7 +32,7 @@ int tap_open_common(void *dev, char *gate_addr)
return(0); return(0);
} }
void tap_check_ips(char *gate_addr, char *eth_addr) void tap_check_ips(char *gate_addr, unsigned char *eth_addr)
{ {
int tap_addr[4]; int tap_addr[4];
......
...@@ -12,8 +12,8 @@ struct slip_data { ...@@ -12,8 +12,8 @@ struct slip_data {
char *addr; char *addr;
char *gate_addr; char *gate_addr;
int slave; int slave;
char ibuf[ENC_BUF_SIZE]; unsigned char ibuf[ENC_BUF_SIZE];
char obuf[ENC_BUF_SIZE]; unsigned char obuf[ENC_BUF_SIZE];
int more; /* more data: do not read fd until ibuf has been drained */ int more; /* more data: do not read fd until ibuf has been drained */
int pos; int pos;
int esc; int esc;
......
...@@ -12,7 +12,8 @@ ...@@ -12,7 +12,8 @@
#define SLIP_ESC_END 0334 /* ESC ESC_END means END 'data' */ #define SLIP_ESC_END 0334 /* ESC ESC_END means END 'data' */
#define SLIP_ESC_ESC 0335 /* ESC ESC_ESC means ESC 'data' */ #define SLIP_ESC_ESC 0335 /* ESC ESC_ESC means ESC 'data' */
static inline int slip_unesc(unsigned char c,char *buf,int *pos, int *esc) static inline int slip_unesc(unsigned char c, unsigned char *buf, int *pos,
int *esc)
{ {
int ret; int ret;
......
...@@ -24,8 +24,8 @@ struct slirp_data { ...@@ -24,8 +24,8 @@ struct slirp_data {
struct arg_list_dummy_wrapper argw; struct arg_list_dummy_wrapper argw;
int pid; int pid;
int slave; int slave;
char ibuf[ENC_BUF_SIZE]; unsigned char ibuf[ENC_BUF_SIZE];
char obuf[ENC_BUF_SIZE]; unsigned char obuf[ENC_BUF_SIZE];
int more; /* more data: do not read fd until ibuf has been drained */ int more; /* more data: do not read fd until ibuf has been drained */
int pos; int pos;
int esc; int esc;
......
...@@ -22,9 +22,9 @@ static void stderr_console_write(struct console *console, const char *string, ...@@ -22,9 +22,9 @@ static void stderr_console_write(struct console *console, const char *string,
} }
static struct console stderr_console = { static struct console stderr_console = {
.name "stderr", .name = "stderr",
.write stderr_console_write, .write = stderr_console_write,
.flags CON_PRINTBUFFER, .flags = CON_PRINTBUFFER,
}; };
static int __init stderr_console_init(void) static int __init stderr_console_init(void)
......
...@@ -56,7 +56,7 @@ struct mc_request ...@@ -56,7 +56,7 @@ struct mc_request
int as_interrupt; int as_interrupt;
int originating_fd; int originating_fd;
int originlen; unsigned int originlen;
unsigned char origin[128]; /* sockaddr_un */ unsigned char origin[128]; /* sockaddr_un */
struct mconsole_request request; struct mconsole_request request;
......
...@@ -35,7 +35,7 @@ extern void *get_output_buffer(int *len_out); ...@@ -35,7 +35,7 @@ extern void *get_output_buffer(int *len_out);
extern void free_output_buffer(void *buffer); extern void free_output_buffer(void *buffer);
extern int tap_open_common(void *dev, char *gate_addr); extern int tap_open_common(void *dev, char *gate_addr);
extern void tap_check_ips(char *gate_addr, char *eth_addr); extern void tap_check_ips(char *gate_addr, unsigned char *eth_addr);
extern void read_output(int fd, char *output_out, int len); extern void read_output(int fd, char *output_out, int len);
......
...@@ -136,7 +136,7 @@ extern int os_seek_file(int fd, __u64 offset); ...@@ -136,7 +136,7 @@ extern int os_seek_file(int fd, __u64 offset);
extern int os_open_file(char *file, struct openflags flags, int mode); extern int os_open_file(char *file, struct openflags flags, int mode);
extern int os_read_file(int fd, void *buf, int len); extern int os_read_file(int fd, void *buf, int len);
extern int os_write_file(int fd, const void *buf, int count); extern int os_write_file(int fd, const void *buf, int count);
extern int os_file_size(char *file, long long *size_out); extern int os_file_size(char *file, unsigned long long *size_out);
extern int os_file_modtime(char *file, unsigned long *modtime); extern int os_file_modtime(char *file, unsigned long *modtime);
extern int os_pipe(int *fd, int stream, int close_on_exec); extern int os_pipe(int *fd, int stream, int close_on_exec);
extern int os_set_fd_async(int fd, int owner); extern int os_set_fd_async(int fd, int owner);
......
...@@ -41,9 +41,6 @@ extern unsigned long highmem; ...@@ -41,9 +41,6 @@ extern unsigned long highmem;
extern char host_info[]; extern char host_info[];
extern char saved_command_line[]; extern char saved_command_line[];
extern char command_line[];
extern char *tempdir;
extern unsigned long _stext, _etext, _sdata, _edata, __bss_start, _end; extern unsigned long _stext, _etext, _sdata, _edata, __bss_start, _end;
extern unsigned long _unprotected_end; extern unsigned long _unprotected_end;
......
...@@ -45,7 +45,11 @@ __init void scan_elf_aux( char **envp) ...@@ -45,7 +45,11 @@ __init void scan_elf_aux( char **envp)
elf_aux_hwcap = auxv->a_un.a_val; elf_aux_hwcap = auxv->a_un.a_val;
break; break;
case AT_PLATFORM: case AT_PLATFORM:
elf_aux_platform = auxv->a_un.a_ptr; /* elf.h removed the pointer elements from
* a_un, so we have to use a_val, which is
* all that's left.
*/
elf_aux_platform = (char *) auxv->a_un.a_val;
break; break;
case AT_PAGESZ: case AT_PAGESZ:
page_size = auxv->a_un.a_val; page_size = auxv->a_un.a_val;
......
...@@ -363,7 +363,7 @@ int os_write_file(int fd, const void *buf, int len) ...@@ -363,7 +363,7 @@ int os_write_file(int fd, const void *buf, int len)
(int (*)(int, void *, int)) write, copy_to_user_proc)); (int (*)(int, void *, int)) write, copy_to_user_proc));
} }
int os_file_size(char *file, long long *size_out) int os_file_size(char *file, unsigned long long *size_out)
{ {
struct uml_stat buf; struct uml_stat buf;
int err; int err;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment