Alan Modra
7be1c4891a
* README-vms: Delete.
...
* config-gas.com: Delete.
* makefile.vms: Delete.
* vmsconf.sh: Delete.
* config/atof-tahoe.c: Delete.
* config/m88k-opcode.h: Delete.
* config/obj-bout.c: Delete.
* config/obj-bout.h: Delete.
* config/obj-hp300.c: Delete.
* config/obj-hp300.h: Delete.
* config/tc-a29k.c: Delete.
* config/tc-a29k.h: Delete.
* config/tc-h8500.c: Delete.
* config/tc-h8500.h: Delete.
* config/tc-m88k.c: Delete.
* config/tc-m88k.h: Delete.
* config/tc-tahoe.c: Delete.
* config/tc-tahoe.h: Delete.
* config/tc-tic80.c: Delete.
* config/tc-tic80.h: Delete.
* config/tc-w65.c: Delete.
* config/tc-w65.h: Delete.
* config/te-aux.h: Delete.
* config/te-delt88.h: Delete.
* config/te-delta.h: Delete.
* config/te-dpx2.h: Delete.
* config/te-hp300.h: Delete.
* config/te-ic960.h: Delete.
* config/vms-a-conf.h: Delete.
* doc/c-a29k.texi: Delete.
* doc/c-h8500.texi: Delete.
* doc/c-m88k.texi: Delete.
* README: Remove obsolete examples, and list of supported targets.
* Makefile.am: Remove a29k, h8500, m88k, tahoe, tic80, w65,
bout and hp300 support.
(DEP_FLAGS): Don't define BFD_ASSEMBLER.
* configure.in: Remove --enable-bfd-assembler, need_bfd,
primary_bfd_gas.
* configure.tgt: Remove a29k, h8300-coff, h8500-*, i960 non-elf,
m68k non bfd, m88k, or32-coff, tic80-*, vax non-bfd, w65k-*, *-nindy.
* as.c: Remove all non-BFD_ASSEMBLER code, support for above targets.
* as.h: Likewise.
* dw2gencfi.c: Likewise.
* dwarf2dbg.c: Likewise.
* ehopt.c: Likewise.
* input-file.c: Likewise.
* listing.c: Likewise.
* literal.c: Likewise.
* messages.c: Likewise.
* obj.h: Likewise.
* output-file.c: Likewise.
* read.c: Likewise.
* stabs.c: Likewise.
* struc-symbol.h: Likewise.
* subsegs.c: Likewise.
* subsegs.h: Likewise.
* symbols.c: Likewise.
* symbols.h: Likewise.
* tc.h: Likewise.
* write.c: Likewise.
* write.h: Likewise.
* config/aout_gnu.h: Likewise.
* config/obj-aout.c: Likewise.
* config/obj-aout.h: Likewise.
* config/obj-coff.c: Likewise.
* config/obj-coff.h: Likewise.
* config/obj-evax.h: Likewise.
* config/obj-ieee.h: Likewise.
* config/tc-arm.c: Likewise.
* config/tc-arm.h: Likewise.
* config/tc-avr.c: Likewise.
* config/tc-avr.h: Likewise.
* config/tc-crx.h: Likewise.
* config/tc-d10v.h: Likewise.
* config/tc-d30v.h: Likewise.
* config/tc-dlx.h: Likewise.
* config/tc-fr30.h: Likewise.
* config/tc-frv.h: Likewise.
* config/tc-h8300.c: Likewise.
* config/tc-h8300.h: Likewise.
* config/tc-hppa.h: Likewise.
* config/tc-i370.h: Likewise.
* config/tc-i386.c: Likewise.
* config/tc-i386.h: Likewise.
* config/tc-i860.h: Likewise.
* config/tc-i960.c: Likewise.
* config/tc-i960.h: Likewise.
* config/tc-ip2k.h: Likewise.
* config/tc-iq2000.h: Likewise.
* config/tc-m32c.h: Likewise.
* config/tc-m32r.h: Likewise.
* config/tc-m68hc11.h: Likewise.
* config/tc-m68k.c: Likewise.
* config/tc-m68k.h: Likewise.
* config/tc-maxq.c: Likewise.
* config/tc-maxq.h: Likewise.
* config/tc-mcore.c: Likewise.
* config/tc-mcore.h: Likewise.
* config/tc-mn10200.h: Likewise.
* config/tc-mn10300.c: Likewise.
* config/tc-mn10300.h: Likewise.
* config/tc-ms1.h: Likewise.
* config/tc-msp430.c: Likewise.
* config/tc-msp430.h: Likewise.
* config/tc-ns32k.c: Likewise.
* config/tc-ns32k.h: Likewise.
* config/tc-openrisc.h: Likewise.
* config/tc-or32.c: Likewise.
* config/tc-or32.h: Likewise.
* config/tc-ppc.c: Likewise.
* config/tc-ppc.h: Likewise.
* config/tc-s390.h: Likewise.
* config/tc-sh.c: Likewise.
* config/tc-sh.h: Likewise.
* config/tc-sparc.c: Likewise.
* config/tc-tic30.c: Likewise.
* config/tc-tic30.h: Likewise.
* config/tc-tic4x.c: Likewise.
* config/tc-tic4x.h: Likewise.
* config/tc-tic54x.c: Likewise.
* config/tc-tic54x.h: Likewise.
* config/tc-v850.h: Likewise.
* config/tc-vax.c: Likewise.
* config/tc-vax.h: Likewise.
* config/tc-xstormy16.h: Likewise.
* config/tc-xtensa.h: Likewise.
* config/tc-z8k.c: Likewise.
* config/tc-z8k.h: Likewise.
* config/vms-a-conf.h
* doc/Makefile.am: Likewise.
* doc/all.texi: Likewise.
* doc/as.texinfo: Likewise.
* doc/Makefile.in: Regenerate.
* Makefile.in: Regenerate.
* configure: Regenerate.
* config.in: Regenerate.
* po/POTFILES.in: Regenerate.
2005-08-11 01:25:29 +00:00
Nick Clifton
4b4da1607a
Update the address and phone number of the FSF
2005-05-05 09:13:19 +00:00
Ben Elliston
87c245cccc
* Makefile.am (GAS_CFILES): Remove bignum-copy.c.
...
(GENERIC_OBJS): Likewise, remove bignum-copy.o.
(bignum-copy.o): Remove.
* Makefile.in: Regenerate.
* makefile.vms (OBJS): Remove bignum-copy.obj.
* symbols.h (local_symbol_make): Remove declaration.
(verify_symbol_chain_2): Likewise.
* symbols.c (local_symbol_make): Make static.
(max_indent_level): Likewise.
(verify_symbol_chain_2): Remove.
* macro.c (macro_hash): Make static.
* messages.c (fprint_value): Remove.
* read.h (get_absolute_expr): Remove.
(emit_leb128_expr): Likewise.
(do_s_func): Likewise.
* read.c (do_s_func): Make static.
(emit_leb128_expr): Likewise.
(get_absolute_expr): Likewise.
* as.h (as_howmuch): Remove declaration.
(fprint_value): Likewise.
* as.c (myname): Make static.
* input-scrub.c (as_howmuch): Remove.
(as_1_char): Likewise.
* input-file.h (input_file_is_open): Remove.
* input-file.c (input_file_is_open): Likewise.
* expr.h (expr_build_unary): Remove declaration.
(expr_build_binary): Likewise.
* expr.c (expr_build_unary): Remove.
(expr_build_binary): Likewise.
* hash.h (hash_replace): Remove declaration.
(hash_delete): Likewise.
* hash.c (hash_replace): Remove.
(hash_delete): Likewise.
* bignum-copy.c (bignum_copy): Move from here ..
* config/tc-vax.c (bignum_copy): .. to here.
* bignum.h (LOG_TO_BASE_2_OF_10): Remove.
(bignum_copy): Remove extern declaration.
* sb.h (string_count): Remove extern declaration.
(sb_build, sb_add_buffer, sb_print, sb_print_at): Likewise.
(sb_name): Likewise.
* sb.c (dsize): Replace preprocessor macro with static int.
(string_count): Make static.
(sb_build, sb_add_buffer, sb_print, sb_print_at): Likewise.
(sb_name): Likewise.
* config/obj-coff.c (dim_index): Make static.
* config/tc-i386.c (GOT_symbol): Likewise.
(output_invalid_buf): Likewise.
* doc/internals.texi (Warning and error messages): Remove the
prototype for fprint_value.
2005-04-29 00:22:29 +00:00
H.J. Lu
e97b3f28e2
2005-04-20 H.J. Lu <hongjiu.lu@intel.com>
...
* config/obj-aout.h (S_IS_EXTERN): Removed.
* config/obj-bout.h (S_IS_EXTERN): Likewise.
* config/obj-coff.h (S_IS_EXTERN): Likewise.
* symbols.c (S_IS_EXTERN): Likewise.
* symbols.h (S_IS_EXTERN): Likewise.
* config/tc-alpha.c (tc_gen_reloc): Replace S_IS_EXTERN with
S_IS_EXTERNAL.
* config/tc-d10v.c (md_apply_fix3): Likewise.
* config/tc-ia64.c (ia64_fix_adjustable): Likewise.
* config/tc-iq2000.c (iq2000_fix_adjustable): Likewise.
* config/tc-m32r.c (m32r_fix_adjustable): Likewise.
* config/tc-mmix.c (mmix_adjust_symtab): Likewise.
* config/tc-sh64.c (shmedia_frob_file_before_adjust): Likewise.
(shmedia_md_convert_frag): Likewise.
* symbols.c (print_symbol_value_1): Likewise.
* write.c (write_object_file): Likewise.
2005-04-20 17:40:01 +00:00
Jan Beulich
91c4c44904
gas/
...
2005-04-19 Jan Beulich <jbeulich@novell.com>
* symbols.h (symbol_find_base): Remove prototype.
* symbols.c (save_symbol_name): Remove code section conditional upon
STRIP_UNDERSCORE.
(symbol_find): Remove.
(symbol_find_base): Rename to symbol_find.
* subsegs.c (section_symbol): Replace use of symbol_find_base with
symbol_find.
* config/obj-coff.c (tag_insert): Remove code section conditional
upon STRIP_UNDERSCORE.
(obj_coff_def): Likewise.
(obj_coff_endef): Replace use of symbol_find_base with symbol_find.
(coff_frob_symbol): Likewise.
(yank_symbols): Likewise.
(c_section_symbol): Likewise.
* config/obj-coff.h (DO_NOT_STRIP): Remove.
* config/tc-arm.c (symbol_locate): Remove code section conditional
upon STRIP_UNDERSCORE.
* config/tc-h8300.h (DO_NOT_STRIP): Remove.
* config/tc-h8500.h (DO_NOT_STRIP): Remove.
* config/tc-sh.h (DO_NOT_STRIP): Remove.
* config/tc-w65.h (DO_NOT_STRIP): Remove.
* config/tc-z8k.h (DO_NOT_STRIP): Remove.
2005-04-19 15:05:09 +00:00
Alan Modra
514d955ded
* symbols.c (symbol_X_add_number): Change return type to "offsetT *".
...
* symbols.h (symbol_X_add_number): Update prototype.
2005-04-11 00:08:08 +00:00
Alan Modra
be95a9c15d
PR gas/827
...
* as.h (rs_dummy): Define.
* symbols.c (symbol_X_add_number): New function.
* symbols.h (symbol_X_add_number): Declare.
* stabs.c (aout_process_stab): Tidy symbol frag setting.
* read.c (assign_symbol): New function, split out from s_set.
Use symbol_find_or_make. Leave fr_type of dummy frag as rs_dummy.
Fix COFF hacks for multi-emulation gas.
(s_set): Call assign_symbol. Remove "register" keyword.
(set_zero_frag): New function.
(pseudo_set): Always check for assignment to section syms.
Always set segment and frag of symbol, and likewise extern for
aout/bout. Handle assignment of sym=sym+/-const specially. Don't
special case exp.X_add_number non-zero for O_symbol expressions.
(equals): Use assign_symbol.
2005-04-09 03:48:09 +00:00
Nick Clifton
977cdf5aa7
Fix support for PECOFF weak symbols
2004-11-08 08:12:53 +00:00
Kazu Hirata
74937d39a2
* symbols.c: Convert to ISO-C.
...
* symbols.h: Likewise.
2003-11-30 19:07:12 +00:00
Kazu Hirata
47eebc207f
* ChangeLog: Fix typos.
...
* ChangeLog-9295: Likewise.
* as.c: Fix comment typos.
* as.h: Likewise.
* atof-generic.c: Likewise.
* bit_fix.h: Likewise.
* frags.h: Likewise.
* hash.c: Likewise.
* input-file.c: Likewise.
* input-scrub.c: Likewise.
* itbl-ops.c: Likewise.
* itbl-parse.y: Likewise.
* listing.c: Likewise.
* macro.h: Likewise.
* read.c: Likewise.
* sb.c: Likewise.
* sb.h: Likewise.
* symbols.c: Likewise.
* symbols.h: Likewise.
2003-10-27 12:45:17 +00:00
Richard Henderson
b7d6ed970a
* symbols.c (temp_label_name): New.
...
(symbol_temp_new, symbol_temp_new_now, symbol_temp_make): New.
(symbol_set_value_now): New.
* symbols.h: Prototype them.
* dwarf2dbg.c: Use them.
(fake_label_name, symbol_new_now, set_symbol_value_now): Remove.
2003-05-27 16:00:04 +00:00
Alan Modra
54cfded08e
* dw2gencfi.c, dw2gencfi.h: New files.
...
* config/tc-i386.c (tc_x86_cfi_init): New function.
* config/tc-i386.h (TARGET_USE_CFIPOP, tc_cfi_init): New defines.
* as.c (parse_args): Set verbose flag on --verbose.
(main): Call tc_cfi_init()/cfi_finish().
* as.h (verbose): New external variable.
* read.c (pobegin): Insert CFI pops to the list.
* symbols.c (local_symbol_make): Make symbol external.
* symbols.h (local_symbol_make): New prototype.
* Makefile.am: Add dw2gencfi.[ch] files. Run "make dep-am".
* Makefile.in: Regenerate.
* doc/as.texinfo: Added node "CFI directives" with description of
all implemented .cfi_* directives.
* doc/Makefile.in: Regenerate.
* po/POTFILES.in: Regenerate.
2003-05-20 07:58:07 +00:00
Alan Modra
ae6063d440
* symbols.c (S_FORCE_RELOC): Add "strict" param.
...
* symbols.h (S_FORCE_RELOC): Likewise.
* config/obj-aout.h (S_FORCE_RELOC): Likewise.
* config/obj-bout.h (S_FORCE_RELOC): Likewise.
* config/obj-coff.h (S_FORCE_RELOC): Likewise.
* config/obj-ieee.h (S_FORCE_RELOC): Likewise.
* config/obj-vms.h (S_FORCE_RELOC): Likewise.
* write.c (generic_force_reloc): New function.
(TC_FORCE_RELOCATION): Use it here instead of S_FORCE_RELOC.
(TC_FORCE_RELOCATION_SUB_SAME): Test TC_FORCE_RELOCATION too.
(adjust_reloc_syms): Adjust S_FORCE_RELOC call.
* as.h (generic_force_reloc): Declare.
* doc/internals.texi (S_FORCE_RELOC): Update.
(TC_FORCE_RELOCATION_SUB_SAME): Update.
* config/tc-alpha.c (alpha_force_relocation): Adjust to use
generic_force_reloc.
(alpha_fix_adjustable): Likewise.
* config/tc-arm.c (arm_force_relocation): Likewise.
* config/tc-cris.c (md_cris_force_relocation): Likewise.
* config/tc-frv.c (frv_force_relocation): Likewise.
* config/tc-i386.c (md_apply_fix3): Likewise.
* config/tc-ia64.c (ia64_force_relocation): Likewise.
* config/tc-ip2k.c (ip2k_force_relocation): Likewise.
* config/tc-m32r.c (m32r_force_relocation): Likewise.
* config/tc-m68hc11.c (tc_m68hc11_force_relocation): Likewise.
* config/tc-mcore.c (mcore_force_relocation): Likewise.
* config/tc-mips.c (mips_force_relocation): Likewise.
* config/tc-mmix.c (mmix_force_relocation): Likewise.
* config/tc-ppc.c (ppc_force_relocation): Likewise.
* config/tc-s390.c (tc_s390_force_relocation): Likewise.
* config/tc-sh.c (sh_force_relocation): Likewise.
(md_pcrel_from_section): Likewise.
* config/tc-sparc.c (tc_gen_reloc): Likewise.
* config/tc-v850.c (v850_force_relocation): Likewise.
* config/tc-xstormy16.c (xstormy16_force_relocation): Likewise.
* config/tc-i386.h (TC_FORCE_RELOCATION): Likewise.
* config/tc-mcore.h (TC_FORCE_RELOCATION): Likewise.
* config/tc-sparc.h (tc_fix_adjustable): Likewise.
* config/tc-d10v.c (d10v_force_relocation): Delete.
* config/tc-d10v.h (TC_FORCE_RELOCATION): Don't define.
* config/tc-dlx.c (md_dlx_force_relocation): Delete.
* config/tc-dlx.h (TC_FORCE_RELOCATION): Don't define.
* config/tc-fr30.c (fr30_force_relocation): Delete.
* config/tc-fr30.h (TC_FORCE_RELOCATION): Don't define.
* config/tc-mn10300.c (mn10300_force_relocation): Delete.
* config/tc-mn10300.h (TC_FORCE_RELOCATION): Don't define.
(TC_FORCE_RELOCATION_SUB_SAME): Test TC_FORCE_RELOCATION too.
* config/tc-i960.h (TC_FORCE_RELOCATION_SUB_SAME): Likewise.
* config/tc-hppa.c (hppa_force_relocation): Adjust S_FORCE_RELOC call.
* config/tc-mips.c (RELAX_BRANCH_TOOFAR): Warning fix.
* config/tc-mips.h (TC_FORCE_RELOCATION_SUB_SAME): Don't define.
* config/tc-openrisc.c (openrisc_force_relocation): Delete.
* config/tc-openrisc.h (TC_FORCE_RELOCATION): Don't define.
* config/tc-sparc.c (elf32_sparc_force_relocation): Delete.
* config/tc-sparc.h (TC_FORCE_RELOCATION): Don't define for ELF.
* config/tc-i386.c (i386_force_relocation): Delete.
* config/tc-i386.h (TC_FORCE_RELOCATION): Don't define for
BFD_ASSEMBLER.
(EXTERN_FORCE_RELOC): Fix TE_PE and STRICT_PE_FORMAT nesting.
* config/tc-m68k.h (TC_FORCE_RELOCATION): Don't define.
* config/tc-pj.h (TC_FORCE_RELOCATION): Don't define.
* config/tc-sh.h (TC_FORCE_RELOCATION_SUB_ABS): Don't call
S_FORCE_RELOC.
(TC_FORCE_RELOCATION_SUB_SAME): Test TC_FORCE_RELOCATION too.
* config/tc-sh64.h (TC_FORCE_RELOCATION_SUB_SAME): Likewise.
2003-01-23 12:51:05 +00:00
Jakub Jelinek
00f7efb6cc
* symbols.c (S_SET_THREAD_LOCAL): New function.
...
* symbols.h (S_SET_THREAD_LOCAL): New prototype.
* config/tc-i386.c (md_apply_fix3): Call S_SET_THREAD_LOCAL
for TLS relocations.
* config/tc-ia64.c (md_apply_fix3): Likewise.
* config/tc-alpha.c (md_apply_fix3): Likewise.
* ld-i386/tlsnopic.rd: Change NOTYPE to TLS for UND sg* symbols.
2002-11-28 14:15:55 +00:00
Alan Modra
a161fe5320
gas reloc rewrite.
2002-09-05 00:01:18 +00:00
Alan Modra
9758f3fc77
* symbols.c: Replace CONST by const throughout.
...
(symbol_find_exact): Split out from..
(symbol_find_base): ..here.
* symbols.h: Replace CONST by const throughout.
(symbol_find_exact): Declare.
* config/obj-elf.c: #include "struc-symbol.h".
(elf_frob_file): If group name matches an exported symbol, use that
symbol for the signature and ".group" as the section name.
2002-06-07 14:57:50 +00:00
Alan Modra
e0890092b6
* expr.c (expr): Move code setting "retval" to the end of the loop,
...
and rearrange for efficiency. For "PIC code" subtraction, use
"rightseg" rather than recalculating. For "symbol OP symbol"
subtract, set "retval" to absolute_section if symbols in same
section.
* symbols.c (resolve_symbol_value): Resolve "sym +/- expr" to an
O_symbol. Simplify a +/- b code. Allow equality and non-equality
comparisons on symbols from any section. Allow other comparison
operators as for subtraction.
(symbol_equated_reloc_p): New predicate function.
* symbols.h (symbol_equated_reloc_p): Declare.
* write.c (adjust_reloc_syms): Use symbol_equated_reloc_p.
(write_relocs): Likewise.
(write_object_file): Likewise.
(relax_segment <rs_machine_dependent>): Ensure segment for
expression syms is set correctly.
* config/tc-mips.c (md_estimate_size_before_relax): Likewise.
* config/tc-i386.c (md_assemble <Output jumps>): Don't lose part
of a complex expression when setting up frag_var.
2001-09-09 14:01:17 +00:00
Alan Modra
6386f3a767
* symbols.c (resolve_symbol_value): Remove "finalize" param,
...
instead use finalize_syms directly. Don't treat expressions
specially with regard to finalize_syms. Update calls to self.
(resolve_local_symbol): Update call to resolve_symbol_value.
(S_GET_VALUE): Likewise. Return resolve_symbol_value if
!finalize_syms.
* symbols.h (resolve_symbol_value): Update prototype.
* config/obj-aout.c (obj_crawl_symbol_chain): Update call
to resolve_symbol_value.
* config/obj-bout.c (obj_crawl_symbol_chain): Likewise.
* config/obj-coff.c (do_relocs_for): Likewise.
(yank_symbols): Likewise.
(fixup_segment): Likewise.
* config/obj-vms.c (obj_crawl_symbol_chain): Likewise.
* config/tc-mips.c (md_convert_frag): Likewise.
* config/tc-ppc.c (ppc_frob_symbol): Likewise.
(ppc_fix_adjustable): Likewise.
* dwarf2dbg.c (dwarf2dbg_estimate_size_before_relax): Likewise.
(dwarf2dbg_convert_frag): Likewise.
* ehopt.c (eh_frame_estimate_size_before_relax): Likewise.
(eh_frame_convert_frag): Likewise.
* expr.c (make_expr_symbol): Likewise.
* write.c (adjust_reloc_syms): Likewise.
(write_object_file): Likewise.
(relax_segment): Likewise.
(fixup_segment): Likewise.
(finalize_syms): Init to zero, and update comment.
(write_object_file): Set finalize_syms to 1 rather than 2.
* doc/internals.texi (sy_value): Mention finalize_syms.
(S_GET_VALUE): Remove restriction on when S_GET_VALUE can be called.
2001-05-22 10:23:50 +00:00
Nick Clifton
f7e42eb4af
Fix copyright notices
2001-03-08 23:24:26 +00:00
Kazu Hirata
a01b9fa4ba
2000-09-12 Kazu Hirata <kazu@hxi.com>
...
* as.h: Fix formatting.
* asintl.h: Likewise.
* bit_fix.h: Likewise.
* dwarf2dbg.h: Likewise.
* expr.h: Likewise.
* flonum.h: Likewise.
* frags.h: Likewise.
* itbl-ops.h: Likewise.
* macro.h: Likewise.
* read.h: Likewise.
* sb.h: Likewise.
* struc-symbol.h: Likewise.
* subsegs.h: Likewise.
* symbols.h: Likewise.
* tc.h: Likewise.
* write.h: Likewise.
2000-09-12 20:57:14 +00:00
Richard Henderson
58b5739a4e
* dwarf2dbg.c (*): Convert to K&R + prototypes.
...
(dwarf2_gen_line_info): Kill unused variables.
(dwarf2_finish): Likewise.
(dwarf2_where): Likewise.
(dwarf2_directive_file): If we've only got a string,
hand off to s_app_file.
* ecoff.c: Move the include of ecoff.h.
* symbols.h (S_IS_FUNCTION): Prototype.
* read.c (LEX_HASH): Supply a default.
(lex_type): Use it.
(s_globl): Update `c' after skipping whitespace.
* read.h (LEX_END_NAME, is_name_ender): New.
* expr.c (get_symbol_end): Respect it.
1999-06-05 18:19:09 +00:00
Ian Lance Taylor
49309057b4
Add support for storing local symbols in a small structure to save
...
memory when assembling large files.
* as.h: Don't include struc-symbol.h.
(symbolS): Add typedef.
* symbols.c: Include struc-symbol.h.
(local_hash): New static variable.
(save_symbol_name): New static function, from symbol_create.
(symbol_create): Call save_symbol_name.
(local_symbol_count): New static variable.
(local_symbol_conversion_count): Likewise.
(LOCAL_SYMBOL_CHECK): Define.
(local_symbol_make): New static function.
(local_symbol_convert): New static function.
(colon): Handle local symbols. Create local symbol for local
label name.
(symbol_table_insert): Handle local symbols.
(symbol_find_or_make): Create local symbol for local label name.
(symbol_find_base): Check for local symbol.
(symbol_append, symbol_insert): Check for local symbols.
(symbol_clear_list_pointers, symbol_remove): Likewise.
(verify_symbol_chain): Likewise.
(copy_symbol_attributes): Likewise.
(resolve_symbol_value): Handle local symbols.
(resolve_local_symbol): New static function.
(resolve_local_symbol_values): New function.
(S_GET_VALUE, S_SET_VALUE): Handle local symbols.
(S_IS_FUNCTION, S_IS_EXTERNAL, S_IS_WEAK, S_IS_COMMON): Likewise.
(S_IS_DEFINED, S_IS_DEBUG, S_IS_LOCAL, S_GET_NAME): Likewise.
(S_GET_SEGMENT, S_SET_SEGMENT, S_SET_EXTERNAL): Likewise.
(S_CLEAR_EXTERNAL, S_SET_WEAK, S_SET_NAME): Likewise.
(symbol_previous, symbol_next): New functions.
(symbol_get_value_expression): Likewise.
(symbol_set_value_expression): Likewise.
(symbol_set_frag, symbol_get_frag): Likewise.
(symbol_mark_used, symbol_clear_used, symbol_used_p): Likewise.
(symbol_mark_used_in_reloc): Likewise.
(symbol_clear_used_in_reloc, symbol_used_in_reloc_p): Likewise.
(symbol_mark_mri_common, symbol_clear_mri_common): Likewise.
(symbol_mri_common_p): Likewise.
(symbol_mark_written, symbol_clear_written): Likewise.
(symbol_written_p): Likewise.
(symbol_mark_resolved, symbol_resolved_p): Likewise.
(symbol_section_p, symbol_equated_p): Likewise.
(symbol_constant_p): Likewise.
(symbol_get_bfdsym, symbol_set_bfdsym): Likewise.
(symbol_get_obj, symbol_set_obj): Likewise.
(symbol_get_tc, symbol_set_tc): Likewise.
(symbol_begin): Initialize local_hash.
(print_symbol_value_1): Handle local symbols.
(symbol_print_statistics): Print local symbol statistics.
* symbols.h: Include "struc-symbol.h" if not BFD_ASSEMBLER.
Declare new symbols.c functions. Move many declarations here from
struc-symbol.h.
(SYMBOLS_NEED_BACKPOINTERS): Define if needed.
* struc-symbol.h (SYMBOLS_NEED_BACKPOINTERS): Don't set.
(struct symbol): Move bsym to make it clearly the first field.
Remove TARGET_SYMBOL_FIELDS.
(symbolS): Don't typedef.
(struct broken_word): Remove.
(N_TYPE_seg, seg_N_TYPE): Move to symbol.h.
(SEGMENT_TO_SYMBOL_TYPE, N_REGISTER): Likewise.
(symbol_clear_list_pointers): Likewise.
(symbol_insert, symbol_remove): Likewise.
(symbol_previous, symbol_append): Likewise.
(verify_symbol_chain, verify_symbol_chain_2): Likewise.
(struct local_symbol): Define.
(local_symbol_converted_p, local_symbol_mark_converted): Define.
(local_symbol_resolved_p, local_symbol_mark_resolved): Define.
(local_symbol_get_frag, local_symbol_set_frag): Define.
(local_symbol_get_real_symbol): Define.
(local_symbol_set_real_symbol): Define.
Define.
* write.c (write_object_file): Call resolve_local_symbol_values.
* config/obj-ecoff.h (OBJ_SYMFIELD_TYPE): Define.
(TARGET_SYMBOL_FIELDS): Don't define.
* config/obj-elf.h (OBJ_SYMFIELD_TYPE): Add local field. If
ECOFF_DEBUGGING, add ECOFF fields.
(ELF_TARGET_SYMBOL_FIELDS, TARGET_SYMBOL_FIELDS): Don't define.
* config/obj-multi.h (struct elf_obj_sy): Add local field. If
ECOFF_DEBUGGING, add ECOFF fields.
(ELF_TARGET_SYMBOL_FIELDS, TARGET_SYMBOL_FIELDS): Don't define.
(ECOFF_DEBUG_TARGET_SYMBOL_FIELDS): Don't define.
* config/tc-mcore.h: Don't include struc-symbol.h.
(TARGET_SYMBOL_FIELDS): Don't define.
(struct mcore_tc_sy): Define.
(TC_SYMFIELD_TYPE): Define.
* Many files: Use symbolS instead of struct symbol. Use new
accessor functions rather than referring to symbolS fields
directly.
* read.c (s_mri_common): Don't add in value of line_label.
* config/tc-mips.c (md_apply_fix): Correct parenthesization when
checking for SEC_LINK_ONCE.
* config/tc-sh.h (sh_fix_adjustable): Declare.
1999-06-03 00:29:48 +00:00
Richard Henderson
252b5132c7
19990502 sourceware import
1999-05-03 07:29:11 +00:00