mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
Powerpc: correct duplicate label issue with multiple passes through context code
This commit is contained in:
committed by
Ulrich Drepper
parent
0cc5ed3b01
commit
929d11c7cf
@ -1,5 +1,5 @@
|
||||
/* Save current context, powerpc32 common.
|
||||
Copyright (C) 2005, 2006, 2011 Free Software Foundation, Inc.
|
||||
Copyright (C) 2005, 2006, 2011, 2012 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
|
||||
@ -18,13 +18,13 @@
|
||||
02110-1301 USA. */
|
||||
|
||||
/* This is the common implementation of getcontext for powerpc32.
|
||||
It not complete in itself should be included in to a framework that
|
||||
It not complete in itself should be included in to a framework that
|
||||
defines:
|
||||
__CONTEXT_FUNC_NAME
|
||||
and if appropriate:
|
||||
__CONTEXT_ENABLE_FPRS
|
||||
__CONTEXT_ENABLE_VRS
|
||||
Any archecture that implements the Vector unit is assumed to also
|
||||
Any archecture that implements the Vector unit is assumed to also
|
||||
implement the floating unit. */
|
||||
|
||||
/* Stack frame offsets. */
|
||||
@ -145,6 +145,7 @@ ENTRY(__CONTEXT_FUNC_NAME)
|
||||
# ifdef __CONTEXT_ENABLE_VRS
|
||||
# ifdef PIC
|
||||
mflr r8
|
||||
# define got_label GENERATE_GOT_LABEL (__CONTEXT_FUNC_NAME)
|
||||
SETUP_GOT_ACCESS(r7,got_label)
|
||||
addis r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@ha
|
||||
addi r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@l
|
||||
@ -165,9 +166,9 @@ ENTRY(__CONTEXT_FUNC_NAME)
|
||||
|
||||
la r10,(_UC_VREGS)(r3)
|
||||
la r9,(_UC_VREGS+16)(r3)
|
||||
|
||||
|
||||
beq 2f /* L(no_vec) */
|
||||
/* address of the combined VSCR/VSAVE quadword. */
|
||||
/* address of the combined VSCR/VSAVE quadword. */
|
||||
la r8,(_UC_VREGS+512)(r3)
|
||||
|
||||
/* Save the vector registers */
|
||||
@ -186,7 +187,7 @@ ENTRY(__CONTEXT_FUNC_NAME)
|
||||
addi r9,r9,32
|
||||
|
||||
stvx v0,0,r8
|
||||
|
||||
|
||||
stvx v4,0,r10
|
||||
stvx v5,0,r9
|
||||
addi r10,r10,32
|
||||
@ -277,4 +278,3 @@ ENTRY(__CONTEXT_FUNC_NAME)
|
||||
mtlr r0
|
||||
blr
|
||||
END(__CONTEXT_FUNC_NAME)
|
||||
|
||||
|
Reference in New Issue
Block a user