about summary refs log tree commit diff
path: root/nptl/sysdeps/x86_64
Commit message (Collapse)AuthorAgeFilesLines
* Move x86_64 code out of nptl/ subdirectory.Roland McGrath2014-06-1113-738/+0
|
* Start cleaning up TLS initial value for pthread_create.Roland McGrath2014-06-091-0/+2
|
* Remove second argument from TLS_INIT_TP macroAndreas Schwab2014-05-271-1/+1
|
* Clean up __exit_thread.Roland McGrath2014-05-131-7/+0
|
* Compile with -Wundef.Roland McGrath2014-03-141-4/+4
|
* Update copyright notices with scripts/update-copyrightsAllan McRae2014-01-017-7/+7
|
* Use __glibc_reserved instead __unused.Ondřej Bílka2013-11-261-2/+2
|
* rename configure.in to configure.acMike Frysinger2013-10-302-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>
* Reserve new TLS field for x86 and x86_64Andreas Jaeger2013-05-151-1/+3
| | | | | | | [BZ #10686] * sysdeps/x86_64/tls.h (struct tcbhead_t): Add __private_ss field. * sysdeps/i386/tls.h (struct tcbhead_t): Likewise.
* Update copyright notices with scripts/update-copyrights.Joseph Myers2013-01-027-7/+7
|
* Cast to __intptr_t before casting pointer to int64H.J. Lu2012-11-261-2/+3
|
* Compile x86 rtld with -mno-sse -mno-mmxH.J. Lu2012-11-021-2/+9
|
* Add missing magic to GLIBC_PROVIDES.Roland McGrath2012-10-091-82/+0
|
* Add "()" when casting to uint64_t for 64-bit storeH.J. Lu2012-09-241-2/+2
|
* Add x32 support to tcbhead_tH.J. Lu2012-05-141-6/+1
|
* Add sysdeps/x86_64/{64,x32}/shlib-versionsH.J. Lu2012-05-142-0/+6
|
* Update comments for CALL_THREAD_FCTH.J. Lu2012-05-111-5/+5
|
* Add sysdeps/x86_64/x32/tls.hH.J. Lu2012-05-111-0/+46
|
* Use uint64_t on 64-bit integerH.J. Lu2012-05-111-2/+2
|
* Replace movq/%q0 with mov/%0 in THREAD_SELFH.J. Lu2012-05-111-1/+1
|
* Kill trailing whitespace.Paul Pluzhnikov2012-05-021-1/+1
|
* Avoid "anonymous" code in pthread_spin_lock.Paul Pluzhnikov2012-05-022-1/+36
|
* Delete unused TLS_GET_FS, TLS_SET_FS macros.Paul Pluzhnikov2012-04-201-8/+1
|
* Use __asm__("rsp") to get CURRENT_STACK_FRAMEH.J. Lu2012-03-191-1/+1
|
* Replace FSF snail mail address with URLs.Paul Eggert2012-02-095-15/+10
|
* Remove --wth-tls option, TLS support is requiredUlrich Drepper2011-09-111-6/+1
|
* Align x86 TCB to 64 bytes (cache line size), important for Atom.Roland McGrath2011-08-141-4/+12
|
* Rebuild configure scriptsUlrich Drepper2011-07-061-1/+1
|
* Remove use of ranlib.Ulrich Drepper2011-02-151-9/+89
|
* Fix alignment of AVX safe area on x86-64.H.J. Lu2010-10-132-8/+4
|
* configure tweaks, support $libc_add_on_config_subdirsRoland McGrath2009-09-151-32/+0
|
* Handle AVX saving on x86-64 in interrupted smbol lookups.Ulrich Drepper2009-08-251-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.
* Optimize x86-64 syscall cancellation handling.Ulrich Drepper2009-08-041-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.
* Regenerated.Ulrich Drepper2009-07-311-8/+40
|
* Fix x86-64 TCB alignment for future processor versions.Ulrich Drepper2009-07-291-1/+6
|
* Preserve SSE registers in runtime relocations on x86-64.Ulrich Drepper2009-07-292-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.
* Check for .cfi_{personality,lsda} on x86-64.Ulrich Drepper2009-07-232-0/+59
| | | | We need this support in NPTL now to avoid the hand-coded tables.
* * cancellation.c (__pthread_disable_asynccancel): Use THREAD_ATOMIC_ANDUlrich Drepper2009-04-271-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.
* * sysdeps/x86_64/tls.h (tcbhead_t): Add fields reserved for TMUlrich Drepper2008-12-081-1/+9
| | | | | | implementation. Add necessary padding and. * descr.h (struct pthread): Increase padding for tcbhead_t to 24 words.
* * sysdeps/unix/sysv/linux/x86_64/bits/mman.h: Define MAP_STACK.Ulrich Drepper2008-08-151-10/+0
| | | | * sysdeps/unix/sysv/linux/i386/bits/mman.h: Likewise.
* * sysdeps/x86_64/pthreaddef.h (ARCH_RETRY_MMAP): Take additionalUlrich Drepper2007-12-141-4/+3
| | | | | | parameter. Passed it as permission to mmap. * allocatestack.c (allocate_stack): Pass prot as second parameter to ARCH_RETRY_MMAP.
* * iconvdata/gbk.c (BODY): Make buf and cp char instead of unsignedUlrich Drepper2007-07-281-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.
* [BZ #4586]Ulrich Drepper2007-06-081-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.
* * sysdeps/i386/tls.h (THREAD_GSCOPE_RESET_FLAG): Use explicitUlrich Drepper2007-05-281-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.
* * sysdeps/unix/sysv/linux/powerpc/libc-start.c: Include <sysdep.h>.Ulrich Drepper2007-05-261-8/+0
|
* * sysdeps/i386/tls.h (THREAD_SET_PRIVATE_FUTEX,Ulrich Drepper2007-05-251-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.
* * sysdeps/powerpc/tls.h (tcbhead_t): Add gscope_flag.Ulrich Drepper2007-05-251-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.
* * init.c (__pthread_initialize_minimal_internal): Check whetherUlrich Drepper2007-05-232-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.
* * sysdeps/x86_64/cacheinfo.c (init_cacheinfo): Pass correct valueUlrich Drepper2007-05-211-4/+1
| | | | as second parameter to handle_intel.
* * elf/dl-close.c (_dl_close_worker): When removing object fromUlrich Drepper2007-05-191-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.