svn commit: branches/uClibc_0_9_29/ldso/ldso

vapier at uclibc.org vapier at uclibc.org
Sat Jan 5 17:50:04 UTC 2008


Author: vapier
Date: 2008-01-05 09:50:04 -0800 (Sat, 05 Jan 2008)
New Revision: 20782

Log:
Merge r20311 by jocke from trunk:
Handle STT_COMMON symbols too. Following binutils release
will set the type of common symbols to STT_COMMON
instead of STT_OBJECTS, so the dynamic linker needs
to handle this type os symbols too.
Same changes have been added to glibc (See: bugzilla #5104).
This patch ensures the uclibc will work with later bintuils.

Signed-off-by: Carmelo Amoroso <carmelo.amoroso at st.com>


Modified:
   branches/uClibc_0_9_29/ldso/ldso/dl-hash.c


Changeset:
Modified: branches/uClibc_0_9_29/ldso/ldso/dl-hash.c
===================================================================
--- branches/uClibc_0_9_29/ldso/ldso/dl-hash.c	2008-01-05 17:49:37 UTC (rev 20781)
+++ branches/uClibc_0_9_29/ldso/ldso/dl-hash.c	2008-01-05 17:50:04 UTC (rev 20782)
@@ -177,7 +177,12 @@
 				continue;
 			if (sym->st_value == 0)
 				continue;
-			if (ELF_ST_TYPE(sym->st_info) > STT_FUNC)
+			if (ELF_ST_TYPE(sym->st_info) > STT_FUNC
+			&& ELF_ST_TYPE(sym->st_info) != STT_COMMON)
+			/* Ignore all but STT_NOTYPE, STT_OBJECT, STT_FUNC
+		 	 * and STT_COMMON entries since these are no
+			 * code/data definitions
+			 */
 				continue;
 			if (_dl_strcmp(strtab + sym->st_name, name) != 0)
 				continue;




More information about the uClibc-cvs mailing list