[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

bug 200827 and 200833



Hi,

attached is a fix for these bugs. It is already fixed in 2.3.2 and only generated by the latest binutils. So the binary NMU has to be redone with an older binutils or we need a new glibc version. I have experienced the same on s390.

Regards,
Gerhard

--- glibc-2.3.1/glibc-2.3.1/elf/dl-runtime.c	Wed Sep 18 20:49:18 2002
+++ ./dl-runtime.c	Fri Jul 11 11:49:18 2003
@@ -84,7 +84,7 @@
 	  {
 	    const ElfW(Half) *vernum =
 	      (const void *) D_PTR (l, l_info[VERSYMIDX (DT_VERSYM)]);
-	    ElfW(Half) ndx = vernum[ELFW(R_SYM) (reloc->r_info) & 0x7fff];
+	    ElfW(Half) ndx = vernum[ELFW(R_SYM) (reloc->r_info)] & 0x7fff;
 	    const struct r_found_version *version = &l->l_versions[ndx];
 
 	    if (version->hash != 0)
@@ -179,7 +179,7 @@
 	      {
 		const ElfW(Half) *vernum =
 		  (const void *) D_PTR (l,l_info[VERSYMIDX (DT_VERSYM)]);
-		ElfW(Half) ndx = vernum[ELFW(R_SYM) (reloc->r_info) & 0x7fff];
+		ElfW(Half) ndx = vernum[ELFW(R_SYM) (reloc->r_info)] & 0x7fff;
 		const struct r_found_version *version = &l->l_versions[ndx];
 
 		if (version->hash != 0)

Reply to: