From 85825401dc523061be3cb0df3a281a2be31e3402 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 30 Dec 1992 20:34:14 +0000 Subject: Wed Dec 30 10:18:57 1992 Ian Lance Taylor (ian@cygnus.com) * app.c, config/tc-*.c: Don't include read.h, since it is already included by as.h. * These are based on patches from Minh Tran-le . * configure.in (i[34]86-ibm-aix*): Accept i486 for host. Use obj_format coffbfd and gas_target i386coff for target. (i[34]86-*-isc*): New host (uses sysv). * config/i386aix.mt: Removed (no longer used). * config/mh-i386aix (RANLIB): Use true rather than /bin/true. (MINUS_G): Removed. (LDFLAGS): Added, defined as -shlib. * config/te-i386aix.h (REVERSE_SORT_RELOCS): Undefine. * config/te-sco386.h (LOCAL_LABEL): Don't define. (DOT_LABEL_PREFIX): Define. * expr.c (operand): If DOT_LABEL_PREFIX, use .L0\001 as a label name rather than L0\001. * read.c (s_lcomm): Make a frag in SEG_BSS rather than using local_bss_counter. * symbols.c, symbols.h (local_bss_counter): Removed. * write.c (write_object_file): bss no longer uses local_bss_counter. Pass correct data and bss size to VMS_write_object_file. * config/obj-vms.c (VMS_write_object_file): Accept bss size as argument, rather than using local_bss_counter. * config/tc-m88k.c (s_bss): Don't use local_bss_counter. * config/tc-sparc.c (s_reserve): Don't use local_bss_counter. * config/obj-coffbfd.c (had_lineno, had_reloc): Removed. (size_section): Restored sanity check. (do_relocs_for): Base section address on s_paddr rather than computing it. Adjust a29k R_IHIHALF special case to account for section paddr (used to require paddr to be zero). If there are no reclos, set s_relptr to 0. Set relocation size in object_headers. (fill_section): Always set s_vaddr here, removing ZERO_BASED_SEGMENTS case. Force s_scnptr for bss to 0. Don't set NOLOAD for i386 .bss, because it confuses the SVR3 native linker. Set STYP_INFO for .comment. (coff_header_append): Use object headers and H_{SET,GET}_* macros. Make aouthdr writing depend on OBJ_COFF_OMIT_OPTIONAL_HEADER. (crawl_symbols): Handle 8 character section name correctly. Use H_{SET,GET}_* macros. (do_linenos_for): Set lineno size in object_headers. (write_object_file): Use H_{SET,GET}_* macros. Don't bother to set s_vaddr here. If string_byte_count remains 4, set it back to 0, and only write strings out if there are some. Call fill_section before do_relocs_for and do_linenos_for. (obj_coff_section): Handle optional quoted second argument giving section characteristics. (obj_coff_bss): Added to handle .bss. (obj_coff_ident): Added to handle .ident (puts string in .comment section). (obj_coff_lcomm): Put common symbols in .bss, not .data. (fixup_mdeps): Change to segment. Call frag_wane after md_convert_frag. (fixup_segment): Explicitly check S_IS_COMMON before making 386 adjustment (already happened only for common symbols, but this is clearer). * config/obj-coffbfd.h (OBJ_COFF_OMIT_OPTIONAL_HEADER): Define. * config/tc-i386.c (s_bss): Don't use if I386COFF. (md_pseudo_table): Ignore .optim and .noopt. (tc_coff_sizemachdep): New function. * config/tc-i386.h (REVERSE_SORT_RELOCS): Undef, for SVR3 compatibility. (LOCAL_LABEL): Removed definition. (DOT_LABEL_PREFIX): Defined. --- gas/symbols.c | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) (limited to 'gas/symbols.c') diff --git a/gas/symbols.c b/gas/symbols.c index a140046..7196874 100644 --- a/gas/symbols.c +++ b/gas/symbols.c @@ -37,7 +37,6 @@ struct hash_control * sy_hash; /* symbol-name => struct symbol pointer */ /* Below are commented in "symbols.h". */ -unsigned int local_bss_counter; symbolS *symbol_rootP; symbolS *symbol_lastP; symbolS abs_symbol; @@ -48,11 +47,7 @@ symbolS *dot_bss_symbol; struct obstack notes; -#if __STDC__ == 1 -static void fb_label_init (void); -#else /* not __STDC__ */ -static void fb_label_init (); -#endif /* not __STDC__ */ +static void fb_label_init PARAMS ((void)); void symbol_begin () @@ -62,7 +57,6 @@ symbol_begin () sy_hash = hash_new (); memset ((char *) (&abs_symbol), '\0', sizeof (abs_symbol)); S_SET_SEGMENT (&abs_symbol, SEG_ABSOLUTE); /* Can't initialise a union. Sigh. */ - local_bss_counter = 0; #ifdef LOCAL_LABELS_FB fb_label_init (); #endif /* LOCAL_LABELS_FB */ @@ -280,10 +274,8 @@ colon (sym_name) /* just seen "x:" - rattle symbols & frags */ } else { - /* - * It is a .comm/.lcomm being converted - * to initialized data. - */ + /* It is a .comm/.lcomm being converted to initialized + data. */ symbolP->sy_frag = frag_now; #ifdef VMS symbolP->sy_other = const_flag; @@ -794,7 +786,6 @@ static void fb_label_init () { memset ((void *) fb_low_counter, '\0', sizeof (fb_low_counter)); - return; } /* fb_label_init() */ /* add one to the instance number of this fb label */ @@ -977,12 +968,4 @@ decode_local_label_name (s) return (symbol_decode); } /* decode_local_label_name() */ - -/* - * Local Variables: - * comment-column: 0 - * fill-column: 131 - * End: - */ - /* end of symbols.c */ -- cgit v1.1