Author: jim
Date: 2005-11-03 23:37:25 -0700 (Thu, 03 Nov 2005)
New Revision: 1237

Added:
   trunk/glibc/glibc-2.3.6-libgcc_eh-1.patch
   trunk/glibc/glibc-2.3.6-localedef_segfault-1.patch
   trunk/glibc/glibc-2.3.6-remap_update-1.patch
   trunk/glibc/glibc-2.3.6-sparc_tls-1.patch
Modified:
   trunk/
Log:
 [EMAIL PROTECTED]:  jim | 2005-11-03 22:34:01 -0800
 Copied cross-lfs glibc patches to new release version



Property changes on: trunk
___________________________________________________________________
Name: svk:merge
   - cc2644d5-6cf8-0310-b111-c40428001e49:/patches:1466
   + cc2644d5-6cf8-0310-b111-c40428001e49:/patches:1467

Added: trunk/glibc/glibc-2.3.6-libgcc_eh-1.patch
===================================================================
--- trunk/glibc/glibc-2.3.6-libgcc_eh-1.patch   2005-11-04 06:36:47 UTC (rev 
1236)
+++ trunk/glibc/glibc-2.3.6-libgcc_eh-1.patch   2005-11-04 06:37:25 UTC (rev 
1237)
@@ -0,0 +1,24 @@
+Submitted By: Jim Gifford (patches at jg555 dot com)
+Date: 2005-07-20
+Initial Package Version: 2.3.5
+Origin: Rene Rebe <[EMAIL PROTECTED]>
+Upstream Status: Unknown
+Description: Removes dependency for libgcc_eh
+ 
+--- glibc-2.3.5/Makeconfig.orig        2005-07-21 04:53:30.000000000 +0000
++++ glibc-2.3.5/Makeconfig     2005-07-21 04:53:49.000000000 +0000
+@@ -503,12 +503,12 @@
+   libunwind = -lunwind
+ endif
+ ifneq ($(have-as-needed),yes)
+- libgcc_eh := -lgcc_eh $(libunwind)
++ libgcc_eh := $(libunwind)
+ else
+  libgcc_eh := -Wl,--as-needed -lgcc_s$(libgcc_s_suffix) $(libunwind) 
-Wl,--no-as-needed
+ endif
+ gnulib := -lgcc $(libgcc_eh)
+-static-gnulib := -lgcc -lgcc_eh $(libunwind)
++static-gnulib := -lgcc $(libunwind)
+ libc.so-gnulib := -lgcc
+ endif
+ ifeq ($(elf),yes)

Added: trunk/glibc/glibc-2.3.6-localedef_segfault-1.patch
===================================================================
--- trunk/glibc/glibc-2.3.6-localedef_segfault-1.patch  2005-11-04 06:36:47 UTC 
(rev 1236)
+++ trunk/glibc/glibc-2.3.6-localedef_segfault-1.patch  2005-11-04 06:37:25 UTC 
(rev 1237)
@@ -0,0 +1,56 @@
+Submitted By: Jim Gifford (patches at jg555 dot com)
+Date: 2005-09-29
+Initial Package Version: 2.3.2
+Origin: Debian
+Upstream Status: Unknown
+Description: Fixes Segfault when using localdef.
+             This problem is only noticed when using PaX
+             and some architectures besides x86.
+            See debian bug # 231438
+
+ 
+--- glibc-20050926/locale/programs/3level.h.orig       2005-09-30 
06:00:37.000000000 +0000
++++ glibc-20050926/locale/programs/3level.h    2005-09-30 06:01:02.000000000 
+0000
+@@ -204,6 +204,42 @@
+       }
+     }
+ }
++
++/* GCC ATM seems to do a poor job with pointers to nested functions passed
++   to inlined functions.  Help it a little bit with this hack.  */
++#define wchead_table_iterate(tp, fn) \
++do                                                                          \
++  {                                                                         \
++    struct wchead_table *t = (tp);                                          \
++    uint32_t index1;                                                        \
++    for (index1 = 0; index1 < t->level1_size; index1++)                       
      \
++      {                                                                       
      \
++      uint32_t lookup1 = t->level1[index1];                                 \
++      if (lookup1 != ((uint32_t) ~0))                                       \
++        {                                                                   \
++          uint32_t lookup1_shifted = lookup1 << t->q;                       \
++          uint32_t index2;                                                  \
++          for (index2 = 0; index2 < (1 << t->q); index2++)                  \
++            {                                                               \
++              uint32_t lookup2 = t->level2[index2 + lookup1_shifted];       \
++              if (lookup2 != ((uint32_t) ~0))                               \
++                {                                                           \
++                  uint32_t lookup2_shifted = lookup2 << t->p;               \
++                  uint32_t index3;                                          \
++                  for (index3 = 0; index3 < (1 << t->p); index3++)          \
++                    {                                                       \
++                      struct element_t *lookup3                             \
++                        = t->level3[index3 + lookup2_shifted];              \
++                      if (lookup3 != NULL)                                  \
++                        fn ((((index1 << t->q) + index2) << t->p) + index3, \
++                            lookup3);                                       \
++                    }                                                       \
++                }                                                           \
++            }                                                               \
++        }                                                                   \
++      }                                                                       
      \
++  } while (0)
++
+ #endif
+ 
+ #ifndef NO_FINALIZE

Added: trunk/glibc/glibc-2.3.6-remap_update-1.patch
===================================================================
--- trunk/glibc/glibc-2.3.6-remap_update-1.patch        2005-11-04 06:36:47 UTC 
(rev 1236)
+++ trunk/glibc/glibc-2.3.6-remap_update-1.patch        2005-11-04 06:37:25 UTC 
(rev 1237)
@@ -0,0 +1,26 @@
+Submitted By: Jim Gifford (patches at jg555 dot com)
+Date: 2005-10-18
+Initial Package Version: 20051017 Snapshot
+Origin: Jim Gifford based on BZ 1458
+Upstream Status: Sent
+Description: Fixes MREMAP_FIXED error that can occur on the MIPS
+            and ALPHA architectures using the current glibc snapshot.
+ 
+--- glibc-20051017/sysdeps/unix/sysv/linux/alpha/bits/mman.h.orig      
2005-10-18 07:07:00.000000000 +0000
++++ glibc-20051017/sysdeps/unix/sysv/linux/alpha/bits/mman.h   2005-10-18 
07:07:11.000000000 +0000
+@@ -86,6 +86,7 @@
+ /* Flags for `mremap'.  */
+ #ifdef __USE_GNU
+ # define MREMAP_MAYMOVE       1
++# define MREMAP_FIXED   2
+ #endif
+ 
+ /* Advice to `madvise'.  */
+--- glibc-20051017/sysdeps/unix/sysv/linux/mips/bits/mman.h.orig       
2005-10-18 06:59:19.000000000 +0000
++++ glibc-20051017/sysdeps/unix/sysv/linux/mips/bits/mman.h    2005-10-18 
06:59:51.000000000 +0000
+@@ -89,4 +89,5 @@
+ /* Flags for `mremap'.  */
+ #ifdef __USE_GNU
+ # define MREMAP_MAYMOVE       1
++# define MREMAP_FIXED   2
+ #endif

Added: trunk/glibc/glibc-2.3.6-sparc_tls-1.patch
===================================================================
--- trunk/glibc/glibc-2.3.6-sparc_tls-1.patch   2005-11-04 06:36:47 UTC (rev 
1236)
+++ trunk/glibc/glibc-2.3.6-sparc_tls-1.patch   2005-11-04 06:37:25 UTC (rev 
1237)
@@ -0,0 +1,85 @@
+Submitted By: Jim Gifford (patches at jg555 dot com)
+Date: 2005-09-14
+Initial Package Version: 2.3.5
+Origin: Dave Millier
+Upstream Status: Applied
+Description: Adds Support for TLS in Sparc64
+ 
+diff -Naur glibc-20050905.orig/elf/tls-macros.h glibc-20050905/elf/tls-macros.h
+--- glibc-20050905.orig/elf/tls-macros.h       2005-06-17 22:57:47.000000000 
+0000
++++ glibc-20050905/elf/tls-macros.h    2005-09-14 23:11:56.000000000 +0000
+@@ -509,6 +509,74 @@
+           "o5", "o7", "cc");                                                \
+      __o0; })
+ 
++#elif defined __sparc__ && defined __arch64__
++
++# define TLS_LE(x) \
++  ({ int *__l;                                                                
      \
++     asm ("sethi %%tle_hix22(" #x "), %0" : "=r" (__l));                    \
++     asm ("xor %1, %%tle_lox10(" #x "), %0" : "=r" (__l) : "r" (__l));        
      \
++     asm ("add %%g7, %1, %0" : "=r" (__l) : "r" (__l));                       
      \
++     __l; })
++
++# ifdef __PIC__
++#  define TLS_LOAD_PIC \
++  ({ long pc, got;                                                          \
++     asm ("sethi %%hi(_GLOBAL_OFFSET_TABLE_-4), %1\n\t"                       
      \
++        "rd %%pc, %0\n\t"                                                   \
++        "add %1, %%lo(_GLOBAL_OFFSET_TABLE_+4), %1\n\t"                     \
++        "add %1, %0, %1\n\t"                                                \
++        : "=r" (pc), "=r" (got));                                           \
++     got; })
++# else
++#  define TLS_LOAD_PIC \
++   ({ long got;                                                               
      \
++      asm (".hidden _GLOBAL_OFFSET_TABLE_\n\t"                                
      \
++         "sethi %%hi(_GLOBAL_OFFSET_TABLE_), %0\n\t"                        \
++         "or %0, %%lo(_GLOBAL_OFFSET_TABLE_), %0"                           \
++         : "=r" (got));                                                     \
++      got; })
++# endif
++
++# define TLS_IE(x) \
++  ({ int *__l;                                                                
      \
++     asm ("sethi %%tie_hi22(" #x "), %0" : "=r" (__l));                       
      \
++     asm ("add %1, %%tie_lo10(" #x "), %0" : "=r" (__l) : "r" (__l));       \
++     asm ("ldx [%1 + %2], %0, %%tie_ldx(" #x ")"                            \
++        : "=r" (__l) : "r" (TLS_LOAD_PIC), "r" (__l));                      \
++     asm ("add %%g7, %1, %0, %%tie_add(" #x ")" : "=r" (__l) : "r" (__l));    
\
++     __l; })
++
++# define TLS_LD(x) \
++  ({ int *__l; register void *__o0 asm ("%o0");                               
      \
++     long __o;                                                                
      \
++     asm ("sethi %%tldm_hi22(" #x "), %0" : "=r" (__l));                    \
++     asm ("add %1, %%tldm_lo10(" #x "), %0" : "=r" (__l) : "r" (__l));        
      \
++     asm ("add %1, %2, %0, %%tldm_add(" #x ")"                                
      \
++        : "=r" (__o0) : "r" (TLS_LOAD_PIC), "r" (__l));                     \
++     asm ("call __tls_get_addr, %%tgd_call(" #x ")\n\t"                       
      \
++        " nop"                                                              \
++        : "=r" (__o0) : "0" (__o0)                                          \
++        : "g1", "g2", "g3", "g4", "g5", "g6", "o1", "o2", "o3", "o4",       \
++          "o5", "o7", "cc");                                                \
++     asm ("sethi %%tldo_hix22(" #x "), %0" : "=r" (__o));                   \
++     asm ("xor %1, %%tldo_lox10(" #x "), %0" : "=r" (__o) : "r" (__o));       
      \
++     asm ("add %1, %2, %0, %%tldo_add(" #x ")" : "=r" (__l)                 \
++        : "r" (__o0), "r" (__o));                                           \
++     __l; })
++
++# define TLS_GD(x) \
++  ({ int *__l; register void *__o0 asm ("%o0");                               
      \
++     asm ("sethi %%tgd_hi22(" #x "), %0" : "=r" (__l));                       
      \
++     asm ("add %1, %%tgd_lo10(" #x "), %0" : "=r" (__l) : "r" (__l));       \
++     asm ("add %1, %2, %0, %%tgd_add(" #x ")"                               \
++        : "=r" (__o0) : "r" (TLS_LOAD_PIC), "r" (__l));                     \
++     asm ("call __tls_get_addr, %%tgd_call(" #x ")\n\t"                       
      \
++        " nop"                                                              \
++        : "=r" (__o0) : "0" (__o0)                                          \
++        : "g1", "g2", "g3", "g4", "g5", "g6", "o1", "o2", "o3", "o4",       \
++          "o5", "o7", "cc");                                                \
++     __o0; })
++
+ #elif defined __s390x__
+ 
+ # define TLS_LE(x) \

-- 
http://linuxfromscratch.org/mailman/listinfo/patches
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to