فهرست منبع

fix regression in dynamic linker error reporting

due to a mistake when refactoring the error printing for the dynamic
linker (commit 7c73cacd09a51a87484db5689864743e4984a84d), all messages
were suppressed and replaced by blank lines.
Rich Felker 10 سال پیش
والد
کامیت
9a4ad02214
1فایلهای تغییر یافته به همراه5 افزوده شده و 9 حذف شده
  1. 5 9
      src/ldso/dynlink.c

+ 5 - 9
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);
 		}