+ if (!CIRCLEQ_EMPTY(&ms->symtab.syms)) {
+ ElfuSym *nextsym;
+
+ nextsym = CIRCLEQ_FIRST(&ms->symtab.syms);
+ while ((void*)nextsym != (void*)&ms->symtab.syms) {
+ ElfuSym *cursym = nextsym;
+ nextsym = CIRCLEQ_NEXT(cursym, elem);
+ CIRCLEQ_REMOVE(&ms->symtab.syms, cursym, elem);
+ free(cursym);
+ }
+ }
+
+ if (!CIRCLEQ_EMPTY(&ms->reltab.rels)) {
+ ElfuRel *nextrel;
+
+ nextrel = CIRCLEQ_FIRST(&ms->reltab.rels);
+ while ((void*)nextrel != (void*)&ms->reltab.rels) {
+ ElfuRel *currel = nextrel;
+ nextrel = CIRCLEQ_NEXT(currel, elem);
+ CIRCLEQ_REMOVE(&ms->reltab.rels, currel, elem);
+ free(currel);
+ }
+ }