aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-ppc.c
AgeCommit message (Collapse)AuthorFilesLines
2002-01-03[gas/ChangeLog]Matthew Green1-2/+2
* config/tc-ppc.c (md_parse_option): BookE is not Motorola specific. [include/opcode/ChangeLog] * ppc.h (PPC_OPCODE_BOOKE): BookE is not Motorola specific. (PPC_OPCODE_BOOKE64): Likewise.
2001-12-20* config/tc-ppc.c (md_parse_option): Make -maltivec defaultMatthew Green1-1/+6
to generating PowerPC instructions.
2001-11-15Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function.Nick Clifton1-117/+109
2001-11-15binutils/ChangeLogAlan Modra1-3/+3
* doc/binutils.texi (objdump): Document ppc -M options. gas/ChangeLog * config/tc-ppc.c (ppc_insert_operand): Pass (ppc_cpu | ppc_size) to operand->insert. (md_assemble): Likewise. gas/testsuite/ChangeLog * gas/ppc/booke.d: Modify reloc and target matches for powerpc64. include/opcode/ChangeLog * ppc.h (struct powerpc_operand <insert, extract>): Add dialect param. opcodes/ChangeLog * ppc-opc.c (PPC64): Revert 2001-10-12. Do include PPC_OPCODE_PPC. (insert_bat, extract_bat, insert_bba, extract_bba, insert_bd, extract_bd, insert_bdm, extract_bdm, insert_bdp, extract_bdp, valid_bo, insert_bo, extract_bo, insert_boe, extract_boe, insert_ds, extract_ds, insert_de, extract_de, insert_des, extract_des, insert_li, extract_li, insert_mbe, extract_mbe, insert_mb6, extract_mb6, insert_nb, extract_nb, insert_nsi, extract_nsi, insert_ral, insert_ram, insert_ras, insert_rbs, extract_rbs, insert_sh6, extract_sh6, insert_spr, extract_spr, insert_tbr, extract_tbr): Add dialect param. (extract_bd, extract_bdm, extract_bdp, extract_ds, extract_des, extract_li, extract_nsi): Implement sign extension without conditional. (insert_bdm, extract_bdm, insert_bdp, extract_bdp, valid_bo): Handle 64 bit branch hints. (extract_bdm, extract_bdp): Correct 32 bit validation. (AT1_MASK, AT2_MASK): Define. (BBOAT_MASK): Define. (BBOATCB_MASK, BBOAT2CB_MASK, BBOATBI_MASK): Define. (BOFM64, BOFP64, BOTM64, BOTP64): Define. (BODNZM64, BODNZP64, BODZM64, BODZP64): Define. (PPCCOM32, PPCCOM64): Define. (powerpc_opcodes): Modify existing 32 bit insns with branch hints and add new patterns to implement 64 bit branches with hints. Move booke instructions so they match before ppc64. * ppc-dis.c (powerpc_dialect): Set PPC_OPCODE_64 in dialect for 64 bit default targets, and parse "32" and "64" in options. Formatting fixes. (print_insn_powerpc): Pass dialect to operand->extract.
2001-10-17[gas/ChangeLog]Matthew Green1-2/+5
* config/tc-ppc.c (md_show_usage): Add missing -maltivec, -m7400, -m7410, -m7450 and -m7455 options. [gas/testsuite/ChangeLog] * gas/ppc/altivec.s: New test for AltiVec. * gas/ppc/altivec.d: New file. * gas/ppc/ppc.exp: Test altivec.s [include/opcode/ChangeLog] * ppc.h (PPC_OPCODE_BOOKE64): Fix typo. [opcodes/ChangeLog] * ppc-opc.c (STRM): New AltiVec operand. (XDSS): New AltiVec instruction form. (mtvscr): Correct operand list. (dst, dstt, dstst, dststt, dss, dssall): AltiVec instructions.
2001-10-17 * config/tc-ppc.c (PPC_HA, PPC_HIGHERA, PPC_HIGHESTA): Simplify.Alan Modra1-83/+91
(ppc_size): Select PPC_OPCODE_64 if 64 bit. (md_begin): Don't set ppc_size here. (ppc_target_format): Test ppc_size as well as BFD_DEFAULT_TARGET_SIZE. (md_shortopts): Constify. (md_longopts): Likewise. (md_longopts_size): Likewise. (ppc_elf_suffix): Only allow 64-bit relocs when ppc_size specifies 64-bit opcodes. (ppc_machine): Explain why this function is a nop.
2001-10-13[gas/ChangeLog]Matthew Green1-6/+26
* config/tc-ppc.c (md_parse_option): New -m7410, -m7450 and -m7455 flags, equivalent to -m7400. New -maltivec to enable AltiVec instructions. New -mbook64 and -mbooke/-mbooke32 flags to enable 64-bit and 32-bit BookE support, respectively. Change -m403 and -m405 to set PPC403 option. (md_show_usage): Adjust for new options. * doc/all.texi: Set PPC. * doc/as.texinfo: Add PPC support and pull in c-ppc.texi. * doc/c-ppc.texi: New file. * doc/Makefile.am (CPU_DOCS): Add c-ppc.texi. * doc/Makefile.in: Regenerate. [gas/testsuite/ChangeLog] * gas/ppc/booke.s: New test for Motorola BookE. * gas/ppc/booke.d: New file. * gas/ppc/ppc.exp: Test booke.s. [include/opcode/ChangeLog] * ppc.h (PPC_OPCODE_BOOKE, PPC_OPCODE_403): New opcode flags for BookE and PowerPC403 instructions. [opcodes/ChangeLog] * ppc-opc.c (insert_de, extract_de, insert_des, extract_des): New instruction field instruction/extraction functions for new BookE DE form instructions. (CT): New macro for CT field in an X form instruction. (DE, DES, DEO, DE_MASK): New macros for DE/DES fields in DE form instructions. (PPC64): Don't include PPC_OPCODE_PPC. (403): New opcode macro for PPC403 processors. (BOOKE): New opcode macro for BookE processors. (bce, bcel, bcea, bcela, bclre, bclrel: New BookE instructions. (bcctre, bcctrel, be, bel, bea, bela, icbt, icbte, lwzxe): Likewise. (dcbste, lwzuxe, luxe, dcbfe, lbzxe, lwarxe, lbzuxe): Likewise. (stwcxe, stwxe, stxe, stwuxe, stuxe, stbxe, dcbtste, stbuxe): Likewise. (mfapidi, dcbte, lhzxe, lhzuxe, lhaxe, lhauxe, subfe64): Likewise. (subfeo64, adde64, addeo64, sthxe, sthuxe, subfze64): Likewise. (subfzeo64, addze64, addzeo64, dcbie, subfme64, subfmeo64): Likewise. (addme64, addmeo64, stdcxe., mcrxr64, lwbrxe, lfsxe, lfsuxe): Likewise. (lfdxe, lfduxe, stwbrxe, stfsxe, stfsuxe, stfdxe, dcbae): Likewise. (stfduxe, tlbivax, tlbivaxe, lhbrxe, ldxe, lduxe, tlbsx): Likewise. (tlbsxe, sthbrxe, stdxe, stduxe, icbie, stfiwxe, dcbze, lbze): Likewise. (lbzue, ldue, lhze, lhzue, lhae, lhaue, lwze, lwzue): Likewise. (stbe, stbue, sthe, sthue, stwe, stwue, lfse, lfsue, lfde): Likewise. (lfdue, stde, stdue, stfse, stfsue, stfde, stfdue): Likewise. * ppc-dis.c (print_insn_big_powerpc, print_insn_little_powerpc): Look for a disassembler option of `booke', `booke32' or `booke64' to enable BookE support in the disassembler.
2001-10-08Fix 2 xcoff line number problemsTom Rix1-2/+20
2001-10-04 * config/tc-ppc.c (md_assemble <DS relocs>): Test ppc_size as wellAlan Modra1-8/+12
as BFD_DEFAULT_TARGET_SIZE. (ppc_tc): Likewise. (ppc_is_toc_sym): Likewise. (md_apply_fix3): Likewise.
2001-10-02 * config/tc-ppc.c (md_apply_fix3 <BFD_RELOC_CTOR>): Make it 64Alan Modra1-1/+5
bits if target is 64 bit.
2001-09-19Locale changes from Bruno Haible <haible@clisp.cons.org>.H.J. Lu1-10/+9
2001-09-11 * config/obj-elf.c (obj_elf_parse_section_letters): Use 'M' insteadJakub Jelinek1-1/+1
of 'm', 'S' instead of 's'. Update bad_msg. * config/tc-ppc.c (ppc_section_letter): Update bad_msg. * config/tc-i370.c (i370_sectioN_letter): Update bad_msg.
2001-08-27 * configure.in: Recognise powerpc*le*, not just powerpcle*.Alan Modra1-82/+371
* configure: Regenerate. * config/tc-ppc.c (PPC_LO, PPC_HI, PPC_HA, PPC_HIGHER, PPC_HIGHERA, PPC_HIGHEST, PPC_HIGHESTA, SEX16): New macros. (md_assemble): Use them. (ppc_machine): Support stub for ELF64 as well as XCOFF. (md_pseudo_table): Add "llong", "quad". (md_parse_option): Match default_cpu of powerpc*. (ppc_arch): Likewise. (ppc_subseg_align): Only for OBJ_XCOFF. (ppc_target_format): Return elf64-powerpc strings for 64 bit ELF. (md_begin): Select PPC_OPCODE_64 for 64 bit. (ppc_insert_operand): Don't bother testing 'file' before calling as_bad_where. Use as_bad_where for operand->insert errors. (mapping): Add ELF64 relocation modifiers. (ppc_elf_suffix): Replace symbol on BFD_RELOC_PPC64_TOC reloc expressions with abs_symbol. (ppc_elf_cons): Correct offset for little endian targets. (ppc_elf_frob_symbol): New. (md_assemble): Add support for 64 bit ELF relocs. (ppc_tc): Ensure 8 byte alignment when 64 bit. (ppc_is_toc_sym): Only define for OBJ_XCOFF and OBJ_ELF. Match ".toc" section for 64 bit ELF. (ppc_fix_adjustable): New. Macro body moved from tc-ppc.h. (md_apply_fix3): Silence warning with ATTRIBUTE_UNUSED. Only do the ppc_is_toc_sym check for OBJ_XCOFF and OBJ_ELF. For 64 bit, use BFD_RELOC_PPC64_TOC16_DS instead of BFD_RELOC_PPC_TOC16. Expand on comments, error message. Add support for 64 bit relocs, and use PPC_HI etc. macros. * config/tc-ppc.h (MAX_MEM_FOR_RS_ALIGN_CODE): Define. (HANDLE_ALIGN): Define to generate nops in code sections rather than zeros. (TC_FORCE_RELOCATION): Force for BFD_RELOC_PPC64_TOC. (ELF_TC_SPECIAL_SECTIONS): Add 64 bit ELF sections. (tc_fix_adjustable): Move body of macro to tc-ppc.c. (ppc_fix_adjustable): Declare. (tc_frob_symbol): Define. (ppc_elf_frob_symbol): Declare.
2001-08-10Revert 2001-08-08 changes.Alan Modra1-28/+32
2001-08-08 * config/tc-ppc.c (md_apply_fix3): Replace haphazard code forAlan Modra1-32/+28
determining reloc type with code reading operands->reloc field.
2001-07-31 * config/tc-ppc.c (ppc_elf_validate_fix): It's OK to haveGeoffrey Keating1-1/+1
any kind of relocation against a not-loaded section.
2001-07-30 * config/obj-elf.c (obj_elf_symver): Temporarily modify lex_typeAlan Modra1-9/+7
to include '@' in symbol names when parsing versioned symbols rather than calling get_symbol_end multiple times. * config/tc-i370.c (register_name): Format fixes. Don't call get_symbol_end after parsing number. * config/tc-mn10200.c (data_register_name): Format fixes. Hoist code out of conditional. (address_register_name): Likewise. (other_register_name): Likewise. * config/tc-mn10300.c (r_register_name): Likewise. (xr_register_name): Likewise. (data_register_name): Likewise. (address_register_name): Likewise. (other_register_name): Likewise. * config/tc-ppc.c (register_name): Likewise. * config/tc-s390.c (register_name): Likewise.
2001-07-02 * config/tc-ppc.c: Formatting fixes.Alan Modra1-230/+248
2001-06-20Fix for problem with default alignment of .commTom Rix1-8/+5
2001-05-29formatting changeTom Rix1-18/+16
2001-05-24Fix for gas seg fault and neg line numbersTom Rix1-1/+23
2001-05-22 * symbols.c (resolve_symbol_value): Remove "finalize" param,Alan Modra1-10/+8
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-03-30Pass finalize_syms on calls to resolve_symbol_value.Alan Modra1-8/+10
2001-03-08Fix copyright noticesNick Clifton1-1/+1
2001-01-142001-01-14 Kazu Hirata <kazu@hxi.com>Kazu Hirata1-1/+0
* config/tc-alpha.c: Fix formatting. * config/tc-arc.c: Likewise. * config/tc-arc.h: Likewise. * config/tc-d10v.c: Likewise. * config/tc-i370.c: Likewise. * config/tc-i386.c: Likewise. * config/tc-i960.c: Likewise. * config/tc-m68k.c: Likewise. * config/tc-ppc.c: Likewise. * config/tc-sparc.c: Likewise. * config/tc-tahoe.c: Likewise. * config/tc-vax.c: Likewise.
2000-12-122000-12-12 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>Geoffrey Keating1-4/+11
* config/tc-ppc.c (md_pseudo_table): Add .file and .loc. (md_assemble): Call dwarf2_emit_insn. (shlib): Fix typo SHILB -> SHLIB. (md_parse_option): Likewise. (ppc_elf_validate_fix): Likewise: * config/tc-ppc.h (DWARF2_LINE_MIN_INSN_LENGTH): New.
2000-12-032000-12-03 Kazu Hirata <kazu@hxi.com>Kazu Hirata1-9/+9
* tc-a29k.c: Fix formatting. * tc-alpha.c: Likewise. * tc-arm.c: Likewise. * tc-cris.c: Likewise. * tc-hppa.c: Likewise. * tc-i370.c: Likewise. * tc-i386.c: Likewise. * tc-i860.c: Likewise. * tc-i960.c: Likewise. * tc-ia64.c: Likewise. * tc-m68hc11.c: Likewise. * tc-m68k.c: Likewise. * tc-m88k.c: Likewise. * tc-pj.c: Likewise. * tc-ppc.c: Likewise. * tc-sh.c: Likewise. * tc-sparc.c: Likewise. * tc-tahoe.c: Likewise. * tc-vax.c: Likewise.
2000-09-262000-09-25 Kazu Hirata <kazu@hxi.com>Kazu Hirata1-180/+180
* config/tc-cris.c: Fix formatting. * config/tc-d10v.h: Likewise. * config/tc-d30v.c: Likewise. * config/tc-d30v.h: Likewise. * config/tc-fr30.c: Likewise. * config/tc-fr30.h: Likewise. * config/tc-m68k.c: Likewise. * config/tc-m68k.h: Likewise. * config/tc-pj.h: Likewise. * config/tc-ppc.c: Likewise. * config/tc-ppc.h: Likewise. * config/tc-sh.c: Likewise. * config/tc-sh.h: Likewise. * config/tc-sparc.c: Likewise. * config/tc-v850.h: Likewise. * config/tc-vax.h: Likewise. * config/tc-w65.h: Likewise. * config/tc-z8k.h: Likewise.
2000-08-31In src/gas/ChangeLog:Geoffrey Keating1-1/+2
2000-08-30 Mark Hatle <mhatle@mvista.com> * config/tc-ppc.c (md_parse_option): Recognize -m405. In src/opcodes/ChangeLog: 2000-08-30 Mark Hatle <mhatle@mvista.com> * ppc-opc.c Add XTLB macro for a few PPC 4xx extended mnemonics. (powerpc_opcodes): Add table entries for PPC 405 instructions. Changed rfci, icbt, mfdcr, dccci, mtdcr, iccci from PPC to PPC403 instructions. Added extended mnemonic mftbl as defined in the 405GP manual for all PPCs.
2000-07-07Fix comments.Nick Clifton1-2/+2
2000-06-19Fix compile time warningsNick Clifton1-28/+28
2000-05-03* config/tc-ppc.c (pre_defined_registers): Add entries for vectorJ.T. Conklin1-1/+72
unit registers. (md_parse_option): Recognize -m7400.
2000-04-26 Add XCOFF64 support.Clinton Popetz1-3/+65
bfd: * Makefile.am (coff64-rs6000.lo): New rule. * Makefile.in: Regenerate. * coff-rs6000.c (xcoff_mkobject, xcoff_copy_private_bfd_data, xcoff_is_local_label_name, xcoff_rtype2howto, xcoff_reloc_type_lookup, xcoff_slurp_armap, xcoff_archive_p, xcoff_read_ar_hdr, xcoff_openr_next_archived_file, xcoff_write_armap, xcoff_write_archive_contents): No longer static, and prefix with _bfd_. (NO_COFF_SYMBOLS): Define. (xcoff64_swap_sym_in, xcoff64_swap_sym_out, xcoff64_swap_aux_in, xcoff64_swap_aux_out): New functions; handle xcoff symbol tables internally. (MINUS_ONE): New macro. (xcoff_howto_tabl, xcoff_reloc_type_lookup): Add 64 bit POS relocation. (coff_SWAP_sym_in, coff_SWAP_sym_out, coff_SWAP_aux_in, coff_SWAP_aux_out): Map to the new functions. * coff64-rs6000.c: New file. * libcoff.h (bfd_coff_backend_data): Add new fields _bfd_coff_force_symnames_in_strings and _bfd_coff_debug_string_prefix_length. (bfd_coff_force_symnames_in_strings, bfd_coff_debug_string_prefix_length): New macros for above fields. * coffcode.h (coff_set_arch_mach_hook): Handle XCOFF64 magic. Set machine to 620 for XCOFF64. Use bfd_coff_swap_sym_in instead of using coff_swap_sym_in directly. (FORCE_SYMNAMES_IN_STRINGS): New macro, defined for XCOFF64. (coff_set_flags) Set magic for XCOFF64. (coff_compute_section_file_positions): Add symbol name length to string section length if bfd_coff_debug_string_prefix_length is true. (coff_write_object_contents): Don't do reloc overflow for XCOFF64. (coff_slurp_line_table): Use bfd_coff_swap_lineno_in instead of using coff_swap_lineno_in directly. (bfd_coff_backend_data): Add _bfd_coff_force_symnames_in_strings and _bfd_coff_debug_string_prefix_length fields. * coffgen.c (coff_fix_symbol_name, coff_write_symbols): Force symbol names into strings table when bfd_coff_force_symnames_in_strings is true. * coffswap.h (MAX_SCNHDR_NRELOC, MAX_SCNHDR_NLNNO, GET_RELOC_VADDR, SET_RELOC_VADDR): New macros. (coff_swap_reloc_in, coff_swap_reloc_out): Use above macros. (coff_swap_aux_in, coff_swap_aux_out): Remove RS6000COFF_C code. (coff_swap_aouthdr_in, coff_swap_aouthdr_out): Handle XCOFF64 changes within RS6000COFF_C specific code. (coff_swap_scnhdr_out): Use PUT_SCNHDR_NLNNO, PUT_SCNHDR_NRELOC, MAX_SCNHDR_NRELOC, and MAX_SCNHDR_NLNNO. * reloc.c (bfd_perform_relocation, bfd_install_relocation): Extend existing hack on target name. * xcofflink.c (XCOFF_XVECP): Extend existing hack on target name. * coff-tic54x.c (ticof): Keep up to date with new fields in bfd_coff_backend_data. * config.bfd: Add bfd_powerpc_64_arch to targ_arch and define targ_selvecs to include rs6000coff64_vec for rs6000. * configure.in: Add rs6000coff64_vec case. * cpu-powerpc.c: New bfd_arch_info_type. gas: * as.c (parse_args): Allow md_parse_option to override -a listing option. * config/obj-coff.c (add_lineno): Change type of offset parameter from "int" to "bfd_vma." * config/tc-ppc.c (md_pseudo_table): Add "llong" and "machine." (ppc_mach, ppc_subseg_align, ppc_target_format): New. (ppc_change_csect): Align correctly for XCOFF64. (ppc_machine): New function, which discards "ppc_machine" line. (ppc_tc): Cons for 8 when code is 64 bit. (md_apply_fix3): Don't check operand->insert. Handle 64 bit relocations. (md_parse_option): Handle -a64 and -a32. (ppc_xcoff64): New. * config/tc-ppc.h (TARGET_MACH): Define. (TARGET_FORMAT): Move to function. (SUB_SEGMENT_ALIGN): Use ppc_subseg_align. include: * include/coff/rs6k64.h: New file. opcodes: * configure.in: Add bfd_powerpc_64_arch. * disassemble.c (disassembler): Use print_insn_big_powerpc for 64 bit code.
2000-04-02 * app.c: Add ATTRIBUTE_UNUSED as needed.Ian Lance Taylor1-14/+14
* config/tc-ppc.c: Likewise. (ppc_size): Make unsigned long. (ppc_insert_operand): Add casts to avoid warnings.
2000-01-31* config/obj-coff.h (OBJ_COPY_SYMBOL_ATTRIBUTES): Don't define ifGeoffrey Keating1-4/+4
already defined. * config/tc-ppc.h [OBJ_XCOFF] (OBJ_COPY_SYMBOL_ATTRIBUTES): New macro. * config/tc-ppc.c (ppc_fix_adjustable): Don't look at the frag of a symbol when we really care about its value.
1999-08-17 * config/tc-ppc.c (md_assemble): Trim @ha constant to 16 bits, toIan Lance Taylor1-2/+3
handle 0xffffNNNN constants correctly.
1999-06-22 * config/obj-ecoff.c (obj_ecoff_set_ext): Change uses of bsym toIan Lance Taylor1-1/+2
use symbol_get_bfdsym instead. * config/tc-ppc.c (md_assemble): Likewise. * config/tc-v850.c (v850_comm): Likewise.
1999-06-19 * config/tc-ppc.c: Update for symbol handling changes.Ian Lance Taylor1-188/+206
* config/obj-coff.c: Likewise.
1999-06-05 * dwarf2dbg.c (dwarf2_gen_line_info): Mirror the section symbolRichard Henderson1-16/+12
creation logic from obj_elf_create_section. * config/obj-elf.c (elf_pseudo_tab): Add pushsection/popsection. (section_stack): New. (special_sections): Make const. (obj_elf_section): Gut and rewrite parsing. (obj_elf_change_section): New function broken out of obj_elf_section. (obj_elf_parse_section_letters): Likewise. (obj_elf_section_word): Likewise. (obj_elf_section_type): Likewise. (obj_elf_previous): Treat as a toggle. (obj_elf_popsection): New. * config/tc-ppc.c (ppc_section_word): Take str+len not ptr_str. (ppc_section_type): Likewise. * config/tc-ppc.h: Likewise. * expr.h (struct expressionS): Don't make X_op a bitfield. * config/tc-alpha.c: Update for symbol handling changes. (md_apply_fix) [case GPREL]: Use now_seg instead of absolute_section. (load_expression, emit_ir_load, emit_loadstore, emit_jsrjmp): Likewise.
1999-06-03 Add support for storing local symbols in a small structure to saveIan Lance Taylor1-6/+7
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-05-08 * config/tc-ppc.c (md_parse_option): Recognize -mppc64bridge.Richard Henderson1-3/+9
(md_begin): Allow ppc32 insns in ppc64bridge mode. (ppc_insert_operand): Accept SIGNOPT in ppc64 mode.
1999-05-0319990502 sourceware importbinu_ss_19990502Richard Henderson1-0/+5003