mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-05 09:01:07 +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>
|
2012-01-11 Ulrich Drepper <drepper@gmail.com>
|
||||||
|
|
||||||
* sysdeps/ieee754/dbl-64/wordsize-64/e_acosh.c: New file.
|
* sysdeps/ieee754/dbl-64/wordsize-64/e_acosh.c: New file.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Assembly macros for 32-bit PowerPC.
|
/* 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.
|
Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
@ -93,7 +93,7 @@ GOT_LABEL: ; \
|
|||||||
ASM_SIZE_DIRECTIVE(name)
|
ASM_SIZE_DIRECTIVE(name)
|
||||||
|
|
||||||
#define DO_CALL(syscall) \
|
#define DO_CALL(syscall) \
|
||||||
li 0,syscall; \
|
li 0,syscall; \
|
||||||
sc
|
sc
|
||||||
|
|
||||||
#undef JUMPTARGET
|
#undef JUMPTARGET
|
||||||
@ -153,6 +153,10 @@ GOT_LABEL: ; \
|
|||||||
#undef L
|
#undef L
|
||||||
#define L(x) .L##x
|
#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. */
|
/* Label in text section. */
|
||||||
#define C_TEXT(name) name
|
#define C_TEXT(name) name
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Save current context, powerpc32 common.
|
/* 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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
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 __CONTEXT_ENABLE_VRS
|
||||||
# ifdef PIC
|
# ifdef PIC
|
||||||
mflr r8
|
mflr r8
|
||||||
|
# define got_label GENERATE_GOT_LABEL (__CONTEXT_FUNC_NAME)
|
||||||
SETUP_GOT_ACCESS(r7,got_label)
|
SETUP_GOT_ACCESS(r7,got_label)
|
||||||
addis r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@ha
|
addis r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@ha
|
||||||
addi r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@l
|
addi r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@l
|
||||||
@ -277,4 +278,3 @@ ENTRY(__CONTEXT_FUNC_NAME)
|
|||||||
mtlr r0
|
mtlr r0
|
||||||
blr
|
blr
|
||||||
END(__CONTEXT_FUNC_NAME)
|
END(__CONTEXT_FUNC_NAME)
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Jump to a new context powerpc32 common.
|
/* 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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -73,6 +73,7 @@ ENTRY(__CONTEXT_FUNC_NAME)
|
|||||||
|
|
||||||
#ifdef PIC
|
#ifdef PIC
|
||||||
mflr r8
|
mflr r8
|
||||||
|
# define got_label GENERATE_GOT_LABEL (__CONTEXT_FUNC_NAME)
|
||||||
SETUP_GOT_ACCESS(r7,got_label)
|
SETUP_GOT_ACCESS(r7,got_label)
|
||||||
addis r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@ha
|
addis r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@ha
|
||||||
addi r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@l
|
addi r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@l
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Save current context and jump to a new context.
|
/* 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.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -146,6 +146,7 @@ ENTRY(__CONTEXT_FUNC_NAME)
|
|||||||
|
|
||||||
# ifdef PIC
|
# ifdef PIC
|
||||||
mflr r8
|
mflr r8
|
||||||
|
# define got_label GENERATE_GOT_LABEL (__CONTEXT_FUNC_NAME)
|
||||||
SETUP_GOT_ACCESS(r7,got_label)
|
SETUP_GOT_ACCESS(r7,got_label)
|
||||||
addis r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@ha
|
addis r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@ha
|
||||||
addi r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@l
|
addi r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@l
|
||||||
|
Loading…
Reference in New Issue
Block a user