Browse Source

fix regression in dynamic linker error reporting

due to a mistake when refactoring the error printing for the dynamic
linker (commit 7c73cacd09), all messages
were suppressed and replaced by blank lines.
master
Rich Felker 12 years ago
parent
commit
9a4ad02214
  1. 14
      src/ldso/dynlink.c

14
src/ldso/dynlink.c

@ -290,8 +290,7 @@ static void do_relocs(struct dso *dso, size_t *rel, size_t rel_size, size_t stri
if (!astype) continue;
type = remap_rel(astype);
if (!type) {
error(errbuf, sizeof errbuf,
"Error relocating %s: unsupported relocation type %d",
error("Error relocating %s: unsupported relocation type %d",
dso->name, astype);
continue;
}
@ -304,8 +303,7 @@ static void do_relocs(struct dso *dso, size_t *rel, size_t rel_size, size_t stri
def = find_sym(ctx, name, type==REL_PLT);
if (!def.sym && (sym->st_shndx != SHN_UNDEF
|| sym->st_info>>4 != STB_WEAK)) {
error(errbuf, sizeof errbuf,
"Error relocating %s: %s: symbol not found",
error("Error relocating %s: %s: symbol not found",
dso->name, name);
continue;
}
@ -366,7 +364,7 @@ static void do_relocs(struct dso *dso, size_t *rel, size_t rel_size, size_t stri
if (stride<3) addend = reloc_addr[1];
if (runtime && def.dso->tls_id >= static_tls_cnt) {
struct td_index *new = malloc(sizeof *new);
if (!new) error(errbuf, sizeof errbuf,
if (!new) error(
"Error relocating %s: cannot allocate TLSDESC for %s",
dso->name, sym ? name : "(local)" );
new->next = dso->td_index;
@ -839,8 +837,7 @@ static void load_deps(struct dso *p)
if (p->dynv[i] != DT_NEEDED) continue;
dep = load_library(p->strings + p->dynv[i+1], p);
if (!dep) {
error(errbuf, sizeof errbuf,
"Error loading shared library %s: %m (needed by %s)",
error("Error loading shared library %s: %m (needed by %s)",
p->strings + p->dynv[i+1], p->name);
continue;
}
@ -890,8 +887,7 @@ static void reloc_all(struct dso *p)
if (p->relro_start != p->relro_end &&
mprotect(p->base+p->relro_start, p->relro_end-p->relro_start, PROT_READ) < 0) {
error(errbuf, sizeof errbuf,
"Error relocating %s: RELRO protection failed: %m",
error("Error relocating %s: RELRO protection failed: %m",
p->name);
}

Loading…
Cancel
Save