From ceaa0c5dc3f86d3d3126abdd592a3c4fdc457255 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 6 Sep 2011 21:53:03 -0400 Subject: [PATCH] Move Atom-optimized code out of the way and together --- ChangeLog | 10 ++++++++++ sysdeps/i386/i686/multiarch/strchr-sse2-bsf.S | 2 +- sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S | 4 ++-- sysdeps/i386/i686/multiarch/strrchr-sse2-bsf.S | 2 +- sysdeps/i386/sysdep.h | 4 +++- sysdeps/x86_64/multiarch/strchr-sse2-no-bsf.S | 2 +- sysdeps/x86_64/multiarch/strlen-no-bsf.S | 2 +- sysdeps/x86_64/multiarch/strrchr-sse2-no-bsf.S | 2 +- sysdeps/x86_64/sysdep.h | 4 +++- 9 files changed, 23 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index e2fc295..6ca72bf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,15 @@ 2011-09-06 Ulrich Drepper + * sysdeps/i386/sysdep.h: Define atom_text_section. + * sysdeps/x86_64/sysdep.h: Likewise. + * sysdeps/i386/i686/multiarch/strchr-sse2-bsf.S: Place function in + section with atom_text_section. + * sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S: Likewise. + * sysdeps/i386/i686/multiarch/strrchr-sse2-bsf.S: Likewise. + * sysdeps/x86_64/multiarch/strchr-sse2-no-bsf.S: Likewise. + * sysdeps/x86_64/multiarch/strlen-no-bsf.S: Likewise. + * sysdeps/x86_64/multiarch/strrchr-sse2-no-bsf.S: Likewise. + * sysdeps/unix/sysv/linux/x86_64/clock_gettime.c: New file. * sysdeps/unix/sysv/linux/clock_gettime.c (SYSCALL_GETTIME): Allow already be defined. Change to take two parameters and don't assign diff --git a/sysdeps/i386/i686/multiarch/strchr-sse2-bsf.S b/sysdeps/i386/i686/multiarch/strchr-sse2-bsf.S index 5a19ba2..4797bc3 100644 --- a/sysdeps/i386/i686/multiarch/strchr-sse2-bsf.S +++ b/sysdeps/i386/i686/multiarch/strchr-sse2-bsf.S @@ -40,7 +40,7 @@ # define STR1 PARMS # define STR2 STR1+4 - .text + atom_text_section ENTRY (__strchr_sse2_bsf) ENTRANCE diff --git a/sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S b/sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S index 0dc651f..715fa6b 100644 --- a/sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S +++ b/sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S @@ -1,5 +1,5 @@ /* strlen with SSE2 and BSF - Copyright (C) 2010 Free Software Foundation, Inc. + Copyright (C) 2010, 2011 Free Software Foundation, Inc. Contributed by Intel Corporation. This file is part of the GNU C Library. @@ -39,7 +39,7 @@ #define RETURN POP (%edi); POP (%esi); ret; \ cfi_restore_state; cfi_remember_state - .text + atom_text_section ENTRY ( __strlen_sse2_bsf) ENTRANCE mov STR(%esp), %edi diff --git a/sysdeps/i386/i686/multiarch/strrchr-sse2-bsf.S b/sysdeps/i386/i686/multiarch/strrchr-sse2-bsf.S index f40dfdc..8ec524d 100644 --- a/sysdeps/i386/i686/multiarch/strrchr-sse2-bsf.S +++ b/sysdeps/i386/i686/multiarch/strrchr-sse2-bsf.S @@ -37,7 +37,7 @@ # define STR1 PARMS # define STR2 STR1+4 - .text + atom_text_section ENTRY (__strrchr_sse2_bsf) mov STR1(%esp), %ecx diff --git a/sysdeps/i386/sysdep.h b/sysdeps/i386/sysdep.h index efdc82d..a8a9e57 100644 --- a/sysdeps/i386/sysdep.h +++ b/sysdeps/i386/sysdep.h @@ -1,5 +1,5 @@ /* Assembler macros for i386. - Copyright (C) 1991-93,95,96,98,2002,2003,2005,2006 + Copyright (C) 1991-93,95,96,98,2002,2003,2005,2006,2011 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -167,4 +167,6 @@ __i686.get_pc_thunk.reg: \ #endif #endif +#define atom_text_section .section ".text.atom", "ax" + #endif /* __ASSEMBLER__ */ diff --git a/sysdeps/x86_64/multiarch/strchr-sse2-no-bsf.S b/sysdeps/x86_64/multiarch/strchr-sse2-no-bsf.S index 9e9c916..4c5a48c 100644 --- a/sysdeps/x86_64/multiarch/strchr-sse2-no-bsf.S +++ b/sysdeps/x86_64/multiarch/strchr-sse2-no-bsf.S @@ -23,7 +23,7 @@ # include # include "asm-syntax.h" - .text + atom_text_section ENTRY (__strchr_sse2_no_bsf) movd %esi, %xmm1 movq %rdi, %rcx diff --git a/sysdeps/x86_64/multiarch/strlen-no-bsf.S b/sysdeps/x86_64/multiarch/strlen-no-bsf.S index c730e0a..a430e5f 100644 --- a/sysdeps/x86_64/multiarch/strlen-no-bsf.S +++ b/sysdeps/x86_64/multiarch/strlen-no-bsf.S @@ -26,7 +26,7 @@ # define RETURN ret - .section .text.sse2,"ax",@progbits + atom_text_section ENTRY (__strlen_no_bsf) # endif xor %eax, %eax diff --git a/sysdeps/x86_64/multiarch/strrchr-sse2-no-bsf.S b/sysdeps/x86_64/multiarch/strrchr-sse2-no-bsf.S index bbc94c3..f839ecf 100644 --- a/sysdeps/x86_64/multiarch/strrchr-sse2-no-bsf.S +++ b/sysdeps/x86_64/multiarch/strrchr-sse2-no-bsf.S @@ -23,7 +23,7 @@ # include # include "asm-syntax.h" - .text + atom_text_section ENTRY (__strrchr_sse2_no_bsf) movd %rsi, %xmm1 diff --git a/sysdeps/x86_64/sysdep.h b/sysdeps/x86_64/sysdep.h index 1d35f8f..d61e126 100644 --- a/sysdeps/x86_64/sysdep.h +++ b/sysdeps/x86_64/sysdep.h @@ -1,5 +1,5 @@ /* Assembler macros for x86-64. - Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2003, 2011 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 @@ -114,4 +114,6 @@ lose: \ # endif #endif +#define atom_text_section .section ".text.atom", "ax" + #endif /* __ASSEMBLER__ */ -- 2.7.4