changeset 14144:6f291eb437b9

3999 libld extended section handling is broken Reviewed by: Jason King <jason.brian.king@gmail.com> Reviewed by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net> Approved by: Robert Mustacchi <rm@joyent.com>
author Richard Lowe <richlowe@richlowe.net>
date Tue, 06 Aug 2013 17:09:22 -0400
parents 42d090a37218
children f40648257ac6
files usr/src/cmd/sgs/libld/common/syms.c usr/src/cmd/sgs/packages/common/SUNWonld-README
diffstat 2 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/cmd/sgs/libld/common/syms.c	Wed Apr 03 15:25:37 2013 -0700
+++ b/usr/src/cmd/sgs/libld/common/syms.c	Tue Aug 06 17:09:22 2013 -0400
@@ -2053,7 +2053,7 @@
 				shndx = symshndx[ndx];
 			} else if ((shndx = sym->st_shndx) >= SHN_LORESERVE) {
 				sdflags |= FLG_SY_SPECSEC;
-			} else if (shndx > ifl->ifl_ehdr->e_shnum) {
+			} else if (shndx > ifl->ifl_shnum) {
 				/* We need the name before we can issue error */
 				shndx_bad = 1;
 			}
@@ -2368,7 +2368,7 @@
 			shndx = symshndx[ndx];
 		} else if ((shndx = nsym->st_shndx) >= SHN_LORESERVE) {
 			sdflags |= FLG_SY_SPECSEC;
-		} else if (shndx > ifl->ifl_ehdr->e_shnum) {
+		} else if (shndx > ifl->ifl_shnum) {
 			/* We need the name before we can issue error */
 			shndx_bad = 1;
 		}
--- a/usr/src/cmd/sgs/packages/common/SUNWonld-README	Wed Apr 03 15:25:37 2013 -0700
+++ b/usr/src/cmd/sgs/packages/common/SUNWonld-README	Tue Aug 06 17:09:22 2013 -0400
@@ -1648,3 +1648,4 @@
 3709	need sloppy relocation for GNU .debug_macro
 3722	link-editor is over restrictive of R_AMD64_32 addends
 3926	multiple extern map file definitions corrupt symbol table entry
+3999	libld extended section handling is broken