Author: ps-guest Date: 2013-10-13 15:16:10 +0000 (Sun, 13 Oct 2013) New Revision: 5727
Removed: glibc-package/branches/eglibc-2.18/debian/patches/kfreebsd/local-dosavesse.diff glibc-package/branches/eglibc-2.18/debian/patches/kfreebsd/local-nosavesse.diff Modified: glibc-package/branches/eglibc-2.18/debian/changelog Log: drop obsolete kfreebsd/local-dosavesse.diff kfreebsd/local-nosavesse.diff Modified: glibc-package/branches/eglibc-2.18/debian/changelog =================================================================== --- glibc-package/branches/eglibc-2.18/debian/changelog 2013-10-13 15:12:51 UTC (rev 5726) +++ glibc-package/branches/eglibc-2.18/debian/changelog 2013-10-13 15:16:10 UTC (rev 5727) @@ -67,6 +67,7 @@ * add kfreebsd/submitted-waitid.diff * add kfreebsd/submitted-auxv.diff. Closes: #717912. * drop obsolete patches/*/local-linuxthreads* + * drop obsolete kfreebsd/local-dosavesse.diff kfreebsd/local-nosavesse.diff -- Adam Conrad <adcon...@ubuntu.com> Sun, 25 Aug 2013 14:59:44 -0600 Deleted: glibc-package/branches/eglibc-2.18/debian/patches/kfreebsd/local-dosavesse.diff =================================================================== --- glibc-package/branches/eglibc-2.18/debian/patches/kfreebsd/local-dosavesse.diff 2013-10-13 15:12:51 UTC (rev 5726) +++ glibc-package/branches/eglibc-2.18/debian/patches/kfreebsd/local-dosavesse.diff 2013-10-13 15:16:10 UTC (rev 5727) @@ -1,116 +0,0 @@ - unfortunately, it does not work - in mean time use local-nosavesse.diff - ---- a/linuxthreads/descr.h -+++ b/linuxthreads/descr.h -@@ -114,6 +114,7 @@ - /* This overlaps tcbhead_t (see tls.h), as used for TLS without threads. */ - union - { -+ tcbhead_t tcbheader; - struct - { - void *tcb; /* Pointer to the TCB. This is not always ---- a/linuxthreads/sysdeps/x86_64/tcb-offsets.sym -+++ b/linuxthreads/sysdeps/x86_64/tcb-offsets.sym -@@ -3,3 +3,4 @@ - - MULTIPLE_THREADS_OFFSET offsetof (tcbhead_t, multiple_threads) - POINTER_GUARD offsetof (tcbhead_t, pointer_guard) -+RTLD_SAVESPACE_SSE offsetof (tcbhead_t, rtld_savespace_sse) ---- a/linuxthreads/sysdeps/x86_64/tls.h -+++ b/linuxthreads/sysdeps/x86_64/tls.h -@@ -26,6 +26,7 @@ - # include <stdbool.h> - # include <stddef.h> - # include <stdint.h> -+# include <xmmintrin.h> - - /* Type for the dtv. */ - typedef union dtv -@@ -46,6 +47,7 @@ - dtv_t *dtv; - void *self; /* Pointer to the thread descriptor. */ - int multiple_threads; -+ int __unused1; - uintptr_t sysinfo; - uintptr_t stack_guard; - uintptr_t pointer_guard; -@@ -53,7 +55,13 @@ - long gscope_flag; - # else - int gscope_flag; -+ int __unused2; - # endif -+ void *__padding1[7]; -+ int rtld_must_xmm_save; -+ int __unused3; -+ /* Have space for the post-AVX register size. */ -+ __m128 rtld_savespace_sse[8][4]; - } tcbhead_t; - - #else /* __ASSEMBLER__ */ -@@ -77,13 +85,19 @@ - # define TLS_INIT_TCB_SIZE sizeof (tcbhead_t) - - /* Alignment requirements for the initial TCB. */ --# define TLS_INIT_TCB_ALIGN __alignof__ (tcbhead_t) -+//# define TLS_INIT_TCB_ALIGN __alignof__ (tcbhead_t) -+// Normally the above would be correct But we have to store post-AVX -+// vector registers in the TCB and we want the storage to be aligned. -+// unfortunately there isn't yet a type for these values and hence no -+// 32-byte alignment requirement. Make this explicit, for now. -+# define TLS_INIT_TCB_ALIGN 32 - - /* This is the size of the TCB. */ - # define TLS_TCB_SIZE sizeof (struct _pthread_descr_struct) - - /* Alignment requirements for the TCB. */ - # define TLS_TCB_ALIGN __alignof__ (struct _pthread_descr_struct) -+// It is already 32B aligned - - /* The TCB can have any size and the memory following the address the - thread pointer points to is unspecified. Allocate the TCB there. */ -@@ -189,7 +203,42 @@ - #define THREAD_GSCOPE_WAIT() \ - do { /* GL(dl_wait_lookup_done) () */ } while (0) - -+ -+# ifdef SHARED -+/* Defined in dl-trampoline.S. */ -+extern void _dl_x86_64_save_sse (void); -+extern void _dl_x86_64_restore_sse (void); -+ -+# define RTLD_CHECK_FOREIGN_CALL \ -+ (THREAD_GETMEM (THREAD_SELF, p_header.tcbheader.rtld_must_xmm_save) != 0) -+ -+/* NB: Don't use the xchg operation because that would imply a lock -+ prefix which is expensive and unnecessary. The cache line is also -+ not contested at all. */ -+# define RTLD_ENABLE_FOREIGN_CALL \ -+ int old_rtld_must_xmm_save = THREAD_GETMEM (THREAD_SELF, \ -+ p_header.tcbheader.rtld_must_xmm_save); \ -+ THREAD_SETMEM (THREAD_SELF, p_header.tcbheader.rtld_must_xmm_save, 1) -+ -+# define RTLD_PREPARE_FOREIGN_CALL \ -+ do if (THREAD_GETMEM (THREAD_SELF, p_header.tcbheader.rtld_must_xmm_save)) \ -+ { \ -+ _dl_x86_64_save_sse (); \ -+ THREAD_SETMEM (THREAD_SELF, p_header.tcbheader.rtld_must_xmm_save, 0); \ -+ } \ -+ while (0) -+ -+# define RTLD_FINALIZE_FOREIGN_CALL \ -+ do { \ -+ if (THREAD_GETMEM (THREAD_SELF, p_header.tcbheader.rtld_must_xmm_save) == 0) \ -+ _dl_x86_64_restore_sse (); \ -+ THREAD_SETMEM (THREAD_SELF, p_header.tcbheader.rtld_must_xmm_save, \ -+ old_rtld_must_xmm_save); \ -+ } while (0) -+# endif -+ - # endif /* HAVE_TLS_SUPPORT */ -+ - #endif /* __ASSEMBLER__ */ - - #endif /* tls.h */ Deleted: glibc-package/branches/eglibc-2.18/debian/patches/kfreebsd/local-nosavesse.diff =================================================================== --- glibc-package/branches/eglibc-2.18/debian/patches/kfreebsd/local-nosavesse.diff 2013-10-13 15:12:51 UTC (rev 5726) +++ glibc-package/branches/eglibc-2.18/debian/patches/kfreebsd/local-nosavesse.diff 2013-10-13 15:16:10 UTC (rev 5727) @@ -1,18 +0,0 @@ - - similar to 2.10 code - ---- - sysdeps/x86_64/dl-trampoline.S | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/sysdeps/x86_64/dl-trampoline.S -+++ b/sysdeps/x86_64/dl-trampoline.S -@@ -163,7 +163,7 @@ - #endif - - --#ifdef SHARED -+#if defined(SHARED) && defined(__linux__) - .globl _dl_x86_64_save_sse - .type _dl_x86_64_save_sse, @function - .align 16 -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1vvnot-0006bf...@vasks.debian.org