ack/mach/sun3/ce/end_back.c

38 lines
822 B
C
Raw Normal View History

1988-09-28 16:47:47 +00:00
#include <out.h>
#include "mach.h"
#include "back.h"
#include "header.h"
1989-01-17 09:48:32 +00:00
static finish_tables();
1988-09-28 16:47:47 +00:00
end_back()
{
1989-01-17 09:48:32 +00:00
finish_tables();
1988-09-28 16:47:47 +00:00
do_local_relocation();
1989-01-17 09:48:32 +00:00
output_back();
1988-09-28 16:47:47 +00:00
}
static
1989-01-17 09:48:32 +00:00
finish_tables()
1988-09-28 16:47:47 +00:00
{
1989-01-17 09:48:32 +00:00
register struct outname *np = symbol_table;
register int i = nname;
for (; i; i--, np++) {
if ((np->on_type & S_COM) && ! (np->on_type & S_EXT)) {
long sz = np->on_valu;
switchseg(SEGBSS);
align_word();
np->on_type &= (~S_COM);
np->on_valu = cur_value();
bss(sz);
}
}
1988-09-28 16:47:47 +00:00
while ( ( text - text_area) % EM_WSIZE != 0 )
text1( '\0');
while ( ( data - data_area) % EM_WSIZE != 0 )
con1( '\0');
}