[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commits] r16965 - in /fsf/trunk/libc: ./ math/ nptl/ nptl/sysdeps/unix/sysv/linux/i386/ nptl/sysdeps/unix/sysv/linux/i386/i486/ sysde...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r16965 - in /fsf/trunk/libc: ./ math/ nptl/ nptl/sysdeps/unix/sysv/linux/i386/ nptl/sysdeps/unix/sysv/linux/i386/i486/ sysde...
- From: eglibc@xxxxxxxxxx
- Date: Sat, 04 Feb 2012 00:01:51 -0000
Author: eglibc
Date: Sat Feb 4 00:01:48 2012
New Revision: 16965
Log:
Import glibc-mainline for 2012-02-04
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/math/tst-CMPLX.c
fsf/trunk/libc/nptl/ChangeLog
fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_post.S
fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S
fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S
fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_wait.S
fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/pthread_once.S
fsf/trunk/libc/sysdeps/i386/i686/memcmp.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/bcopy.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/bzero.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/memchr.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/memcmp-sse4.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/memcmp.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/memcpy-ssse3.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/memcpy.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/memcpy_chk.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/memmove.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/memmove_chk.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/mempcpy.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/mempcpy_chk.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/memrchr.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/memset-sse2-rep.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/memset-sse2.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/memset.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/memset_chk.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/rawmemchr.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcasecmp.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcat-sse2.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcat.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/strchr.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcmp-sse4.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcmp.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcpy-sse2.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcpy.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcspn.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/strlen.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/strncase.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/strnlen.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/strrchr.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/strspn.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/wcschr.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/wcscmp.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/wcscpy.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/wcslen.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/wcsrchr.S
fsf/trunk/libc/sysdeps/i386/i686/multiarch/wmemcmp.S
fsf/trunk/libc/sysdeps/i386/sysdep.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/i386/sysdep.h
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Sat Feb 4 00:01:48 2012
@@ -1,3 +1,61 @@
+2012-02-03 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/i386/sysdep.h (GET_PC_THUNK, GET_PC_THUNK_STR): Define.
+ (SETUP_PIC_REG): Use GET_PC_THUNK.
+ * sysdeps/unix/sysv/linux/i386/sysdep.h: Use GET_PC_THUNK_STR
+ macro.
+
+2012-02-03 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/i386/sysdep.h (SETUP_PIC_REG, LOAD_PIC_REG): Define also
+ for non-PIC compilation.
+ (SETUP_PIC_REG): Add .p2align directive.
+ * sysdeps/i386/i686/memcmp.S: Use macros for PIC register setup.
+ * sysdeps/i386/i686/multiarch/bcopy.S: Likewise.
+ * sysdeps/i386/i686/multiarch/bzero.S: Likewise.
+ * sysdeps/i386/i686/multiarch/memchr.S: Likewise.
+ * sysdeps/i386/i686/multiarch/memcmp-sse4.S: Likewise.
+ * sysdeps/i386/i686/multiarch/memcmp.S: Likewise.
+ * sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S: Likewise.
+ * sysdeps/i386/i686/multiarch/memcpy-ssse3.S: Likewise.
+ * sysdeps/i386/i686/multiarch/memcpy.S: Likewise.
+ * sysdeps/i386/i686/multiarch/memcpy_chk.S: Likewise.
+ * sysdeps/i386/i686/multiarch/memmove.S: Likewise.
+ * sysdeps/i386/i686/multiarch/memmove_chk.S: Likewise.
+ * sysdeps/i386/i686/multiarch/mempcpy.S: Likewise.
+ * sysdeps/i386/i686/multiarch/mempcpy_chk.S: Likewise.
+ * sysdeps/i386/i686/multiarch/memrchr.S: Likewise.
+ * sysdeps/i386/i686/multiarch/memset-sse2-rep.S: Likewise.
+ * sysdeps/i386/i686/multiarch/memset-sse2.S: Likewise.
+ * sysdeps/i386/i686/multiarch/memset.S: Likewise.
+ * sysdeps/i386/i686/multiarch/memset_chk.S: Likewise.
+ * sysdeps/i386/i686/multiarch/rawmemchr.S: Likewise.
+ * sysdeps/i386/i686/multiarch/strcasecmp.S: Likewise.
+ * sysdeps/i386/i686/multiarch/strcat-sse2.S: Likewise.
+ * sysdeps/i386/i686/multiarch/strcat.S: Likewise.
+ * sysdeps/i386/i686/multiarch/strchr.S: Likewise.
+ * sysdeps/i386/i686/multiarch/strcmp-sse4.S: Likewise.
+ * sysdeps/i386/i686/multiarch/strcmp-ssse3.S: Likewise.
+ * sysdeps/i386/i686/multiarch/strcmp.S: Likewise.
+ * sysdeps/i386/i686/multiarch/strcpy-sse2.S: Likewise.
+ * sysdeps/i386/i686/multiarch/strcpy.S: Likewise.
+ * sysdeps/i386/i686/multiarch/strcspn.S: Likewise.
+ * sysdeps/i386/i686/multiarch/strlen.S: Likewise.
+ * sysdeps/i386/i686/multiarch/strncase.S: Likewise.
+ * sysdeps/i386/i686/multiarch/strnlen.S: Likewise.
+ * sysdeps/i386/i686/multiarch/strrchr.S: Likewise.
+ * sysdeps/i386/i686/multiarch/strspn.S: Likewise.
+ * sysdeps/i386/i686/multiarch/wcschr.S: Likewise.
+ * sysdeps/i386/i686/multiarch/wcscmp.S: Likewise.
+ * sysdeps/i386/i686/multiarch/wcscpy.S: Likewise.
+ * sysdeps/i386/i686/multiarch/wcslen.S: Likewise.
+ * sysdeps/i386/i686/multiarch/wcsrchr.S: Likewise.
+ * sysdeps/i386/i686/multiarch/wmemcmp.S: Likewise.
+
+2012-02-03 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * math/tst-CMPLX.c: Include <stdio.h>.
+
2012-01-31 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
* sysdeps/powerpc/bits/mathdef.h (float_t): Always define as
Modified: fsf/trunk/libc/math/tst-CMPLX.c
==============================================================================
--- fsf/trunk/libc/math/tst-CMPLX.c (original)
+++ fsf/trunk/libc/math/tst-CMPLX.c Sat Feb 4 00:01:48 2012
@@ -1,4 +1,5 @@
#include <complex.h>
+#include <stdio.h>
static int
Modified: fsf/trunk/libc/nptl/ChangeLog
==============================================================================
--- fsf/trunk/libc/nptl/ChangeLog (original)
+++ fsf/trunk/libc/nptl/ChangeLog Sat Feb 4 00:01:48 2012
@@ -1,3 +1,13 @@
+2012-02-03 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Use
+ macros for PIC register setup.
+ * sysdeps/unix/sysv/linux/i386/i486/sem_post.S: Likewise.
+ * sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise.
+ * sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S: Likewise.
+ * sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Likewise.
+ * sysdeps/unix/sysv/linux/i386/pthread_once.S: Likewise.
+
2012-01-11 Marek Polacek <polacek@xxxxxxxxxx>
* forward.c (FORWARD_NORETURN): Define macro.
Modified: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S (original)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S Sat Feb 4 00:01:48 2012
@@ -1,4 +1,5 @@
-/* Copyright (C) 2002-2004,2006-2007,2009,2010 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2004,2006-2007,2009,2010,2012
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2002.
@@ -649,17 +650,6 @@
.uleb128 0
.Lcstend:
-#ifdef PIC
- .section .gnu.linkonce.t.__i686.get_pc_thunk.cx,"ax",@progbits
- .globl __i686.get_pc_thunk.cx
- .hidden __i686.get_pc_thunk.cx
- .type __i686.get_pc_thunk.cx,@function
-__i686.get_pc_thunk.cx:
- movl (%esp), %ecx;
- ret
- .size __i686.get_pc_thunk.cx,.-__i686.get_pc_thunk.cx
-#endif
-
#ifdef SHARED
.hidden DW.ref.__gcc_personality_v0
.weak DW.ref.__gcc_personality_v0
Modified: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_post.S
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_post.S (original)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_post.S Sat Feb 4 00:01:48 2012
@@ -1,4 +1,5 @@
-/* Copyright (C) 2002,2003,2005,2007,2008,2011 Free Software Foundation, Inc.
+/* Copyright (C) 2002,2003,2005,2007,2008,2011-2012
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2002.
@@ -75,7 +76,7 @@
cfi_offset(%ebx, -8)
1:
#ifdef PIC
- call __i686.get_pc_thunk.bx
+ SETUP_PIC_REG(bx)
#else
movl $4f, %ebx
4:
@@ -96,7 +97,7 @@
3:
#ifdef PIC
- call __i686.get_pc_thunk.bx
+ SETUP_PIC_REG(bx)
#else
movl $5f, %ebx
5:
@@ -149,15 +150,3 @@
.size __old_sem_post,.-__old_sem_post
compat_symbol(libpthread, __old_sem_post, sem_post, GLIBC_2_0)
#endif
-
-
-#ifdef PIC
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx;
- ret
- .size __i686.get_pc_thunk.bx,.-__i686.get_pc_thunk.bx
-#endif
Modified: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S (original)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S Sat Feb 4 00:01:48 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2005, 2007, 2009, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2005, 2007, 2009, 2011-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2002.
@@ -148,7 +148,7 @@
3: negl %esi
6:
#ifdef PIC
- call __i686.get_pc_thunk.bx
+ SETUP_PIC_REG(bx)
#else
movl $4f, %ebx
4:
Modified: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S (original)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_trywait.S Sat Feb 4 00:01:48 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2005, 2007, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2003, 2005, 2007, 2011-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2002.
@@ -43,7 +43,7 @@
1:
#ifdef PIC
- call __i686.get_pc_thunk.cx
+ SETUP_PIC_REG(cx)
#else
movl $3f, %ecx
3:
@@ -66,15 +66,3 @@
__old_sem_trywait = __new_sem_trywait
compat_symbol(libpthread, __old_sem_trywait, sem_trywait, GLIBC_2_0)
#endif
-
-
-#ifdef PIC
- .section .gnu.linkonce.t.__i686.get_pc_thunk.cx,"ax",@progbits
- .globl __i686.get_pc_thunk.cx
- .hidden __i686.get_pc_thunk.cx
- .type __i686.get_pc_thunk.cx,@function
-__i686.get_pc_thunk.cx:
- movl (%esp), %ecx;
- ret
- .size __i686.get_pc_thunk.cx,.-__i686.get_pc_thunk.cx
-#endif
Modified: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_wait.S
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_wait.S (original)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_wait.S Sat Feb 4 00:01:48 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2005, 2007, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2003, 2005, 2007, 2011-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2002.
@@ -108,7 +108,7 @@
negl %esi
#ifdef PIC
- call __i686.get_pc_thunk.bx
+ SETUP_PIC_REG(bx)
#else
movl $8f, %ebx
8:
@@ -322,7 +322,7 @@
je 3b
negl %esi
#ifdef PIC
- call __i686.get_pc_thunk.bx
+ SETUP_PIC_REG(bx)
#else
movl $4f, %ebx
4:
Modified: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/pthread_once.S
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/pthread_once.S (original)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/pthread_once.S Sat Feb 4 00:01:48 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2007, 2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2002.
@@ -52,8 +52,7 @@
Get the fork generation counter now. */
6: movl (%ebx), %eax
#ifdef PIC
- call __i686.get_pc_thunk.cx
- addl $_GLOBAL_OFFSET_TABLE_, %ecx
+ LOAD_PIC_REG(cx)
#endif
5: movl %eax, %edx
@@ -181,15 +180,3 @@
.globl pthread_once
pthread_once = __pthread_once
-
-
-#ifdef PIC
- .section .gnu.linkonce.t.__i686.get_pc_thunk.cx,"ax",@progbits
- .globl __i686.get_pc_thunk.cx
- .hidden __i686.get_pc_thunk.cx
- .type __i686.get_pc_thunk.cx,@function
-__i686.get_pc_thunk.cx:
- movl (%esp), %ecx;
- ret
- .size __i686.get_pc_thunk.cx,.-__i686.get_pc_thunk.cx
-#endif
Modified: fsf/trunk/libc/sysdeps/i386/i686/memcmp.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/memcmp.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/memcmp.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Compare two memory blocks for differences in the first COUNT bytes.
- Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2005, 2006, 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
@@ -36,21 +36,12 @@
into the jump table. */
#define LOAD_JUMP_TABLE_ENTRY(TABLE, INDEX) \
/* We first load PC into EBX. */ \
- call __i686.get_pc_thunk.bx; \
+ SETUP_PIC_REG(bx); \
/* Get the address of the jump table. */ \
addl $(TABLE - .), %ebx; \
/* Get the entry and convert the relative offset to the \
absolute address. */ \
addl (%ebx,INDEX,4), %ebx
-
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- ALIGN (4)
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
.text
ALIGN (4)
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/bcopy.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/bcopy.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/bcopy.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of bcopy
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -24,23 +24,13 @@
/* Define multiple versions only for the definition in lib. */
#ifndef NOT_IN_libc
# ifdef SHARED
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
.text
ENTRY(bcopy)
.type bcopy, @gnu_indirect_function
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/bzero.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/bzero.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/bzero.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of bzero
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -24,23 +24,13 @@
/* Define multiple versions only for the definition in lib. */
#ifndef NOT_IN_libc
# ifdef SHARED
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
.text
ENTRY(__bzero)
.type __bzero, @gnu_indirect_function
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/memchr.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/memchr.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/memchr.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of memchr
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -22,15 +22,6 @@
#include <init-arch.h>
#ifndef NOT_IN_libc
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
# define CFI_POP(REG) \
cfi_adjust_cfa_offset (-4); \
cfi_restore (REG)
@@ -44,8 +35,7 @@
.type __memchr, @gnu_indirect_function
pushl %ebx
CFI_PUSH (%ebx)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/memcmp-sse4.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/memcmp-sse4.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/memcmp-sse4.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* memcmp with SSE4.2, wmemcmp with SSE4.2
- Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -53,7 +53,7 @@
# define BRANCH_TO_JMPTBL_ENTRY(TABLE, INDEX, SCALE) \
/* We first load PC into EBX. */ \
- call __i686.get_pc_thunk.bx; \
+ SETUP_PIC_REG(bx); \
/* Get the address of the jump table. */ \
addl $(TABLE - .), %ebx; \
/* Get the entry and convert the relative offset to the \
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/memcmp.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/memcmp.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/memcmp.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of memcmp
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -30,8 +30,7 @@
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/memcpy-ssse3-rep.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* memcpy with SSSE3 and REP string.
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -65,7 +65,7 @@
index into the jump table. SCALE is the scale of INDEX. */
# define BRANCH_TO_JMPTBL_ENTRY(TABLE, INDEX, SCALE) \
/* We first load PC into EBX. */ \
- call __i686.get_pc_thunk.bx; \
+ SETUP_PIC_REG(bx); \
/* Get the address of the jump table. */ \
addl $(TABLE - .), %ebx; \
/* Get the entry and convert the relative offset to the \
@@ -81,15 +81,6 @@
addl (%ebx,INDEX,SCALE), %ebx; \
/* We loaded the jump table. Go. */ \
jmp *%ebx
-
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- ALIGN (4)
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
#else
# define PARMS 4
# define ENTRANCE
@@ -171,7 +162,7 @@
cmp $SHARED_CACHE_SIZE_HALF, %ecx
#else
# ifdef SHARED
- call __i686.get_pc_thunk.bx
+ SETUP_PIC_REG(bx)
add $_GLOBAL_OFFSET_TABLE_, %ebx
cmp __x86_shared_cache_size_half@GOTOFF(%ebx), %ecx
# else
@@ -241,7 +232,7 @@
cmp $DATA_CACHE_SIZE_HALF, %ecx
#else
# ifdef SHARED
- call __i686.get_pc_thunk.bx
+ SETUP_PIC_REG(bx)
add $_GLOBAL_OFFSET_TABLE_, %ebx
mov __x86_data_cache_size_half@GOTOFF(%ebx), %edi
# else
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/memcpy-ssse3.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/memcpy-ssse3.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/memcpy-ssse3.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* memcpy with SSSE3
- Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -65,7 +65,7 @@
index into the jump table. SCALE is the scale of INDEX. */
# define BRANCH_TO_JMPTBL_ENTRY(TABLE, INDEX, SCALE) \
/* We first load PC into EBX. */ \
- call __i686.get_pc_thunk.bx; \
+ SETUP_PIC_REG(bx); \
/* Get the address of the jump table. */ \
addl $(TABLE - .), %ebx; \
/* Get the entry and convert the relative offset to the \
@@ -81,15 +81,6 @@
addl (%ebx,INDEX,SCALE), %ebx; \
/* We loaded the jump table. Go. */ \
jmp *%ebx
-
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- ALIGN (4)
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
#else
# define PARMS 4
# define ENTRANCE
@@ -173,7 +164,7 @@
cmp $SHARED_CACHE_SIZE_HALF, %ecx
#else
# ifdef SHARED
- call __i686.get_pc_thunk.bx
+ SETUP_PIC_REG(bx)
add $_GLOBAL_OFFSET_TABLE_, %ebx
cmp __x86_shared_cache_size_half@GOTOFF(%ebx), %ecx
# else
@@ -244,7 +235,7 @@
cmp $DATA_CACHE_SIZE_HALF, %ecx
#else
# ifdef SHARED
- call __i686.get_pc_thunk.bx
+ SETUP_PIC_REG(bx)
add $_GLOBAL_OFFSET_TABLE_, %ebx
cmp __x86_data_cache_size_half@GOTOFF(%ebx), %ecx
# else
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/memcpy.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/memcpy.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/memcpy.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of memcpy
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -25,23 +25,13 @@
DSO. In static binaries we need memcpy before the initialization
happened. */
#if defined SHARED && !defined NOT_IN_libc
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
.text
ENTRY(memcpy)
.type memcpy, @gnu_indirect_function
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/memcpy_chk.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/memcpy_chk.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/memcpy_chk.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of __memcpy_chk
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -26,23 +26,13 @@
*/
#ifndef NOT_IN_libc
# ifdef SHARED
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
.text
ENTRY(__memcpy_chk)
.type __memcpy_chk, @gnu_indirect_function
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/memmove.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/memmove.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/memmove.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of memmove
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -24,23 +24,13 @@
/* Define multiple versions only for the definition in lib. */
#ifndef NOT_IN_libc
# ifdef SHARED
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
.text
ENTRY(memmove)
.type memmove, @gnu_indirect_function
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/memmove_chk.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/memmove_chk.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/memmove_chk.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of __memmove_chk
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -24,23 +24,13 @@
/* Define multiple versions only for the definition in lib. */
#ifndef NOT_IN_libc
# ifdef SHARED
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
.text
ENTRY(__memmove_chk)
.type __memmove_chk, @gnu_indirect_function
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/mempcpy.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/mempcpy.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/mempcpy.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of mempcpy
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -25,23 +25,13 @@
DSO. In static binaries we need mempcpy before the initialization
happened. */
#if defined SHARED && !defined NOT_IN_libc
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
.text
ENTRY(__mempcpy)
.type __mempcpy, @gnu_indirect_function
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/mempcpy_chk.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/mempcpy_chk.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/mempcpy_chk.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of __mempcpy_chk
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -26,23 +26,13 @@
*/
#ifndef NOT_IN_libc
# ifdef SHARED
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
.text
ENTRY(__mempcpy_chk)
.type __mempcpy_chk, @gnu_indirect_function
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/memrchr.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/memrchr.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/memrchr.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of memrchr
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011, 2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -22,15 +22,6 @@
#include <init-arch.h>
#ifndef NOT_IN_libc
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
# define CFI_POP(REG) \
cfi_adjust_cfa_offset (-4); \
cfi_restore (REG)
@@ -44,8 +35,7 @@
.type __memrchr, @gnu_indirect_function
pushl %ebx
CFI_PUSH (%ebx)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/memset-sse2-rep.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/memset-sse2-rep.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/memset-sse2-rep.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* memset with SSE2 and REP string.
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -56,7 +56,7 @@
jump table with relative offsets. */
# define BRANCH_TO_JMPTBL_ENTRY(TABLE) \
/* We first load PC into EBX. */ \
- call __i686.get_pc_thunk.bx; \
+ SETUP_PIC_REG(bx); \
/* Get the address of the jump table. */ \
add $(TABLE - .), %ebx; \
/* Get the entry and convert the relative offset to the \
@@ -65,15 +65,6 @@
add %ecx, %edx; \
/* We loaded the jump table and adjuested EDX. Go. */ \
jmp *%ebx
-
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- ALIGN (4)
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
#else
# define ENTRANCE
# define RETURN_END ret
@@ -273,7 +264,7 @@
mov $DATA_CACHE_SIZE, %ebx
#else
# ifdef SHARED
- call __i686.get_pc_thunk.bx
+ SETUP_PIC_REG(bx)
add $_GLOBAL_OFFSET_TABLE_, %ebx
mov __x86_data_cache_size@GOTOFF(%ebx), %ebx
# else
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/memset-sse2.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/memset-sse2.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/memset-sse2.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* memset with SSE2
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -56,7 +56,7 @@
jump table with relative offsets. */
# define BRANCH_TO_JMPTBL_ENTRY(TABLE) \
/* We first load PC into EBX. */ \
- call __i686.get_pc_thunk.bx; \
+ SETUP_PIC_REG(bx); \
/* Get the address of the jump table. */ \
add $(TABLE - .), %ebx; \
/* Get the entry and convert the relative offset to the \
@@ -65,15 +65,6 @@
add %ecx, %edx; \
/* We loaded the jump table and adjuested EDX. Go. */ \
jmp *%ebx
-
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- ALIGN (4)
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
#else
# define ENTRANCE
# define RETURN_END ret
@@ -272,7 +263,7 @@
mov $SHARED_CACHE_SIZE, %ebx
#else
# ifdef SHARED
- call __i686.get_pc_thunk.bx
+ SETUP_PIC_REG(bx)
add $_GLOBAL_OFFSET_TABLE_, %ebx
mov __x86_shared_cache_size@GOTOFF(%ebx), %ebx
# else
@@ -291,7 +282,7 @@
#else
# ifdef SHARED
# define RESTORE_EBX_STATE
- call __i686.get_pc_thunk.bx
+ SETUP_PIC_REG(bx)
add $_GLOBAL_OFFSET_TABLE_, %ebx
cmp __x86_data_cache_size@GOTOFF(%ebx), %ecx
# else
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/memset.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/memset.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/memset.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of memset
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -24,23 +24,13 @@
/* Define multiple versions only for the definition in lib. */
#ifndef NOT_IN_libc
# ifdef SHARED
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
.text
ENTRY(memset)
.type memset, @gnu_indirect_function
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/memset_chk.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/memset_chk.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/memset_chk.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of __memset_chk
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -24,23 +24,13 @@
/* Define multiple versions only for the definition in lib. */
#ifndef NOT_IN_libc
# ifdef SHARED
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
.text
ENTRY(__memset_chk)
.type __memset_chk, @gnu_indirect_function
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/rawmemchr.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/rawmemchr.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/rawmemchr.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of rawmemchr
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -22,15 +22,6 @@
#include <init-arch.h>
#ifndef NOT_IN_libc
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
# define CFI_POP(REG) \
cfi_adjust_cfa_offset (-4); \
cfi_restore (REG)
@@ -44,8 +35,7 @@
.type __rawmemchr, @gnu_indirect_function
pushl %ebx
CFI_PUSH (%ebx)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcasecmp.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcasecmp.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcasecmp.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Entry point for multi-version x86 strcasecmp.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 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
@@ -27,8 +27,7 @@
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcat-sse2.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcat-sse2.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcat-sse2.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* strcat with SSE2
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -44,7 +44,7 @@
# define BRANCH_TO_JMPTBL_ENTRY(TABLE, INDEX, SCALE) \
/* We first load PC into ECX. */ \
- call __i686.get_pc_thunk.cx; \
+ SETUP_PIC_REG(cx); \
/* Get the address of the jump table. */ \
addl $(TABLE - .), %ecx; \
/* Get the entry and convert the relative offset to the \
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcat.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcat.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcat.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of strcat
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -46,23 +46,13 @@
#ifndef NOT_IN_libc
# ifdef SHARED
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
.text
ENTRY(STRCAT)
.type STRCAT, @gnu_indirect_function
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/strchr.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/strchr.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/strchr.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of strchr
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -22,23 +22,13 @@
#include <init-arch.h>
#ifndef NOT_IN_libc
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
.text
ENTRY(strchr)
.type strchr, @gnu_indirect_function
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcmp-sse4.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcmp-sse4.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcmp-sse4.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* strcmp with SSE4.2
- Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -100,8 +100,7 @@
ENTRY (__strcasecmp_sse4_2)
# ifdef PIC
PUSH (%ebx)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
movl __libc_tsd_LOCALE@GOTNTPOFF(%ebx), %eax
# ifdef NO_TLS_DIRECT_SEG_REFS
addl %gs:0, %eax
@@ -132,8 +131,7 @@
ENTRY (__strncasecmp_sse4_2)
# ifdef PIC
PUSH (%ebx)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
movl __libc_tsd_LOCALE@GOTNTPOFF(%ebx), %eax
# ifdef NO_TLS_DIRECT_SEG_REFS
addl %gs:0, %eax
@@ -173,8 +171,7 @@
# ifdef PIC
PUSH (%ebx)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
# endif
L(ascii):
.section .rodata.cst16,"aM",@progbits,16
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcmp-ssse3.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcmp-ssse3.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* strcmp with SSSE3
- Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -117,8 +117,7 @@
ENTRY (__strcasecmp_ssse3)
# ifdef PIC
PUSH (%ebx)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
movl __libc_tsd_LOCALE@GOTNTPOFF(%ebx), %eax
# ifdef NO_TLS_DIRECT_SEG_REFS
addl %gs:0, %eax
@@ -149,8 +148,7 @@
ENTRY (__strncasecmp_ssse3)
# ifdef PIC
PUSH (%ebx)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
movl __libc_tsd_LOCALE@GOTNTPOFF(%ebx), %eax
# ifdef NO_TLS_DIRECT_SEG_REFS
addl %gs:0, %eax
@@ -190,8 +188,7 @@
# ifdef PIC
PUSH (%ebx)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
# endif
L(ascii):
.section .rodata.cst16,"aM",@progbits,16
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcmp.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcmp.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcmp.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of strcmp
- Copyright (C) 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2010-2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -52,23 +52,13 @@
need strncmp before the initialization happened. */
#if (defined SHARED || !defined USE_AS_STRNCMP) && !defined NOT_IN_libc
# ifdef SHARED
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
.text
ENTRY(STRCMP)
.type STRCMP, @gnu_indirect_function
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcpy-sse2.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcpy-sse2.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcpy-sse2.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* strcpy with SSE2 and unaligned load
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -59,7 +59,7 @@
# define BRANCH_TO_JMPTBL_ENTRY(TABLE, INDEX, SCALE) \
/* We first load PC into ECX. */ \
- call __i686.get_pc_thunk.cx; \
+ SETUP_PIC_REG(cx); \
/* Get the address of the jump table. */ \
addl $(TABLE - .), %ecx; \
/* Get the entry and convert the relative offset to the \
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcpy.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcpy.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcpy.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of strcpy
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -62,23 +62,13 @@
#ifndef NOT_IN_libc
# ifdef SHARED
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
.text
ENTRY(STRCPY)
.type STRCPY, @gnu_indirect_function
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcspn.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcspn.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/strcspn.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of strcspn
- Copyright (C) 2009 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -43,23 +43,13 @@
need strpbrk before the initialization happened. */
#if (defined SHARED || !defined USE_AS_STRPBRK) && !defined NOT_IN_libc
# ifdef SHARED
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
.text
ENTRY(STRCSPN)
.type STRCSPN, @gnu_indirect_function
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/strlen.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/strlen.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/strlen.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of strlen
- Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2010, 2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -25,23 +25,13 @@
DSO. In static binaries, we need strlen before the initialization
happened. */
#if defined SHARED && !defined NOT_IN_libc
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
.text
ENTRY(strlen)
.type strlen, @gnu_indirect_function
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/strncase.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/strncase.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/strncase.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Entry point for multi-version x86 strncasecmp.
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 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
@@ -27,8 +27,7 @@
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/strnlen.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/strnlen.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/strnlen.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of strnlen
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -22,23 +22,13 @@
#include <init-arch.h>
#ifndef NOT_IN_libc
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
.text
ENTRY(__strnlen)
.type __strnlen, @gnu_indirect_function
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/strrchr.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/strrchr.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/strrchr.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of strrchr
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -22,23 +22,13 @@
#include <init-arch.h>
#ifndef NOT_IN_libc
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
.text
ENTRY(strrchr)
.type strrchr, @gnu_indirect_function
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/strspn.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/strspn.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/strspn.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of strspn
- Copyright (C) 2009,2010 Free Software Foundation, Inc.
+ Copyright (C) 2009,2010,2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -28,23 +28,13 @@
/* Define multiple versions only for the definition in libc. */
#ifndef NOT_IN_libc
# ifdef SHARED
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
.text
ENTRY(strspn)
.type strspn, @gnu_indirect_function
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/wcschr.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/wcschr.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/wcschr.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of wcschr
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -22,23 +22,13 @@
#include <init-arch.h>
#ifndef NOT_IN_libc
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
.text
ENTRY(wcschr)
.type wcschr, @gnu_indirect_function
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/wcscmp.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/wcscmp.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/wcscmp.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of wcscmp
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -25,23 +25,13 @@
DSO. In static binaries, we need wcscmp before the initialization
happened. */
#ifndef NOT_IN_libc
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
.text
ENTRY(wcscmp)
.type wcscmp, @gnu_indirect_function
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/wcscpy.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/wcscpy.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/wcscpy.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of wcscpy
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -29,8 +29,7 @@
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/wcslen.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/wcslen.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/wcslen.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of wcslen
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -22,23 +22,13 @@
#include <init-arch.h>
#ifndef NOT_IN_libc
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
.text
ENTRY(__wcslen)
.type __wcslen, @gnu_indirect_function
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/wcsrchr.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/wcsrchr.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/wcsrchr.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of wcsrchr
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -22,23 +22,13 @@
#include <init-arch.h>
#ifndef NOT_IN_libc
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
-__i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
.text
ENTRY(wcsrchr)
.type wcsrchr, @gnu_indirect_function
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/wmemcmp.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/wmemcmp.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/wmemcmp.S Sat Feb 4 00:01:48 2012
@@ -1,5 +1,5 @@
/* Multiple versions of wmemcmp
- Copyright (C) 2011 Free Software Foundation, Inc.
+ Copyright (C) 2011-2012 Free Software Foundation, Inc.
Contributed by Intel Corporation.
This file is part of the GNU C Library.
@@ -24,23 +24,13 @@
/* Define multiple versions only for the definition in libc. */
#ifndef NOT_IN_libc
- .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
- .globl __i686.get_pc_thunk.bx
- .hidden __i686.get_pc_thunk.bx
- .p2align 4
- .type __i686.get_pc_thunk.bx,@function
- __i686.get_pc_thunk.bx:
- movl (%esp), %ebx
- ret
-
.text
ENTRY(wmemcmp)
.type wmemcmp, @gnu_indirect_function
pushl %ebx
cfi_adjust_cfa_offset (4)
cfi_rel_offset (ebx, 0)
- call __i686.get_pc_thunk.bx
- addl $_GLOBAL_OFFSET_TABLE_, %ebx
+ LOAD_PIC_REG(bx)
cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx)
jne 1f
call __init_cpu_features
Modified: fsf/trunk/libc/sysdeps/i386/sysdep.h
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/sysdep.h (original)
+++ fsf/trunk/libc/sysdeps/i386/sysdep.h Sat Feb 4 00:01:48 2012
@@ -19,6 +19,12 @@
02111-1307 USA. */
#include <sysdeps/generic/sysdep.h>
+
+#ifdef __ASSEMBLER__
+# define GET_PC_THUNK(reg) __i686.get_pc_thunk.reg
+#else
+# define GET_PC_THUNK_STR(reg) "__i686.get_pc_thunk." #reg
+#endif
#ifdef __ASSEMBLER__
@@ -109,6 +115,24 @@
#define PSEUDO_END(name) \
END (name)
+# define SETUP_PIC_REG(reg) \
+ .ifndef GET_PC_THUNK(reg); \
+ .section .gnu.linkonce.t.GET_PC_THUNK(reg),"ax",@progbits; \
+ .globl GET_PC_THUNK(reg); \
+ .hidden GET_PC_THUNK(reg); \
+ .p2align 4; \
+ .type GET_PC_THUNK(reg),@function; \
+GET_PC_THUNK(reg): \
+ movl (%esp), %e##reg; \
+ ret; \
+ .size GET_PC_THUNK(reg), . - GET_PC_THUNK(reg); \
+ .previous; \
+ .endif; \
+ call GET_PC_THUNK(reg)
+
+# define LOAD_PIC_REG(reg) \
+ SETUP_PIC_REG(reg); addl $_GLOBAL_OFFSET_TABLE_, %e##reg
+
#undef JUMPTARGET
#ifdef PIC
#define JUMPTARGET(name) name##@PLT
@@ -119,23 +143,6 @@
0: popl %ebx; \
cfi_adjust_cfa_offset (-4); \
addl $_GLOBAL_OFFSET_TABLE+[.-0b], %ebx;
-
-# define SETUP_PIC_REG(reg) \
- .ifndef __i686.get_pc_thunk.reg; \
- .section .gnu.linkonce.t.__i686.get_pc_thunk.reg,"ax",@progbits; \
- .globl __i686.get_pc_thunk.reg; \
- .hidden __i686.get_pc_thunk.reg; \
- .type __i686.get_pc_thunk.reg,@function; \
-__i686.get_pc_thunk.reg: \
- movl (%esp), %e##reg; \
- ret; \
- .size __i686.get_pc_thunk.reg, . - __i686.get_pc_thunk.reg; \
- .previous; \
- .endif; \
- call __i686.get_pc_thunk.reg
-
-# define LOAD_PIC_REG(reg) \
- SETUP_PIC_REG(reg); addl $_GLOBAL_OFFSET_TABLE_, %e##reg
#else
#define JUMPTARGET(name) name
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/i386/sysdep.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/i386/sysdep.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/i386/sysdep.h Sat Feb 4 00:01:48 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992,1993,1995-2000,2002-2006,2007,2011
+/* Copyright (C) 1992,1993,1995-2000,2002-2006,2007,2011-2012
Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper, <drepper@xxxxxxx>, August 1995.
@@ -514,17 +514,17 @@
# define check_consistency() \
({ int __res; \
__asm__ __volatile__ \
- ("call __i686.get_pc_thunk.cx;" \
+ ("call "GET_PC_THUNK_STR(cx)";" \
"addl $_GLOBAL_OFFSET_TABLE_, %%ecx;" \
"subl %%ebx, %%ecx;" \
"je 1f;" \
"ud2;" \
"1:\n" \
- ".section .gnu.linkonce.t.__i686.get_pc_thunk.cx,\"ax\",@progbits;" \
- ".globl __i686.get_pc_thunk.cx;" \
- ".hidden __i686.get_pc_thunk.cx;" \
- ".type __i686.get_pc_thunk.cx,@function;" \
- "__i686.get_pc_thunk.cx:" \
+ ".section .gnu.linkonce.t."GET_PC_THUNK_STR(cx)",\"ax\",@progbits;" \
+ ".globl "GET_PC_THUNK_STR(cx)";" \
+ ".hidden "GET_PC_THUNK_STR(cx)";" \
+ ".type "GET_PC_THUNK_STR(cx)",@function;" \
+ GET_PC_THUNK_STR(cx)":" \
"movl (%%esp), %%ecx;" \
"ret;" \
".previous" \
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits