mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-08 18:30:18 +00:00
hppa: Optimize syscall sequence.
We remove an extraneous nop from the syscall sequence. No DO_CALL* may end in an instruction with a delay slot.
This commit is contained in:
parent
f0b8ce0c73
commit
4ebdb01027
@ -1,5 +1,11 @@
|
||||
2012-10-29 Carlos O'Donell <carlos@systemhalted.org>
|
||||
|
||||
* sysdeps/unix/sysv/linux/hppa/sysdep.h: Don't include sys/syscall.h.
|
||||
Document nop removal.
|
||||
(PSEUDO): Remove nop.
|
||||
(PSEUDO_NOERRNO): Likeise.
|
||||
(PSEUDO_ERRVAL): Likewise.
|
||||
|
||||
* sysdeps/unix/sysv/linux/hppa/sysdep.h: Remove trailing whitespace.
|
||||
|
||||
2012-10-26 Andreas Jaeger <aj@suse.de>
|
||||
|
@ -20,7 +20,6 @@
|
||||
|
||||
#include <asm/unistd.h>
|
||||
#include <sysdeps/generic/sysdep.h>
|
||||
#include <sys/syscall.h>
|
||||
|
||||
/* In order to get __set_errno() definition in INLINE_SYSCALL. */
|
||||
#ifndef __ASSEMBLER__
|
||||
@ -168,9 +167,7 @@
|
||||
which means
|
||||
ENTRY(name)
|
||||
DO_CALL(...)
|
||||
nop
|
||||
bv 0(2)
|
||||
nop
|
||||
bv,n 0(2)
|
||||
*/
|
||||
|
||||
#define PSEUDO(name, syscall_name, args) \
|
||||
@ -178,8 +175,7 @@
|
||||
/* If necc. load args from stack */ ASM_LINE_SEP \
|
||||
DOARGS_##args ASM_LINE_SEP \
|
||||
DO_CALL (syscall_name, args) ASM_LINE_SEP \
|
||||
UNDOARGS_##args ASM_LINE_SEP \
|
||||
nop ASM_LINE_SEP
|
||||
UNDOARGS_##args ASM_LINE_SEP
|
||||
|
||||
#define ret \
|
||||
/* Return value set by ERRNO code */ ASM_LINE_SEP \
|
||||
@ -194,8 +190,7 @@
|
||||
ENTRY_LEAF (name) ASM_LINE_SEP \
|
||||
DOARGS_##args ASM_LINE_SEP \
|
||||
DO_CALL_NOERRNO (syscall_name, args) ASM_LINE_SEP \
|
||||
UNDOARGS_##args ASM_LINE_SEP \
|
||||
nop ASM_LINE_SEP
|
||||
UNDOARGS_##args ASM_LINE_SEP
|
||||
|
||||
#define ret_NOERRNO ret
|
||||
|
||||
@ -209,8 +204,7 @@
|
||||
ENTRY_LEAF (name) ASM_LINE_SEP \
|
||||
DOARGS_##args ASM_LINE_SEP \
|
||||
DO_CALL_ERRVAL (syscall_name, args) ASM_LINE_SEP \
|
||||
UNDOARGS_##args ASM_LINE_SEP \
|
||||
nop ASM_LINE_SEP
|
||||
UNDOARGS_##args ASM_LINE_SEP
|
||||
|
||||
#define ret_ERRVAL ret
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user