1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-30 22:43:12 +03:00

* 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.
This commit is contained in:
Roland McGrath
2001-12-17 01:03:08 +00:00
parent a51751c26c
commit ca18306b75
3 changed files with 19 additions and 13 deletions

View File

@ -1,5 +1,11 @@
2001-12-16 Roland McGrath <roland@frob.com> 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 * sysdeps/mach/hurd/spawni.c: New file, by me with a
couple fixes by Neal H Walfield <neal@cs.uml.edu>. couple fixes by Neal H Walfield <neal@cs.uml.edu>.

View File

@ -1,5 +1,5 @@
/* Replacement for mach_msg used in interruptible Hurd RPCs. /* 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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or 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)); &~ (sizeof (mach_msg_type_t) - 1));
} }
else else
clean_ports (*((void **) ty)++, {
ty->msgtl_header.msgt_deallocate); clean_ports (*(void **) ty,
ty->msgtl_header.msgt_deallocate);
++(void **) ty;
}
} }
} }
break; break;
@ -332,6 +335,7 @@ _hurd_intr_rpc_mach_msg (mach_msg_header_t *msg,
break; break;
default: /* Quiet -Wswitch-enum. */ default: /* Quiet -Wswitch-enum. */
break;
} }
ss->intr_port = MACH_PORT_NULL; ss->intr_port = MACH_PORT_NULL;

View File

@ -247,22 +247,18 @@ init (int *data)
we will run on, and jmp to the run-time address of `init1'; when it 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 returns, it will run the user code with the argument data at the
top of the stack. */ top of the stack. */
asm (" asm ("switch_stacks:\n"
switch_stacks: " movl %eax, %esp\n"
movl %eax, %esp " jmp *%ecx");
jmp *%ecx
");
/* As in the stack-switching case, at this point our stack is unwound /* As in the stack-switching case, at this point our stack is unwound
and callers' registers restored, and only %ecx and %eax communicate and callers' registers restored, and only %ecx and %eax communicate
values from the lines above. In this case we have stashed in %eax 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 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. */ it acts as init1's return address, and then jump there. */
asm (" asm ("call_init1:\n"
call_init1: " push %eax\n"
push %eax " jmp *%ecx\n");
jmp *%ecx
");
/* Do the first essential initializations that must precede all else. */ /* Do the first essential initializations that must precede all else. */