[uClibc-cvs] CVS uClibc/ldso/ldso/sh

CVS User jocke jocke at codepoet.org
Thu Sep 23 07:00:43 UTC 2004


Update of /var/cvs/uClibc/ldso/ldso/sh
In directory nail:/tmp/cvs-serv6792/sh

Modified Files:
	elfinterp.c 
Log Message:
Don't allow undefined global symbols to pass.
Move COPY relocs back to _dl_do_reloc().


--- /var/cvs/uClibc/ldso/ldso/sh/elfinterp.c	2004/08/26 09:40:09	1.13
+++ /var/cvs/uClibc/ldso/ldso/sh/elfinterp.c	2004/09/23 07:00:41	1.14
@@ -263,12 +263,10 @@
 		 * have been intentional.  We should not be linking local symbols
 		 * here, so all bases should be covered.
 		 */
-		if (!symbol_addr && ELF32_ST_BIND(symtab[symtab_index].st_info) == STB_GLOBAL) {
-#if defined (__SUPPORT_LD_DEBUG__)
-			_dl_dprintf(2, "\tglobal symbol '%s' already defined in '%s'\n",
-					symname, tpnt->libname);
-#endif
-			return 0;
+		if (!symbol_addr && ELF32_ST_BIND(symtab[symtab_index].st_info) != STB_WEAK) {
+			_dl_dprintf (2, "%s: can't resolve symbol '%s'\n",
+				     _dl_progname, strtab + symtab[symtab_index].st_name);
+			_dl_exit (1);
 		}
 	}
 



More information about the uClibc-cvs mailing list