From 7670e25ad5ac4e72b3fb63ea5e99159d30054d6f Mon Sep 17 00:00:00 2001
From: Ulrich Drepper <drepper@redhat.com>
Date: Mon, 11 Feb 2002 02:27:43 +0000
Subject: [PATCH] Update.

	* elf/do-lookup.h (FCT): st_value can be zero for STT_TLS symbols.
---
 ChangeLog       |  2 ++
 elf/do-lookup.h | 10 ++++++----
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 950e8f98e0..60b0ca271c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2002-02-10  Ulrich Drepper  <drepper@redhat.com>
 
+	* elf/do-lookup.h (FCT): st_value can be zero for STT_TLS symbols.
+
 	* po/fr.po: Update from translation team.
 
 	* elf/tls-macros.h: Add alternative macros for use in PIC.
diff --git a/elf/do-lookup.h b/elf/do-lookup.h
index cebc2ce300..3e7290241b 100644
--- a/elf/do-lookup.h
+++ b/elf/do-lookup.h
@@ -77,10 +77,12 @@ FCT (const char *undef_name, unsigned long int hash, const ElfW(Sym) *ref,
 	  sym = &symtab[symidx];
 
 	  assert (ELF_RTYPE_CLASS_PLT == 1);
-	  if (sym->st_value == 0 || /* No value.  */
-	      /* ((type_class & ELF_RTYPE_CLASS_PLT)
-		  && (sym->st_shndx == SHN_UNDEF)) */
-	      (type_class & (sym->st_shndx == SHN_UNDEF)))
+	  if ((sym->st_value == 0 /* No value.  */
+#ifdef USE_TLS
+	       && ELFW(ST_TYPE) (sym->st_info) != STT_TLS
+#endif
+	       )
+	      || (type_class & (sym->st_shndx == SHN_UNDEF)))
 	    continue;
 
 	  if (ELFW(ST_TYPE) (sym->st_info) > STT_FUNC