mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-03 08:11:08 +00:00
Powerpc: correct duplicate label issue with multiple passes through context code
This commit is contained in:
parent
0cc5ed3b01
commit
929d11c7cf
@ -1,3 +1,11 @@
|
||||
2012-01-04 Will Schmidt <will_schmidt@vnet.ibm.com>
|
||||
|
||||
* powerpc/powerpc32/sysdep.h: Add GLUE and GENERATE_GOT_LABEL macros.
|
||||
* unix/sysv/linux/powerpc/powerpc32/getcontext-common.S: Call
|
||||
macro to ensure uniqueness of label name.
|
||||
* unix/sysv/linux/powerpc/powerpc32/setcontext-common.S: Likewise.
|
||||
* unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S: Likewise.
|
||||
|
||||
2012-01-11 Ulrich Drepper <drepper@gmail.com>
|
||||
|
||||
* sysdeps/ieee754/dbl-64/wordsize-64/e_acosh.c: New file.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Assembly macros for 32-bit PowerPC.
|
||||
Copyright (C) 1999, 2001, 2002, 2003, 2006, 2011
|
||||
Copyright (C) 1999, 2001, 2002, 2003, 2006, 2011, 2012
|
||||
Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
@ -153,6 +153,10 @@ GOT_LABEL: ; \
|
||||
#undef L
|
||||
#define L(x) .L##x
|
||||
|
||||
#define XGLUE(a,b) a##b
|
||||
#define GLUE(a,b) XGLUE (a,b)
|
||||
#define GENERATE_GOT_LABEL(name) GLUE (.got_label, name)
|
||||
|
||||
/* Label in text section. */
|
||||
#define C_TEXT(name) name
|
||||
|
||||
|
@ -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
|
||||
@ -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
|
||||
@ -277,4 +278,3 @@ ENTRY(__CONTEXT_FUNC_NAME)
|
||||
mtlr r0
|
||||
blr
|
||||
END(__CONTEXT_FUNC_NAME)
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Jump to a new context powerpc32 common.
|
||||
Copyright (C) 2005, 2006, 2008, 2009, 2011 Free Software Foundation, Inc.
|
||||
Copyright (C) 2005, 2006, 2008, 2009, 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
|
||||
@ -73,6 +73,7 @@ ENTRY(__CONTEXT_FUNC_NAME)
|
||||
|
||||
#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
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Save current context and jump to a new context.
|
||||
Copyright (C) 2005, 2006, 2008, 2009, 2011 Free Software Foundation, Inc.
|
||||
Copyright (C) 2005,2006,2008,2009,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
|
||||
@ -146,6 +146,7 @@ ENTRY(__CONTEXT_FUNC_NAME)
|
||||
|
||||
# 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
|
||||
|
Loading…
Reference in New Issue
Block a user