* Fix building with linuxthreads/--without-__thread on ia64
@ 2004-08-10 23:55 Andreas Schwab
2004-08-13 5:45 ` Ulrich Drepper
0 siblings, 1 reply; 4+ messages in thread
From: Andreas Schwab @ 2004-08-10 23:55 UTC (permalink / raw)
To: libc-hacker
When building libc_pic_lite.so in linuxthreads there is an undefined
reference to __res_initstamp in res_init.os which would normally be
resolved with res_libc.os, but the latter is explicitly removed from the
link. Since __res_initstamp is hidden you'll get a @gprel reference which
is not allowed in shared libraries. Solved by moving the definition of
__res_initstamp to res_init.c
Andreas.
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 06 Aug 2004 11:20:18 +0200 1.37
+++ resolv/res_init.c 11 Aug 2004 01:34:19 +0200
@@ -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
--- resolv/res_libc.c 07 Aug 2004 09:30:08 +0200 1.20
+++ resolv/res_libc.c 11 Aug 2004 01:32:56 +0200
@@ -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
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, MaxfeldstraÃe 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Fix building with linuxthreads/--without-__thread on ia64
2004-08-10 23:55 Fix building with linuxthreads/--without-__thread on ia64 Andreas Schwab
@ 2004-08-13 5:45 ` Ulrich Drepper
2004-08-13 7:14 ` Jakub Jelinek
0 siblings, 1 reply; 4+ messages in thread
From: Ulrich Drepper @ 2004-08-13 5:45 UTC (permalink / raw)
To: Andreas Schwab; +Cc: libc-hacker
Applied.
--
⧠Ulrich Drepper ⧠Red Hat, Inc. ⧠444 Castro St ⧠Mountain View, CA â
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Fix building with linuxthreads/--without-__thread on ia64
2004-08-13 5:45 ` Ulrich Drepper
@ 2004-08-13 7:14 ` Jakub Jelinek
2004-08-13 7:56 ` Ulrich Drepper
0 siblings, 1 reply; 4+ messages in thread
From: Jakub Jelinek @ 2004-08-13 7:14 UTC (permalink / raw)
To: Ulrich Drepper; +Cc: Andreas Schwab, libc-hacker
On Thu, Aug 12, 2004 at 10:44:37PM -0700, Ulrich Drepper wrote:
> Applied.
This is not enough.
I have
http://sources.redhat.com/ml/libc-hacker/2004-08/msg00015.html
and
http://sources.redhat.com/ml/libc-hacker/2004-08/msg00022.html
in my tree to cure this problem instead.
If __res_initstamp is moved to res-init.c instead, still the
msg00022.html patch needs to be applied (though it doesn't apply
cleanly, so I'm attaching a new one):
2004-08-09 Jakub Jelinek <jakub@redhat.com>
* libc-tsd.c: Move resolv.h include before the #if.
(__res_maybe_init): New function. Add libc_hidden_def.
--- libc/linuxthreads/libc-tsd.c.jj 2004-08-13 09:10:49.000000000 +0200
+++ libc/linuxthreads/libc-tsd.c 2004-08-13 09:11:55.416058909 +0200
@@ -1,5 +1,5 @@
/* Special hack used to build link-time libc.so object for linking libpthread.
- Copyright (C) 2002 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -18,13 +18,13 @@
Boston, MA 02111-1307, USA. */
#include <tls.h>
+#include <resolv.h>
#if ! USE___THREAD
/* Special hack used to build link-time libc.so object for linking libpthread.
See Makefile comments near libc_pic_lite.os rule for what this is for. */
-# include <resolv.h>
# undef _res
int _errno;
@@ -32,3 +32,10 @@ int _h_errno;
struct __res_state _res;
#endif
+
+int
+__res_maybe_init (res_state resp, int preinit)
+{
+ return -1;
+}
+libc_hidden_def (__res_maybe_init)
Jakub
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Fix building with linuxthreads/--without-__thread on ia64
2004-08-13 7:14 ` Jakub Jelinek
@ 2004-08-13 7:56 ` Ulrich Drepper
0 siblings, 0 replies; 4+ messages in thread
From: Ulrich Drepper @ 2004-08-13 7:56 UTC (permalink / raw)
To: Jakub Jelinek; +Cc: libc-hacker
Applied.
--
⧠Ulrich Drepper ⧠Red Hat, Inc. ⧠444 Castro St ⧠Mountain View, CA â
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2004-08-13 7:56 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-08-10 23:55 Fix building with linuxthreads/--without-__thread on ia64 Andreas Schwab
2004-08-13 5:45 ` Ulrich Drepper
2004-08-13 7:14 ` Jakub Jelinek
2004-08-13 7:56 ` Ulrich Drepper
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).