--- misc/strip.c.orig 2018-09-16 17:48:10.000000000 -0700 +++ misc/strip.c 2018-09-16 17:52:04.000000000 -0700 @@ -2951,11 +2951,15 @@ n_type = symbols[i].n_type; n_sect = symbols[i].n_sect; if((n_type & N_TYPE) == N_SECT){ - if(n_sect == 0 || n_sect > nsects){ + if(n_sect > nsects){ error_arch(arch, member, "bad n_sect for symbol " "table entry %d in: ", i); return(FALSE); } + if (n_sect == 0) { + warning_arch(arch, member, "ignoring n_sect == 0 for " + "symbol table entry %d in: ", i); + } s_flags = sections[n_sect - 1]->flags; } n_desc = symbols[i].n_desc; @@ -2967,11 +2971,15 @@ n_type = symbols64[i].n_type; n_sect = symbols64[i].n_sect; if((n_type & N_TYPE) == N_SECT){ - if(n_sect == 0 || n_sect > nsects){ + if(n_sect > nsects){ error_arch(arch, member, "bad n_sect for symbol " "table entry %d in: ", i); return(FALSE); } + if (n_sect == 0) { + warning_arch(arch, member, "ignoring n_sect == 0 for " + "symbol table entry %d in: ", i); + } s_flags = sections64[n_sect - 1]->flags; } n_desc = symbols64[i].n_desc;