@ -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 ) ;
}