diff --git a/assemble.c b/assemble.c index 2e2661c..40fd80c 100644 --- a/assemble.c +++ b/assemble.c @@ -361,6 +361,7 @@ static int assemble( return 0; } else { go_section(tr, sect_stack[sect_sp]); + list_location(stack->top, DOT); if (!enabl_lsb) { lsb = get_next_lsb(); } @@ -917,6 +918,7 @@ static int assemble( lsb = get_next_lsb(); } go_section(tr, &absolute_section); + list_location(stack->top, DOT); return 1; case P_CSECT: @@ -1031,6 +1033,7 @@ static int assemble( lsb = get_next_lsb(); } go_section(tr, sect); + list_location(stack->top, DOT); return 1; } /* end PSECT code */ diff --git a/assemble_aux.c b/assemble_aux.c index c4d33dc..9dabdee 100644 --- a/assemble_aux.c +++ b/assemble_aux.c @@ -710,7 +710,7 @@ void write_globals( int isect; if (obj == NULL) { - for (isect = 0; isect < sector; isect++) { + for (isect = 0; isect < sector; isect++) { psect = sections[isect]; psect->sector = isect; /* Assign it a sector */ diff --git a/dumpobj.c b/dumpobj.c index 9d5a3af..948e615 100644 --- a/dumpobj.c +++ b/dumpobj.c @@ -348,7 +348,12 @@ void got_gsd( xferad = value; break; case 4: - sprintf(gsdline, "\tGLOBAL %s=%o %s flags=%o\n", name, value, cp[i + 4] & 8 ? "DEF" : "REF", flags); + sprintf(gsdline, "\tGLOBAL %s=%o %s%s%s %s flags=%o\n", name, value, + flags & 01 ? "WEAK " : "", + flags & 04 ? "LIB " : "", + flags & 010 ? "DEF" : "REF", + flags & 040 ? "REL" : "ABS", + flags); break; case 5: sprintf(gsdline, "\tPSECT %s=%o flags=%o\n", name, value, flags); @@ -361,6 +366,9 @@ void got_gsd( case 7: sprintf(gsdline, "\tVSECT %s=%o flags=%o\n", name, value, flags); break; + case 010: + sprintf(gsdline, "\tCompletion Routine Name %s=%o flags=%o\n", name, value, flags); + break; default: sprintf(gsdline, "\t***Unknown GSD entry type %d flags=%o\n", cp[i + 5] & 0xff, flags); break;