Author: schizo
Date: 2006-05-23 04:13:10 +0000 (Tue, 23 May 2006)
New Revision: 1517

Added:
   glibc-package/branches/glibc-2.4/debian/patches/sparc/local-linuxthreads.diff
Modified:
   glibc-package/branches/glibc-2.4/debian/changelog
Log:
    - debian/patches/sparc/local-linuxthreads.diff: fill in missing
      preprocessor macros.


Modified: glibc-package/branches/glibc-2.4/debian/changelog
===================================================================
--- glibc-package/branches/glibc-2.4/debian/changelog   2006-05-23 01:52:58 UTC 
(rev 1516)
+++ glibc-package/branches/glibc-2.4/debian/changelog   2006-05-23 04:13:10 UTC 
(rev 1517)
@@ -27,6 +27,8 @@
     - debian/sysdeps/mips.mk: build with linuxthreads instead of NPTL
     - debian/sysdeps/i386.mk: disable sanity checks on linuxthreads build
     - Build with gcc 4.1 on all architectures.
+    - debian/patches/sparc/local-linuxthreads.diff: fill in missing
+      preprocessor macros.
 
   [ Denis Barbier ]
     - Remove complex-collate.diff (merged upstream).

Added: 
glibc-package/branches/glibc-2.4/debian/patches/sparc/local-linuxthreads.diff
===================================================================
--- 
glibc-package/branches/glibc-2.4/debian/patches/sparc/local-linuxthreads.diff   
    2006-05-23 01:52:58 UTC (rev 1516)
+++ 
glibc-package/branches/glibc-2.4/debian/patches/sparc/local-linuxthreads.diff   
    2006-05-23 04:13:10 UTC (rev 1517)
@@ -0,0 +1,101 @@
+Index: 
glibc-2.4/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h
+===================================================================
+--- 
glibc-2.4.orig/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h
  2006-05-22 22:55:28.000000000 -0400
++++ 
glibc-2.4/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h    
   2006-05-22 22:55:32.000000000 -0400
+@@ -54,6 +54,96 @@
+       SYSCALL_ERROR_HANDLER                                                 \
+       SYSCALL_ERROR_HANDLER2
+ 
++#ifdef LINKER_HANDLES_R_SPARC_WDISP22
++/* Unfortunately, we cannot do this yet.  Linker doesn't seem to
++ *    handle R_SPARC_WDISP22 against non-STB_LOCAL symbols properly .  */
++# define SYSCALL_ERROR_HANDLER_ENTRY(handler)                           \
++              .section .gnu.linkonce.t.handler,"ax",@progbits;                
\
++        .globl handler;                                                 \
++        .hidden handler;                                                \
++        .type handler,@function;                                        \
++handler:
++#else
++# define SYSCALL_ERROR_HANDLER_ENTRY(handler)                           \
++              .subsection 3;                                                  
\
++handler:
++#endif
++
++#if RTLD_PRIVATE_ERRNO
++# define SYSCALL_ERROR_HANDLER                                                
\
++      .section .gnu.linkonce.t.__sparc_get_pic_l7,"ax",@progbits;     \
++      .globl __sparc_get_pic_l7;                                      \
++      .hidden __sparc_get_pic_l7;                                     \
++      .type __sparc_get_pic_l7,@function;                             \
++__sparc_get_pic_l7:                                                   \
++      retl;                                                           \
++       add    %o7, %l7, %l7;                                          \
++      .previous;                                                      \
++SYSCALL_ERROR_HANDLER_ENTRY(__syscall_error_handler)                  \
++      save    %sp,-96,%sp;                                            \
++      sethi   %hi(_GLOBAL_OFFSET_TABLE_-4), %l7;                      \
++      call    __sparc_get_pic_l7;                                     \
++       add    %l7, %lo(_GLOBAL_OFFSET_TABLE_+4), %l7;                 \
++      ld      [%l7 + rtld_errno], %l0;                                \
++      st      %i0, [%l0];                                             \
++      jmpl    %i7+8, %g0;                                             \
++       restore %g0, -1, %o0;                                          \
++      .previous;
++#elif USE___THREAD
++# ifndef NOT_IN_libc
++#  define SYSCALL_ERROR_ERRNO __libc_errno
++# else
++#  define SYSCALL_ERROR_ERRNO errno
++# endif
++# ifdef SHARED
++#  define SYSCALL_ERROR_HANDLER                                               
\
++      .section .gnu.linkonce.t.__sparc_get_pic_l7,"ax",@progbits;     \
++      .globl __sparc_get_pic_l7;                                      \
++      .hidden __sparc_get_pic_l7;                                     \
++      .type __sparc_get_pic_l7,@function;                             \
++__sparc_get_pic_l7:                                                   \
++      retl;                                                           \
++       add    %o7, %l7, %l7;                                          \
++      .previous;                                                      \
++SYSCALL_ERROR_HANDLER_ENTRY(__syscall_error_handler)                  \
++      save    %sp,-96,%sp;                                            \
++      sethi   %tie_hi22(SYSCALL_ERROR_ERRNO), %l1;                    \
++      sethi   %hi(_GLOBAL_OFFSET_TABLE_-4), %l7;                      \
++      call    __sparc_get_pic_l7;                                     \
++       add    %l7, %lo(_GLOBAL_OFFSET_TABLE_+4), %l7;                 \
++      add     %l1, %tie_lo10(SYSCALL_ERROR_ERRNO), %l1;               \
++      ld      [%l7 + %l1], %l1, %tie_ld(SYSCALL_ERROR_ERRNO);         \
++      st      %i0, [%g7 + %l1], %tie_add(SYSCALL_ERROR_ERRNO);        \
++      jmpl    %i7+8, %g0;                                             \
++       restore %g0, -1, %o0;                                          \
++      .previous;
++# else
++#  define SYSCALL_ERROR_HANDLER                                               
\
++SYSCALL_ERROR_HANDLER_ENTRY(__syscall_error_handler)                  \
++      sethi   %tie_hi22(SYSCALL_ERROR_ERRNO), %g1;                    \
++      sethi   %hi(_GLOBAL_OFFSET_TABLE_), %g2;                        \
++      add     %g1, %tie_lo10(SYSCALL_ERROR_ERRNO), %g1;               \
++      add     %g2, %lo(_GLOBAL_OFFSET_TABLE_), %g2;                   \
++      ld      [%g2 + %g1], %g1, %tie_ld(SYSCALL_ERROR_ERRNO);         \
++      st      %o0, [%g7 + %g1], %tie_add(SYSCALL_ERROR_ERRNO);        \
++      jmpl    %o7+8, %g0;                                             \
++       mov    -1, %o0;                                                \
++      .previous;
++# endif
++#else
++# define SYSCALL_ERROR_HANDLER                                                
\
++SYSCALL_ERROR_HANDLER_ENTRY(__syscall_error_handler)                  \
++      .global __errno_location;                                       \
++        .type   __errno_location,@function;                           \
++      save   %sp, -96, %sp;                                           \
++      call   __errno_location;                                        \
++       nop;                                                           \
++      st      %i0, [%o0];                                             \
++      jmpl    %i7+8, %g0;                                             \
++       restore %g0, -1, %o0;                                          \
++      .previous;
++#endif
++
+ #define SYSCALL_ERROR_HANDLER2                                                
      \
+ SYSCALL_ERROR_HANDLER_ENTRY(__syscall_error_handler2)                       \
+       .global __errno_location;                                             \


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to