2000-05-13 Jakub Jelinek <jakub@redhat.com>
authorAndreas Jaeger <aj@suse.de>
Mon, 15 May 2000 07:15:04 +0000 (07:15 +0000)
committerAndreas Jaeger <aj@suse.de>
Mon, 15 May 2000 07:15:04 +0000 (07:15 +0000)
* elf/soinit.c (__libc_global_ctors): Move
__pthread_initialize_minimal call out of HAVE_DWARF2_* defines.
* resolv/resolv.h (__res_state): Added __attribute__((const)).
(_res): If __RES_PTHREAD_INTERNAL is defined, declare it as
variable, don't define it to __res_state call.

2000-05-13  Jakub Jelinek  <jakub@redhat.com>

* internals.h (__RES_PTHREAD_INTERNAL): Define.
2000-05-13  Jakub Jelinek  <jakub@redhat.com>

* internals.h (__RES_PTHREAD_INTERNAL): Define.

elf/soinit.c
linuxthreads/ChangeLog
linuxthreads/internals.h
resolv/resolv.h

index 7db054e..3cb5584 100644 (file)
@@ -49,13 +49,14 @@ __libc_global_ctors (void)
 {
   /* Call constructor functions.  */
   run_hooks (__CTOR_LIST__);
-#ifdef HAVE_DWARF2_UNWIND_INFO
-# ifdef HAVE_DWARF2_UNWIND_INFO_STATIC
+
   /* Initialize the thread library at least a bit since the libgcc functions
      are using thread functions if these are available.  */
   if (__pthread_initialize_minimal)
     __pthread_initialize_minimal ();
 
+#ifdef HAVE_DWARF2_UNWIND_INFO
+# ifdef HAVE_DWARF2_UNWIND_INFO_STATIC
   {
     static struct object ob;
     __register_frame_info (__EH_FRAME_BEGIN__, &ob);
index 551fbce..f9fca50 100644 (file)
@@ -1,3 +1,7 @@
+2000-05-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * internals.h (__RES_PTHREAD_INTERNAL): Define.
+
 2000-05-06  Kaz Kylheku  <kaz@ashi.footprints.net>
 
        * mutex.c (pthread_once): IN_PROGRESS state of pthread_once_t
index 4d273f8..e41e5d3 100644 (file)
@@ -26,6 +26,7 @@
 #include <sys/types.h>
 #include <bits/libc-tsd.h> /* for _LIBC_TSD_KEY_N */
 
+#define __RES_PTHREAD_INTERNAL
 #include <resolv.h> /* for per-thread resolver context */
 
 
index 6c710ec..426ac7a 100644 (file)
@@ -172,7 +172,7 @@ struct res_sym {
 #define        RES_DFLRETRY            2       /* Default #/tries. */
 
 struct __res_state {
-       int     retrans;                /* retransmission time interval */
+       int     retrans;                /* retransmission time interval */
        int     retry;                  /* number of times to retransmit */
        u_long  options;                /* option flags - see below. */
        int     nscount;                /* number of name servers */
@@ -254,8 +254,12 @@ typedef struct __res_state *res_state;
 
 /* Things involving an internal (static) resolver context. */
 #if defined _REENTRANT || defined _LIBC_REENTRANT
-extern struct __res_state *__res_state(void);
-#define _res (*__res_state())
+extern struct __res_state *__res_state(void) __attribute__ ((__const__));
+# if defined __RES_PTHREAD_INTERNAL
+extern struct __res_state _res;
+# else
+#  define _res (*__res_state())
+# endif
 #else
 extern struct __res_state _res;
 #endif
@@ -288,7 +292,7 @@ __END_DECLS
 #if !defined(SHARED_LIBBIND) || defined(_LIBC)
 /*
  * If libbind is a shared object (well, DLL anyway)
- * these externs break the linker when resolv.h is 
+ * these externs break the linker when resolv.h is
  * included by a lib client (like named)
  * Make them go away if a client is including this
  *