[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: Jeff Dike <jdike@addtoit.com> Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
3df59529ad
commit
da00d9a546
12 changed files with 21 additions and 19 deletions
|
@ -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)
|
||||||
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)
|
||||||
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 {
|
||||||
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 @@
|
||||||
#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 {
|
||||||
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,
|
||||||
}
|
}
|
||||||
|
|
||||||
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
|
||||||
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);
|
||||||
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);
|
||||||
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;
|
||||||
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)
|
||||||
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)
|
||||||
(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;
|
||||||
|
|
Loading…
Reference in a new issue