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