aboutsummaryrefslogtreecommitdiff
path: root/nptl/sysdeps/x86_64
AgeCommit message (Collapse)AuthorFilesLines
2014-06-11Move x86_64 code out of nptl/ subdirectory.Roland McGrath13-738/+0
2014-06-09Start cleaning up TLS initial value for pthread_create.Roland McGrath1-0/+2
2014-05-27Remove second argument from TLS_INIT_TP macroAndreas Schwab1-1/+1
2014-05-13Clean up __exit_thread.Roland McGrath1-7/+0
2014-03-14Compile with -Wundef.Roland McGrath1-4/+4
2014-01-01Update copyright notices with scripts/update-copyrightsAllan McRae7-7/+7
2013-11-26Use __glibc_reserved instead __unused.Ondřej Bílka1-2/+2
2013-10-30rename configure.in to configure.acMike Frysinger2-1/+1
Autoconf has been deprecating configure.in for quite a long time. Rename all our configure.in and preconfigure.in files to .ac. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-05-15Reserve new TLS field for x86 and x86_64Andreas Jaeger1-1/+3
[BZ #10686] * sysdeps/x86_64/tls.h (struct tcbhead_t): Add __private_ss field. * sysdeps/i386/tls.h (struct tcbhead_t): Likewise.
2013-01-02Update copyright notices with scripts/update-copyrights.Joseph Myers7-7/+7
2012-11-26Cast to __intptr_t before casting pointer to int64H.J. Lu1-2/+3
2012-11-02Compile x86 rtld with -mno-sse -mno-mmxH.J. Lu1-2/+9
2012-10-09Add missing magic to GLIBC_PROVIDES.Roland McGrath1-82/+0
2012-09-24Add "()" when casting to uint64_t for 64-bit storeH.J. Lu1-2/+2
2012-05-14Add x32 support to tcbhead_tH.J. Lu1-6/+1
2012-05-14Add sysdeps/x86_64/{64,x32}/shlib-versionsH.J. Lu2-0/+6
2012-05-11Update comments for CALL_THREAD_FCTH.J. Lu1-5/+5
2012-05-11Add sysdeps/x86_64/x32/tls.hH.J. Lu1-0/+46
2012-05-11Use uint64_t on 64-bit integerH.J. Lu1-2/+2
2012-05-11Replace movq/%q0 with mov/%0 in THREAD_SELFH.J. Lu1-1/+1
2012-05-02Kill trailing whitespace.Paul Pluzhnikov1-1/+1
2012-05-02Avoid "anonymous" code in pthread_spin_lock.Paul Pluzhnikov2-1/+36
2012-04-20Delete unused TLS_GET_FS, TLS_SET_FS macros.Paul Pluzhnikov1-8/+1
2012-03-19Use __asm__("rsp") to get CURRENT_STACK_FRAMEH.J. Lu1-1/+1
2012-02-09Replace FSF snail mail address with URLs.Paul Eggert5-15/+10
2011-09-11Remove --wth-tls option, TLS support is requiredUlrich Drepper1-6/+1
2011-08-14Align x86 TCB to 64 bytes (cache line size), important for Atom.Roland McGrath1-4/+12
2011-07-06Rebuild configure scriptsUlrich Drepper1-1/+1
2011-02-15Remove use of ranlib.Ulrich Drepper1-9/+89
2010-10-13Fix alignment of AVX safe area on x86-64.H.J. Lu2-8/+4
2009-09-15configure tweaks, support $libc_add_on_config_subdirsRoland McGrath1-32/+0
2009-08-25Handle AVX saving on x86-64 in interrupted smbol lookups.Ulrich Drepper1-2/+8
If a signal arrived during a symbol lookup and the signal handler also required a symbol lookup, the end of the lookup in the signal handler reset the flag whether restoring AVX/SSE registers is needed. Resetting means in this case that the tail part of the outer lookup code will try to restore the registers and this can fail miserably. We now restore to the previous value which makes nesting calls possible.
2009-08-04Optimize x86-64 syscall cancellation handling.Ulrich Drepper1-0/+10
The syscall wrappers had to save and restore the syscall parameter values and return value when calling the functions to enable/disable cancellation were called. Not anymore. The called functions are special and don't modify any unexpected registers.
2009-07-31Regenerated.Ulrich Drepper1-8/+40
2009-07-29Fix x86-64 TCB alignment for future processor versions.Ulrich Drepper1-1/+6
2009-07-29Preserve SSE registers in runtime relocations on x86-64.Ulrich Drepper2-18/+56
SSE registers are used for passing parameters and must be preserved in runtime relocations. This is inside ld.so enforced through the tests in tst-xmmymm.sh. But the malloc routines used after startup come from libc.so and can be arbitrarily complex. It's overkill to save the SSE registers all the time because of that. These calls are rare. Instead we save them on demand. The new infrastructure put in place in this patch makes this possible and efficient.
2009-07-23Check for .cfi_{personality,lsda} on x86-64.Ulrich Drepper2-0/+59
We need this support in NPTL now to avoid the hand-coded tables.
2009-04-27* cancellation.c (__pthread_disable_asynccancel): Use THREAD_ATOMIC_ANDUlrich Drepper1-1/+12
is available. * libc-cancellation.c (__libc_disable_asynccancel): Likewise. * sysdeps/x86_64/tls.h: Define THREAD_ATOMIC_AND. * sysdeps/i386/tls.h: Likewise. (tcbhead_t): Add __private_tm member.
2008-12-08* sysdeps/x86_64/tls.h (tcbhead_t): Add fields reserved for TMUlrich Drepper1-1/+9
implementation. Add necessary padding and. * descr.h (struct pthread): Increase padding for tcbhead_t to 24 words.
2008-08-15* sysdeps/unix/sysv/linux/x86_64/bits/mman.h: Define MAP_STACK.Ulrich Drepper1-10/+0
* sysdeps/unix/sysv/linux/i386/bits/mman.h: Likewise.
2007-12-14* sysdeps/x86_64/pthreaddef.h (ARCH_RETRY_MMAP): Take additionalUlrich Drepper1-4/+3
parameter. Passed it as permission to mmap. * allocatestack.c (allocate_stack): Pass prot as second parameter to ARCH_RETRY_MMAP.
2007-07-28* iconvdata/gbk.c (BODY): Make buf and cp char instead of unsignedUlrich Drepper1-1/+1
char array resp. pointer. * iconvdata/iso-2022-kr.c (BODY): Make buf unsigned char instead of char array. * iconvdata/cns11643.h (cns11643_to_ucs4): Change first argument to const unsigned char **. (ucs4_to_cns11643): Change second argument to unsigned char *. * iconvdata/euc-tw.c (BODY): Change endp type to const unsigned char *. * iconvdata/iso-ir-165.h (ucs4_to_isoir165): Change second argument to unsigned char *. * iconvdata/ibm1008_420.c (LOOP_NEED_FLAGS): Don't define. * iconvdata/iso-2022-cn.c (BODY): Change buf to unsigned char array. * iconvdata/iso-2022-cn-ext.c (BODY): Change buf, tmpbuf, tmp types to unsigned char pointers/arrays instead of char. * iconvdata/jis0201.h (ucs4_to_jisx0201): Change second argument to unsigned char *. * iconvdata/jis0208.h (ucs4_to_jisx0208): Likewise. * iconvdata/jis0212.h: Include assert.h. (ucs4_to_jisx0212): Change second argument to unsigned char *. assert that if cp[0] is not '\0', cp[1] is not '\0' either instead of trying to handle that. * iconvdata/euc-kr.c (euckr_from_ucs4): Initialize also cp[1] to shut up a warning. * iconvdata/euc-jp-ms.c (from_ucs4_lat1, from_ucs4_greek, from_ucs4_cjk, from_ucs4_cjkcpt, from_ucs4_extra): Change type to two dimensional const unsigned char arrays. (BODY): Cast "" to (const unsigned char *) for assignment to cp. Initialize endp to inptr to shut up a warning.
2007-06-08[BZ #4586]Ulrich Drepper1-1/+1
2007-06-06 Jakub Jelinek <jakub@redhat.com> BZ #4586 * sysdeps/i386/ldbl2mpn.c (__mpn_extract_long_double): Treat pseudo-zeros as zero. * sysdeps/x86_64/ldbl2mpn.c: New file. * sysdeps/ia64/ldbl2mpn.c: New file.
2007-05-28* sysdeps/i386/tls.h (THREAD_GSCOPE_RESET_FLAG): Use explicitUlrich Drepper1-1/+0
insn suffix. (THREAD_GSCOPE_GET_FLAG): Remove. * sysdeps/x86_64/tls.h (THREAD_GSCOPE_GET_FLAG): Remove. * allocatestack.c (__wait_lookup_done): Revert 2007-05-24 changes. * sysdeps/powerpc/tls.h (tcbhead_t): Remove gscope_flag. (THREAD_GSCOPE_GET_FLAG): Remove. (THREAD_GSCOPE_RESET_FLAG): Use THREAD_SELF->header.gscope_flag instead of THREAD_GSCOPE_GET_FLAG. (THREAD_GSCOPE_SET_FLAG): Likewise. Add atomic_write_barrier after it. * sysdeps/s390/tls.h (THREAD_GSCOPE_FLAG_UNUSED, THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT, THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG, THREAD_GSCOPE_WAIT): Define. * sysdeps/sparc/tls.h (THREAD_GSCOPE_FLAG_UNUSED, THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT, THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG, THREAD_GSCOPE_WAIT): Define. * sysdeps/sh/tls.h (THREAD_GSCOPE_FLAG_UNUSED, THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT, THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG, THREAD_GSCOPE_WAIT): Define. * sysdeps/ia64/tls.h (THREAD_GSCOPE_FLAG_UNUSED, THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT, THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG, THREAD_GSCOPE_WAIT): Define. 2007-05-24 Richard Henderson <rth@redhat.com> * descr.h (struct pthread): Add header.gscope_flag. * sysdeps/alpha/tls.h (THREAD_GSCOPE_FLAG_UNUSED, THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT, THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_SET_FLAG, THREAD_GSCOPE_WAIT): Define.
2007-05-26* sysdeps/unix/sysv/linux/powerpc/libc-start.c: Include <sysdep.h>.Ulrich Drepper1-8/+0
2007-05-25* sysdeps/i386/tls.h (THREAD_SET_PRIVATE_FUTEX,Ulrich Drepper1-0/+7
THREAD_COPY_PRIVATE_FUTEX): Define. * sysdeps/x86_64/tls.h (THREAD_SET_PRIVATE_FUTEX, THREAD_COPY_PRIVATE_FUTEX): Define. * allocatestack.c (allocate_stack): Use THREAD_COPY_PRIVATE_FUTEX. * init.c (__pthread_initialize_minimal_internal): Use THREAD_SET_PRIVATE_FUTEX.
2007-05-25* sysdeps/powerpc/tls.h (tcbhead_t): Add gscope_flag.Ulrich Drepper1-0/+1
(THREAD_GSCOPE_FLAG_UNUSED, THREAD_GSCOPE_FLAG_USED, THREAD_GSCOPE_FLAG_WAIT): Define. (THREAD_GSCOPE_GET_FLAG, THREAD_GSCOPE_SET_FLAG, THREAD_GSCOPE_RESET_FLAG, THREAD_GSCOPE_WAIT): Define. * sysdeps/i386/tls.h (THREAD_GSCOPE_WAIT): Don't use PTR_DEMANGLE. (THREAD_GSCOPE_GET_FLAG): Define. * sysdeps/x86_64/tls.h (THREAD_GSCOPE_GET_FLAG): Define. * allocatestack.c (__wait_lookup_done): Use THREAD_GSCOPE_GET_FLAG instead of ->header.gscope_flag directly.
2007-05-23* init.c (__pthread_initialize_minimal_internal): Check whetherUlrich Drepper2-0/+7
private futexes are available. * allocatestack.c (allocate_stack): Copy private_futex field from current thread into the new stack. * sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S: Use private futexes if they are available. * sysdeps/unix/sysv/linux/i386/i486/libc-lowlevellock.S: Likewise * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Adjust so that change in libc-lowlevellock.S allow using private futexes. * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Define FUTEX_PRIVATE_FLAG. * sysdeps/unix/sysv/linux/i386/lowlevellock.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Use private futexes if they are available. * sysdeps/unix/sysv/linux/i386/pthread_once.S: Likewise. * sysdeps/x86_64/tcb-offsets.sym: Add PRIVATE_FUTEX. * sysdeps/i386/tcb-offsets.sym: Likewise. * sysdeps/x86_64/tls.h (tcbhead_t): Add private_futex field. * sysdeps/i386/tls.h (tcbhead_t): Likewise.
2007-05-21* sysdeps/x86_64/cacheinfo.c (init_cacheinfo): Pass correct valueUlrich Drepper1-4/+1
as second parameter to handle_intel.
2007-05-19* elf/dl-close.c (_dl_close_worker): When removing object fromUlrich Drepper1-0/+26
global scope, wait for all lookups to finish afterwards. * elf/dl-open.c (add_to_global): When global scope array must grow, allocate a new one and free old array only after all lookups finish. * elf/dl-runtime.c (_dl_fixup): Protect using global scope. (_dl_lookup_symbol_x): Likewise. * elf/dl-support.c: Define _dl_wait_lookup_done. * sysdeps/generic/ldsodefs.h (struct rtld_global): Add _dl_wait_lookup_done.