From: ceriel Date: Tue, 17 Jan 1989 10:27:55 +0000 (+0000) Subject: changes to hide names and some fixes X-Git-Tag: release-5-5~2691 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=9c5f0e815994420aaf3862a7f2160f333f11ed77;p=ack.git changes to hide names and some fixes --- diff --git a/mach/vax4/ce/Make.back b/mach/vax4/ce/Make.back index 30d6a5168..fe4766da5 100644 --- a/mach/vax4/ce/Make.back +++ b/mach/vax4/ce/Make.back @@ -10,7 +10,7 @@ IDIRS=-I.\ -I$(EMHOME)/modules/h all : data.o con2.o con4.o relocation.o end_back.o gen1.o gen2.o\ - gen4.o init_back.o mysprint.o output.o reloc1.o reloc2.o reloc4.o\ + gen4.o init_back.o output.o reloc1.o reloc2.o reloc4.o\ rom2.o rom4.o set_global.o set_local.o switchseg.o symboldef.o text2.o\ text4.o do_open.o do_close.o memory.o label.o misc.o extnd.o symtable.o\ common.o @@ -51,9 +51,6 @@ init_back.o : data.h back.h ../mach.h $(SOURCE)/init_back.c end_back.o : data.h back.h ../mach.h ../end_back.c $(CC) $(CFLAGS) -c $(IDIRS) -I.. ../end_back.c -mysprint.o : data.h back.h data.h $(SOURCE)/mysprint.c - $(CC) $(CFLAGS) -c $(IDIRS) $(SOURCE)/mysprint.c - output.o : data.h back.h ../mach.h ../output.c $(CC) $(CFLAGS) -c $(IDIRS) -I.. ../output.c diff --git a/mach/vax4/ce/do_close.c b/mach/vax4/ce/do_close.c index a9f3721de..88d819cd3 100644 --- a/mach/vax4/ce/do_close.c +++ b/mach/vax4/ce/do_close.c @@ -1,8 +1,8 @@ #include -extern File *out_file; +extern File *_out_file; close_back() { - sys_close( out_file); + sys_close( _out_file); } diff --git a/mach/vax4/ce/do_open.c b/mach/vax4/ce/do_open.c index 337fc6253..7ddd63d87 100644 --- a/mach/vax4/ce/do_open.c +++ b/mach/vax4/ce/do_open.c @@ -1,6 +1,6 @@ #include -File *out_file; +File *_out_file; open_back( filename) char *filename; @@ -8,6 +8,6 @@ char *filename; if ( filename == (char *) '\0') return( 0); else - return( sys_open( filename, OP_WRITE, &out_file)); + return( sys_open( filename, OP_WRITE, &_out_file)); } diff --git a/mach/vax4/ce/end_back.c b/mach/vax4/ce/end_back.c index f776e41ad..152ca5074 100644 --- a/mach/vax4/ce/end_back.c +++ b/mach/vax4/ce/end_back.c @@ -1,22 +1,35 @@ #include #include "mach.h" -#include "data.h" #include "back.h" #include "header.h" -static do_algn(); +static finish_tables(); end_back() { - do_algn(); + finish_tables(); do_local_relocation(); - output(); + output_back(); } static -do_algn() +finish_tables() { + 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); + } + } while ( ( text - text_area) % EM_WSIZE != 0 ) text1( '\0'); while ( ( data - data_area) % EM_WSIZE != 0 ) diff --git a/mach/vax4/ce/output.c b/mach/vax4/ce/output.c index 1c18ddf41..9c68e88e4 100644 --- a/mach/vax4/ce/output.c +++ b/mach/vax4/ce/output.c @@ -11,24 +11,27 @@ Read above comment ... #endif -extern File *out_file; +extern File *_out_file; #include #include static struct exec u_header; -long ntext, ndata, nrelo, nchar; +static long ntext, ndata, nrelo, nchar; -long base_address[SEGBSS+1]; +long _base_address[SEGBSS+1]; static int trsize=0, drsize=0; static struct relocation_info *u_reloc; static reduce_name_table(); +static putbuf(), put_stringtablesize(); +static init_unixheader(); +static convert_reloc(), convert_name() -output() +output_back() { register int i; register struct nlist *u_name; @@ -250,7 +253,7 @@ register struct nlist *u_name; u_name->n_value = a_name->on_valu; else if ( a_name->on_valu != -1) u_name->n_value = a_name->on_valu + - base_address[( a_name->on_type & S_TYP) - S_MIN]; + _base_address[( a_name->on_type & S_TYP) - S_MIN]; else u_name->n_value = 0; } @@ -266,5 +269,5 @@ putbuf(buf,n) char *buf; long n; { - sys_write( out_file, buf, n); + sys_write( _out_file, buf, n); } diff --git a/mach/vax4/ce/relocation.c b/mach/vax4/ce/relocation.c index 3e6fd56b4..73698cee7 100644 --- a/mach/vax4/ce/relocation.c +++ b/mach/vax4/ce/relocation.c @@ -5,7 +5,7 @@ /* Written to run on SUN, and generate code for SUN */ -extern long base_address[]; +extern long _base_address[]; do_local_relocation() { @@ -13,9 +13,9 @@ do_local_relocation() /* print( "n relocation records %d\n", relo - reloc_info); */ - base_address[SEGTXT] = 0; - base_address[SEGCON] = text - text_area; - base_address[SEGBSS] = base_address[SEGCON] + data - data_area; + _base_address[SEGTXT] = 0; + _base_address[SEGCON] = text - text_area; + _base_address[SEGBSS] = _base_address[SEGCON] + data - data_area; for ( rp = reloc_info; rp < relo; rp++) { register struct outname *np = &symbol_table[rp->or_nami]; @@ -38,7 +38,7 @@ do_local_relocation() if ( rp->or_type & RELO4) *((long *)(sect+rp->or_addr)) += np->on_valu + - base_address[(np->on_type&S_TYP)-S_MIN]; + _base_address[(np->on_type&S_TYP)-S_MIN]; else fprint( STDERR, "do_relo() : bad relocation size\n");