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:
@ -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>.
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
@ -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. */
|
||||||
|
Reference in New Issue
Block a user