mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
2.5-18.1
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
/* Save current context.
|
||||
Copyright (C) 2002, 2004 Free Software Foundation, Inc.
|
||||
Copyright (C) 2002, 2004, 2006 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
|
||||
@ -14,13 +14,13 @@
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA
|
||||
02110-1301 USA. */
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <rtld-global-offsets.h>
|
||||
#include <shlib-compat.h>
|
||||
#include "kernel-features.h"
|
||||
#include <kernel-features.h>
|
||||
|
||||
#define __ASSEMBLY__
|
||||
#include <asm/ptrace.h>
|
||||
@ -37,9 +37,11 @@ ENTRY(__novec_getcontext)
|
||||
mflr r0
|
||||
std r2,(SIGCONTEXT_GP_REGS+(PT_R2*8))(r3)
|
||||
std r0,FRAME_LR_SAVE(r1)
|
||||
cfi_offset (lr, FRAME_LR_SAVE)
|
||||
std r0,(SIGCONTEXT_GP_REGS+(PT_LNK*8))(r3)
|
||||
std r0,(SIGCONTEXT_GP_REGS+(PT_NIP*8))(r3)
|
||||
stdu r1,-128(r1)
|
||||
cfi_adjust_cfa_offset (128)
|
||||
std r4,(SIGCONTEXT_GP_REGS+(PT_R4*8))(r3)
|
||||
std r5,(SIGCONTEXT_GP_REGS+(PT_R5*8))(r3)
|
||||
std r6,(SIGCONTEXT_GP_REGS+(PT_R6*8))(r3)
|
||||
@ -140,7 +142,9 @@ ENTRY(__novec_getcontext)
|
||||
/* If the kernel is not at least 2.4.21 then generate a ENOSYS stub. */
|
||||
mflr r0
|
||||
std r0,FRAME_LR_SAVE(r1)
|
||||
cfi_offset (lr, FRAME_LR_SAVE)
|
||||
stdu r1,-128(r1)
|
||||
cfi_adjust_cfa_offset(128)
|
||||
li r3,ENOSYS
|
||||
bl JUMPTARGET(__syscall_error)
|
||||
nop
|
||||
@ -175,9 +179,11 @@ ENTRY(__getcontext)
|
||||
mflr r0
|
||||
std r2,(SIGCONTEXT_GP_REGS+(PT_R2*8))(r3)
|
||||
std r0,FRAME_LR_SAVE(r1)
|
||||
cfi_offset (lr, FRAME_LR_SAVE)
|
||||
std r0,(SIGCONTEXT_GP_REGS+(PT_LNK*8))(r3)
|
||||
std r0,(SIGCONTEXT_GP_REGS+(PT_NIP*8))(r3)
|
||||
stdu r1,-128(r1)
|
||||
cfi_adjust_cfa_offset (128)
|
||||
std r4,(SIGCONTEXT_GP_REGS+(PT_R4*8))(r3)
|
||||
std r5,(SIGCONTEXT_GP_REGS+(PT_R5*8))(r3)
|
||||
std r6,(SIGCONTEXT_GP_REGS+(PT_R6*8))(r3)
|
||||
@ -387,7 +393,9 @@ L(has_no_vec):
|
||||
/* If the kernel is not at least 2.4.21 then generate a ENOSYS stub. */
|
||||
mflr r0
|
||||
std r0,FRAME_LR_SAVE(r1)
|
||||
cfi_offset (lr, FRAME_LR_SAVE)
|
||||
stdu r1,-128(r1)
|
||||
cfi_adjust_cfa_offset (128)
|
||||
li r3,ENOSYS
|
||||
bl JUMPTARGET(__syscall_error)
|
||||
nop
|
||||
|
Reference in New Issue
Block a user