diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | hurd/intr-msg.c | 10 | ||||
-rw-r--r-- | sysdeps/mach/hurd/i386/init-first.c | 16 |
3 files changed, 19 insertions, 13 deletions
@@ -1,5 +1,11 @@ 2001-12-16 Roland McGrath <roland@frob.com> + * hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): Add `break' after + `default:' to silence new GCC warning. + Rewrite cast of lvalue to silence new GCC warning. + + * sysdeps/mach/hurd/i386/init-first.c: Avoid multi-line strings in asm. + * sysdeps/mach/hurd/spawni.c: New file, by me with a couple fixes by Neal H Walfield <neal@cs.uml.edu>. diff --git a/hurd/intr-msg.c b/hurd/intr-msg.c index 7b6ce05..ae997b2 100644 --- a/hurd/intr-msg.c +++ b/hurd/intr-msg.c @@ -1,5 +1,5 @@ /* Replacement for mach_msg used in interruptible Hurd RPCs. - Copyright (C) 95,96,97,98,99,2000 Free Software Foundation, Inc. + Copyright (C) 95,96,97,98,99,2000,01 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -222,8 +222,11 @@ _hurd_intr_rpc_mach_msg (mach_msg_header_t *msg, &~ (sizeof (mach_msg_type_t) - 1)); } else - clean_ports (*((void **) ty)++, - ty->msgtl_header.msgt_deallocate); + { + clean_ports (*(void **) ty, + ty->msgtl_header.msgt_deallocate); + ++(void **) ty; + } } } break; @@ -332,6 +335,7 @@ _hurd_intr_rpc_mach_msg (mach_msg_header_t *msg, break; default: /* Quiet -Wswitch-enum. */ + break; } ss->intr_port = MACH_PORT_NULL; diff --git a/sysdeps/mach/hurd/i386/init-first.c b/sysdeps/mach/hurd/i386/init-first.c index a50e418..51892d5 100644 --- a/sysdeps/mach/hurd/i386/init-first.c +++ b/sysdeps/mach/hurd/i386/init-first.c @@ -247,22 +247,18 @@ init (int *data) we will run on, and jmp to the run-time address of `init1'; when it returns, it will run the user code with the argument data at the top of the stack. */ -asm (" - switch_stacks: - movl %eax, %esp - jmp *%ecx -"); +asm ("switch_stacks:\n" + " movl %eax, %esp\n" + " jmp *%ecx"); /* As in the stack-switching case, at this point our stack is unwound and callers' registers restored, and only %ecx and %eax communicate values from the lines above. In this case we have stashed in %eax the user code return address. Push it on the top of the stack so it acts as init1's return address, and then jump there. */ -asm (" - call_init1: - push %eax - jmp *%ecx -"); +asm ("call_init1:\n" + " push %eax\n" + " jmp *%ecx\n"); /* Do the first essential initializations that must precede all else. */ |