Print this page
3999 libld extended section handling is broken

*** 2051,2061 **** */ if (symshndx && (sym->st_shndx == SHN_XINDEX)) { shndx = symshndx[ndx]; } else if ((shndx = sym->st_shndx) >= SHN_LORESERVE) { sdflags |= FLG_SY_SPECSEC; ! } else if (shndx > ifl->ifl_ehdr->e_shnum) { /* We need the name before we can issue error */ shndx_bad = 1; } /* --- 2051,2061 ---- */ if (symshndx && (sym->st_shndx == SHN_XINDEX)) { shndx = symshndx[ndx]; } else if ((shndx = sym->st_shndx) >= SHN_LORESERVE) { sdflags |= FLG_SY_SPECSEC; ! } else if (shndx > ifl->ifl_shnum) { /* We need the name before we can issue error */ shndx_bad = 1; } /*
*** 2366,2376 **** */ if (symshndx && (nsym->st_shndx == SHN_XINDEX)) { shndx = symshndx[ndx]; } else if ((shndx = nsym->st_shndx) >= SHN_LORESERVE) { sdflags |= FLG_SY_SPECSEC; ! } else if (shndx > ifl->ifl_ehdr->e_shnum) { /* We need the name before we can issue error */ shndx_bad = 1; } /* --- 2366,2376 ---- */ if (symshndx && (nsym->st_shndx == SHN_XINDEX)) { shndx = symshndx[ndx]; } else if ((shndx = nsym->st_shndx) >= SHN_LORESERVE) { sdflags |= FLG_SY_SPECSEC; ! } else if (shndx > ifl->ifl_shnum) { /* We need the name before we can issue error */ shndx_bad = 1; } /*