+ if (howto & RB_KDB && x.a_syms) {
+ *(int *)addr = x.a_syms; /* symbol table size */
+ addr += sizeof (int);
+ printf("[+%d", x.a_syms);
+ if (read(io, addr, x.a_syms) != x.a_syms)
+ goto shread;
+ addr += x.a_syms;
+ if (read(io, addr, sizeof (int)) != sizeof (int))
+ goto shread;
+ i = *(int *)addr - sizeof (int); /* string table size */
+ addr += sizeof (int);
+ printf("+%d]", i);
+ if (read(io, addr, i) != i)
+ goto shread;
+ addr += i;
+ esym = roundup((int)addr, sizeof (int));
+ x.a_bss = 0;
+ } else
+ howto &= ~RB_KDB;
+ for (i = 0; i < 128*512; i++) /* slop */
+ *addr++ = 0;