S/390: Don't use r11 in INTERNAL_VSYSCALL_NCS macro
This commit is contained in:
parent
c8835729b8
commit
19df733e64
@ -1,3 +1,12 @@
|
|||||||
|
2011-07-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
||||||
|
|
||||||
|
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h
|
||||||
|
(INTERNAL_VSYSCALL_NCS): Use r10 for backing up the return address
|
||||||
|
register in order to avoid conflicts with the soft frame pointer
|
||||||
|
being held in r11 when necessary.
|
||||||
|
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
|
||||||
|
(INTERNAL_VSYSCALL_NCS): Likewise.
|
||||||
|
|
||||||
2011-07-14 Marek Polacek <mpolacek@redhat.com>
|
2011-07-14 Marek Polacek <mpolacek@redhat.com>
|
||||||
|
|
||||||
* elf/dl-fini.c (_dl_sort_fini): Remove unused link_map *l argument,
|
* elf/dl-fini.c (_dl_sort_fini): Remove unused link_map *l argument,
|
||||||
|
@ -50,7 +50,7 @@
|
|||||||
even if the call succeeded. E.g., the `lseek' system call might return
|
even if the call succeeded. E.g., the `lseek' system call might return
|
||||||
a large offset. Therefore we must not anymore test for < 0, but test
|
a large offset. Therefore we must not anymore test for < 0, but test
|
||||||
for a real error by making sure the value in gpr2 is a real error
|
for a real error by making sure the value in gpr2 is a real error
|
||||||
number. Linus said he will make sure the no syscall returns a value
|
number. Linus said he will make sure that no syscall returns a value
|
||||||
in -1 .. -4095 as a valid result so we can savely test with -4095. */
|
in -1 .. -4095 as a valid result so we can savely test with -4095. */
|
||||||
|
|
||||||
#undef PSEUDO
|
#undef PSEUDO
|
||||||
@ -368,12 +368,12 @@
|
|||||||
DECLARGS_##nr(args) \
|
DECLARGS_##nr(args) \
|
||||||
register long _ret asm("2"); \
|
register long _ret asm("2"); \
|
||||||
asm volatile ( \
|
asm volatile ( \
|
||||||
"lr 11,14\n\t" \
|
"lr 10,14\n\t" \
|
||||||
"basr 14,%1\n\t" \
|
"basr 14,%1\n\t" \
|
||||||
"lr 14,11\n\t" \
|
"lr 14,10\n\t" \
|
||||||
: "=d" (_ret) \
|
: "=d" (_ret) \
|
||||||
: "d" (fn) ASMFMT_##nr \
|
: "d" (fn) ASMFMT_##nr \
|
||||||
: "cc", "memory", "0", "1", "11" CLOBBER_##nr); \
|
: "cc", "memory", "0", "1", "10" CLOBBER_##nr); \
|
||||||
_ret; })
|
_ret; })
|
||||||
|
|
||||||
/* Pointer mangling support. */
|
/* Pointer mangling support. */
|
||||||
|
@ -62,7 +62,7 @@
|
|||||||
even if the call succeeded. E.g., the `lseek' system call might return
|
even if the call succeeded. E.g., the `lseek' system call might return
|
||||||
a large offset. Therefore we must not anymore test for < 0, but test
|
a large offset. Therefore we must not anymore test for < 0, but test
|
||||||
for a real error by making sure the value in gpr2 is a real error
|
for a real error by making sure the value in gpr2 is a real error
|
||||||
number. Linus said he will make sure the no syscall returns a value
|
number. Linus said he will make sure that no syscall returns a value
|
||||||
in -1 .. -4095 as a valid result so we can savely test with -4095. */
|
in -1 .. -4095 as a valid result so we can savely test with -4095. */
|
||||||
|
|
||||||
#undef PSEUDO
|
#undef PSEUDO
|
||||||
@ -370,12 +370,12 @@
|
|||||||
DECLARGS_##nr(args) \
|
DECLARGS_##nr(args) \
|
||||||
register long _ret asm("2"); \
|
register long _ret asm("2"); \
|
||||||
asm volatile ( \
|
asm volatile ( \
|
||||||
"lgr 11,14\n\t" \
|
"lgr 10,14\n\t" \
|
||||||
"basr 14,%1\n\t" \
|
"basr 14,%1\n\t" \
|
||||||
"lgr 14,11\n\t" \
|
"lgr 14,10\n\t" \
|
||||||
: "=d" (_ret) \
|
: "=d" (_ret) \
|
||||||
: "a" (fn) ASMFMT_##nr \
|
: "a" (fn) ASMFMT_##nr \
|
||||||
: "cc", "memory", "0", "1", "11" CLOBBER_##nr); \
|
: "cc", "memory", "0", "1", "10" CLOBBER_##nr); \
|
||||||
_ret; })
|
_ret; })
|
||||||
|
|
||||||
/* Pointer mangling support. */
|
/* Pointer mangling support. */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user