summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Tilley <lv@gentoo.org>2004-10-10 07:35:10 +0000
committerTravis Tilley <lv@gentoo.org>2004-10-10 07:35:10 +0000
commit7abe46e0b91d8ac16496af14bb155b772e891c4c (patch)
treeed2b29116f6ff3df5f7daadaaa45a3a2aa6e250a /sys-libs
parentupdate manpage #52241 ... when will GNU people learn that info sucks (diff)
downloadhistorical-7abe46e0b91d8ac16496af14bb155b772e891c4c.tar.gz
historical-7abe46e0b91d8ac16496af14bb155b772e891c4c.tar.bz2
historical-7abe46e0b91d8ac16496af14bb155b772e891c4c.zip
added fix for a relocation error on at least amd64 and ia64. see http://sources.redhat.com/ml/libc-alpha/2004-08/msg00076.html for more info. closes bug 66396.
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/glibc/ChangeLog8
-rw-r--r--sys-libs/glibc/Manifest5
-rw-r--r--sys-libs/glibc/files/2.3.4/glibc-2.3.4-res_init.patch120
-rw-r--r--sys-libs/glibc/glibc-2.3.4.20040808-r1.ebuild7
4 files changed, 136 insertions, 4 deletions
diff --git a/sys-libs/glibc/ChangeLog b/sys-libs/glibc/ChangeLog
index 3a6e322df081..debbbde28ec5 100644
--- a/sys-libs/glibc/ChangeLog
+++ b/sys-libs/glibc/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sys-libs/glibc
# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.268 2004/10/07 22:24:27 lv Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.269 2004/10/10 07:35:10 lv Exp $
+
+ 10 Oct 2004; Travis Tilley <lv@gentoo.org>
+ +files/2.3.4/glibc-2.3.4-res_init.patch, glibc-2.3.4.20040808-r1.ebuild:
+ added fix for a relocation error on at least amd64 and ia64. see
+ http://sources.redhat.com/ml/libc-alpha/2004-08/msg00076.html for more info.
+ closes bug 66396.
*glibc-2.3.2-r12 (07 Oct 2004)
diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest
index 941a882610e8..8996f16e291e 100644
--- a/sys-libs/glibc/Manifest
+++ b/sys-libs/glibc/Manifest
@@ -1,11 +1,11 @@
-MD5 b383caa587f160cc68703e407ba35922 ChangeLog 55621
+MD5 339b63638ec86c1634dcbe4be47a2590 ChangeLog 55908
MD5 7cf88dee2671dcc30659d07241b8d918 glibc-2.2.5-r9.ebuild 10915
MD5 567094e03359ffc1c95af7356395228d metadata.xml 162
MD5 19295cee1b8f439518988ac275d03a4a glibc-2.3.4.20041006.ebuild 25801
MD5 3603fa6448052edcf78a329d10746461 glibc-2.3.2-r12.ebuild 20530
MD5 daf5c4924c0a0ccc6e55f7588b1b4d52 glibc-2.3.3.20040420-r2.ebuild 21765
MD5 af6f1491a70a6ee80e8d867d8ee0f98f glibc-2.3.4.20040619-r2.ebuild 20997
-MD5 43a24ddba5c5ea34820574a67e844521 glibc-2.3.4.20040808-r1.ebuild 21916
+MD5 f76b632b14ab73a84085f14128ec6c30 glibc-2.3.4.20040808-r1.ebuild 22175
MD5 9cc1e6b6f749dba7c8759bd07266f7d9 files/digest-glibc-2.2.5-r9 143
MD5 e4393f4721a207750581d6265d5f7f40 files/fix-sysctl_h.patch 376
MD5 52cfc7627fc62dfb26d8d163aac361f6 files/glibc-2.2.2-test-lfs-timeout.patch 320
@@ -121,3 +121,4 @@ MD5 bbe355d94c5a36e11f543d12b70b5702 files/2.3.4/glibc-sec-hotfix-20040916.patch
MD5 7fca8a203196513f13e519903dedbfd5 files/2.3.4/glibc-2.3.4-getcontext.patch 9854
MD5 d490f38bd9ca9c48a9799f1e48629f6e files/2.3.4/glibc-2.3.4-mips-generate-syscall_h.patch 8230
MD5 e78cc048b738241cda35941e87da7b66 files/2.3.4/glibc-2.3.3-mdns-resolver.diff 10379
+MD5 fe21fd44628b90f50e5024462cf4c348 files/2.3.4/glibc-2.3.4-res_init.patch 3417
diff --git a/sys-libs/glibc/files/2.3.4/glibc-2.3.4-res_init.patch b/sys-libs/glibc/files/2.3.4/glibc-2.3.4-res_init.patch
new file mode 100644
index 000000000000..fa907de4d3b7
--- /dev/null
+++ b/sys-libs/glibc/files/2.3.4/glibc-2.3.4-res_init.patch
@@ -0,0 +1,120 @@
+2004-08-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ * resolv/res_libc.c: Move definition of __res_maybe_init ...
+ * resolv/res_init.c: ... here.
+
+2004-08-11 Andreas Schwab <schwab@suse.de>
+
+ * resolv/res_libc.c: Move definition of __res_initstamp ...
+ * resolv/res_init.c: ... here.
+
+--- resolv/res_init.c.res_init 2004-08-11 14:23:06.000000000 -0700
++++ resolv/res_init.c 2004-08-12 16:29:09.000000000 -0700
+@@ -106,6 +106,10 @@ static u_int32_t net_mask __P((struct in
+ # define isascii(c) (!(c & 0200))
+ #endif
+
++#ifdef _LIBC
++unsigned long long int __res_initstamp attribute_hidden;
++#endif
++
+ /*
+ * Resolver state default settings.
+ */
+@@ -162,7 +166,6 @@ __res_vinit(res_state statp, int preinit
+ int dots;
+ #endif
+ #ifdef _LIBC
+- extern unsigned long long int __res_initstamp attribute_hidden;
+ statp->_u._ext.initstamp = __res_initstamp;
+ #endif
+
+@@ -574,6 +577,39 @@ libc_hidden_def (__res_nclose)
+ #endif
+
+ #ifdef _LIBC
++/* Initialize resp if RES_INIT is not yet set or if res_init in some other
++ thread requested re-initializing. */
++int
++__res_maybe_init (res_state resp, int preinit)
++{
++ if (resp->options & RES_INIT) {
++ if (__res_initstamp != resp->_u._ext.initstamp) {
++ if (resp->nscount > 0) {
++ __res_nclose (resp);
++ for (int ns = 0; ns < MAXNS; ns++) {
++ free (resp->_u._ext.nsaddrs[ns]);
++ resp->_u._ext.nsaddrs[ns] = NULL;
++ }
++ return __res_vinit (resp, 1);
++ }
++ }
++ return 0;
++ } else if (preinit) {
++ if (!resp->retrans)
++ resp->retrans = RES_TIMEOUT;
++ if (!resp->retry)
++ resp->retry = 4;
++ resp->options = RES_DEFAULT;
++ if (!resp->id)
++ resp->id = res_randomid ();
++ return __res_vinit (resp, 1);
++ } else
++ return __res_ninit (resp);
++}
++libc_hidden_def (__res_maybe_init)
++#endif
++
++#ifdef _LIBC
+ # ifdef _LIBC_REENTRANT
+ /* This is called when a thread is exiting to free resources held in _res. */
+ static void __attribute__ ((section ("__libc_thread_freeres_fn")))
+--- resolv/res_libc.c.res_init 2004-08-11 14:23:06.000000000 -0700
++++ resolv/res_libc.c 2004-08-12 16:28:00.000000000 -0700
+@@ -28,7 +28,7 @@
+ out) since res_init() should go into libc.so but the rest of that
+ file should not. */
+
+-unsigned long long int __res_initstamp attribute_hidden;
++extern unsigned long long int __res_initstamp attribute_hidden;
+ /* We have atomic increment operations on 64-bit platforms. */
+ #if __WORDSIZE == 64
+ # define atomicinclock(lock) (void) 0
+@@ -94,37 +94,6 @@ res_init(void) {
+
+ return (__res_vinit(&_res, 1));
+ }
+-
+-/* Initialize resp if RES_INIT is not yet set or if res_init in some other
+- thread requested re-initializing. */
+-int
+-__res_maybe_init (res_state resp, int preinit)
+-{
+- if (resp->options & RES_INIT) {
+- if (__res_initstamp != resp->_u._ext.initstamp) {
+- if (resp->nscount > 0) {
+- __res_nclose (resp);
+- for (int ns = 0; ns < MAXNS; ns++) {
+- free (resp->_u._ext.nsaddrs[ns]);
+- resp->_u._ext.nsaddrs[ns] = NULL;
+- }
+- return __res_vinit (resp, 1);
+- }
+- }
+- return 0;
+- } else if (preinit) {
+- if (!resp->retrans)
+- resp->retrans = RES_TIMEOUT;
+- if (!resp->retry)
+- resp->retry = 4;
+- resp->options = RES_DEFAULT;
+- if (!resp->id)
+- resp->id = res_randomid ();
+- return __res_vinit (resp, 1);
+- } else
+- return __res_ninit (resp);
+-}
+-libc_hidden_def (__res_maybe_init)
+
+ /* This needs to be after the use of _res in res_init, above. */
+ #undef _res
diff --git a/sys-libs/glibc/glibc-2.3.4.20040808-r1.ebuild b/sys-libs/glibc/glibc-2.3.4.20040808-r1.ebuild
index 6b958305ddf9..adaeb2db3807 100644
--- a/sys-libs/glibc/glibc-2.3.4.20040808-r1.ebuild
+++ b/sys-libs/glibc/glibc-2.3.4.20040808-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.4.20040808-r1.ebuild,v 1.1 2004/10/07 22:24:28 lv Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.3.4.20040808-r1.ebuild,v 1.2 2004/10/10 07:35:10 lv Exp $
inherit eutils flag-o-matic gcc
@@ -520,6 +520,11 @@ src_unpack() {
# Improved handled temporary files. bug #66358
epatch ${FILESDIR}/2.3.3/${PN}-2.3.3-tempfile.patch
+ # fixes compiling with the new binutils on at least amd64 and ia64.
+ # see http://sources.redhat.com/ml/libc-alpha/2004-08/msg00076.html
+ # and http://bugs.gentoo.org/show_bug.cgi?id=66396 for more info.
+ epatch ${FILESDIR}/2.3.4/glibc-2.3.4-res_init.patch
+
# Fix permissions on some of the scripts
chmod u+x ${S}/scripts/*.sh
}