Commit Graph

851 Commits

Author SHA1 Message Date
Jakub Jelinek 891937bff4 * config/tc-sparc.c (md_apply_fix3): Handle relocs against SEC_MERGE
section symbols the same way as externs.
2001-09-07 22:41:03 +00:00
Thiemo Seufer 553178e47b Reallow unrestricted use of .set mipsX pseudo-op in gas.
Update testcases accordingly.
2001-09-07 05:54:12 +00:00
Thiemo Seufer cb56d3d327 * elf32-mips.c (mips_elf_calculate_relocation): Fix overflow handling
of R_MIPS_PC16.

	* config/tc-mips.c (append_insn): Handle BFD_RELOC_16_PCREL.
	(macro_build): Use BFD_RELOC_16_PCREL_S2 only for embedded
	PIC, BFD_RELOC_16_PCREL for the rest.
	(mips_ip): Likewise.
        (md_pcrel_from): return the right offset for the differently shifted
        pcrel relocs.
	(md_apply_fix): Handle BFD_RELOC_16_PCREL.

	* gas/mips/beq.d: Check branches to external labels.
	* gas/mips/beq.s: Likewise.
	* gas/mips/bge.d: Likewise.
	* gas/mips/bge.s: Likewise.
	* gas/mips/bgeu.d: Likewise.
	* gas/mips/bgeu.s: Likewise.
	* gas/mips/blt.d: Likewise.
	* gas/mips/blt.s: Likewise.
	* gas/mips/bltu.d: Likewise.
	* gas/mips/bltu.s: Likewise.
	* gas/mips/elempic.d: Switch from R_MIPS_GNU_REL16_S2 to R_MIPS_PC16.
	* gas/mips/empic.d: Likewise.
	* gas/mips/empic.s: Likewise.
	* gas/mips/telempic.d: Likewise.
	* gas/mips/tempic.d: Likewise.
2001-09-07 05:00:37 +00:00
Richard Henderson 3969b680c3 * config/tc-ia64.c (FUNC_IPLT_RELOC): New.
(pseudo_func): Add @iplt.
        (pseudo_opcode): Add data16 and data16.ua.
        (md_begin): Set iplt pseudo.
        (ia64_cons_fix_new): Handle 16 byte iplt reloc specially.
2001-09-05 20:20:37 +00:00
Richard Henderson 19f785835e * config/tc-alpha.c (struct alpha_insn): Make sequence scalar long.
(MACRO_LITERAL, MACRO_BASE, MACRO_BYTOFF, MACRO_JSR): Remove.
 	(alpha_macros): Remove occurrences of same.
 	(O_lituse_addr, O_gprel): New.
 	(DUMMY_RELOC_LITUSE_*): New.
 	(s_alpha_ucons, s_alpha_arch): Prototype.
 	(alpha_reloc_op): Construct elements via DEF macro.
 	(ALPHA_RELOC_SEQUENCE_OK): Remove.
 	(struct alpha_reloc_tag): Rename from alpha_literal_tag; rename
 	members to not be literal specific.
 	(next_sequence_num): New.
 	(md_apply_fix3): Cope with missing GPDISP_LO16.  Adjust for
 	added/removed BFD relocations.
 	(alpha_force_relocation, alpha_fix_adjustable): Likewise.
 	(alpha_adjust_symtab_relocs): Handle GPDISP relocs as well.
 	(tokenize_arguments): Parse ! relocations properly.
 	(find_macro_match): Delete unused macro argument types.
 	(assemble_insn): Add reloc parameter; emit that instead of the
 	default as appropriate.
 	(get_alpha_reloc_tag): New.  Split from ...
 	(emit_insn): ... here.  Allocate a reloc tag for GPDISP.
 	(assemble_tokens): Don't search macros if user relocation present.
 	Copy reloc sequence number to insn struct.
 	(emit_ldgp): Remove user reloc handling.
 	(load_expression, emit_lda, emit_ldah, emit_ir_load): Likewise.
 	(emit_loadstore, emit_ldXu, emit_ldil, emit_stX): Likewise.
 	(emit_sextX, emit_division, emit_jsrjmp, emit_retjcr): Likewise.
 	* config/tc-alpha.h (tc_adjust_symtab): Always define.
 	(struct alpha_fix_tag): Name members less literal specific.

 	* gas/alpha/alpha.exp: New file.
 	* gas/alpha/elf-reloc-1.[sd]: New test.
 	* gas/alpha/elf-reloc-2.[sl]: New test.
 	* gas/alpha/elf-reloc-3.[sl]: New test.
 	* gas/alpha/elf-reloc-4.[sd]: New test.
 	* gas/alpha/fp.exp: Remove file.
 	* gas/alpha/fp.s: Output to .data not .rdata.
 	* gas/alpha/fp.d: Adjust to match.
2001-09-05 02:39:43 +00:00
Jeff Law de342d07b9 * tc-h8300.c (tc_gen_reloc): Give an error if we try to take the
address of two symbols in different sections.
2001-09-05 02:01:08 +00:00
Jeff Law 3c1ba8a308 * config/tc-h8300.c (build_bytes): For OBJ_ELF, make relocation's
offset match H8 ELF spec.
        (md_section_align): Alternate implementation for BFD_ASSEMBLER.
        (md_apply_fix): Fix argument and return types for BFD_ASSEMBLER.
2001-08-31 22:43:55 +00:00
Eric Christopher 3c02b2abd6 2001-08-31 Eric Christopher <echristo@redhat.com>
Jason Eckhardt  <jle@redhat.com>

	* config/tc-mips.c (mips_cpu_info): Add support for mipsisa32,
	5kc, and 20kc.  Clean up old entries.
2001-08-31 21:06:40 +00:00
Jeff Law 36ed2fff06 * tc-h8300.c (relocation mappings): Remove. Moved to tc-h8300.h.
(build_bytes): Mark fixups for PCrel branches as signed.  For
        OBJ_ELF, make sure the reloc's offset points to the first byte
        to be modified.
        (md_convert_frag): Update definiton based on BFD_ASSEMBLER.
        * tc-h8300.h (relocation mappings): Add.
2001-08-31 17:43:52 +00:00
Jeff Law 5facebfccc Nuts. Checked in wrong version of previous patch. Fixed. 2001-08-30 20:38:35 +00:00
Jeff Law f333765ffd Thu Aug 30 12:05:13 2001 J"orn Rennecke <amylaar@redhat.com>
* tc-h8300.c (tc_crawl_symbol_chain, tc_headers_hook): Don't
        define for BFD_ASSEMBLER.
        (tc_reloc_mangle): Likewise.
        (tc_gen_reloc): New function for BFD_ASSEMBLER.
More of Joern's patches with minor changes s/OBJ_ELF/BFD_ASSEMBLER/
2001-08-30 20:15:06 +00:00
Jeff Law 7e0de7bf18 * tc-h8300.c: If OBJ_ELF, include elf/h8.h, and define
assorted coff relocations to the corresponding elf relocations.
        * tc-h8300.h (TARGET_ARCH, TARGET_FORMAT): Define appropriately.
More of Joern's patches.
2001-08-29 18:56:50 +00:00
Jeff Law 83e20b45a3 * config/tc-h8300.c (h8300hmode): Record the machine type
if BFD_ASSEMBLER is defined.
	(h8300smode, md_begin): Similarly.
2001-08-29 18:50:56 +00:00
Thiemo Seufer 7283eb8605 * tc_mips.c (load_address): Reflect change to MAX_GPREL_OFFSET.
(macro): Reflect change to MAX_GPREL_OFFSET.
2001-08-27 18:48:27 +00:00
Alan Modra 0baf16f23c * configure.in: Recognise powerpc*le*, not just powerpcle*.
* 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-27 10:42:16 +00:00
Andreas Jaeger 9d654c1ca4 * config/tc-s390.c: Add missing prototypes
(md_gather_operands): Make static.
2001-08-26 11:44:51 +00:00
Thiemo Seufer e7d556dfef * tc_mips.h (MAX_GPREL_OFFSET): Change it to the maximum allowed
value, not the word beyond maximum.
	* tc_mips.c (macro_build_lui): Code cleanup.
	(macro): Reflect change to MAX_GPREL_OFFSET.
	(mips_ip): Check explicitly against S_EX_NONE.
	(my_get_SmallExpression): parse for %gp_rel, not %gprel.
	(md_apply_fix): Code cleanup.
2001-08-26 10:42:12 +00:00
Andreas Jaeger 34f63668bf * config/tc-ppc.h: Fix prototype declaration. 2001-08-24 19:18:45 +00:00
Jakub Jelinek c538998c23 * config/tc-ia64.c (dot_endp): Set function symbol sizes.
* config/obj-elf.c (obj_elf_size): When size is constant, free
	and clear symbol_get_obj(sym)->size if any.
2001-08-23 20:43:01 +00:00
Thiemo Seufer 1ff54a84b4 * tc_mips.c (md_begin): Warn about incompatibility between -march=FOO
and -mipsN option, continue with default ISA.
2001-08-21 01:13:05 +00:00
Thiemo Seufer a6bacc8047 * config/tc-mips.c (md_parse_option): #ifdef the
traditional/non-traditional names as it is done in mips_target_format.
2001-08-21 00:59:48 +00:00
Richard Henderson ca3f769514 * config/tc-alpha.h (MD_APPLY_FIX3): Define.
* config/tc-alpha.c (md_apply_fix3): Rename from md_apply_fix;
        use seg parameter instead of now_seg.
2001-08-21 00:22:23 +00:00
H.J. Lu e87a02842a 2001-08-18 H.J. Lu <hjl@gnu.org>
* config/tc-mips.c (show): Add the missing prototype.
2001-08-18 18:03:24 +00:00
Thiemo Seufer fb1b323293 * config/tc-mips.c (S_EX_*): New enum for my_getSmallExpression()
return values.
	(mips_ip): Use the new return values instead of characters. Add
	support for %higher and %highest.
	(LP): Remove.
	(RP): Remove.
	(my_getSmallExpression): Make parsing case insensitive and more
	reliable. Add support for %higher and %highest. Further support	to
	parse %gprel and %neg is implemented but currently deactivated.
2001-08-18 17:24:52 +00:00
Thiemo Seufer be00bdddad Set MIPS n32 ABI flag in ELF header if appropriate. 2001-08-16 21:48:28 +00:00
Thiemo Seufer 07ae3efa01 Remove obsolete special handling of 64bit Relocations. 2001-08-16 15:12:09 +00:00
Nick Clifton 5d430f8ba5 Add missing prototypes 2001-08-13 11:05:29 +00:00
Andreas Jaeger 198ce79b6b * config/tc-s390.c (s390_elf_cons): Correct fixups for PLT
relocations.
2001-08-13 08:03:52 +00:00
Nick Clifton 4ffadb11c8 Fix behaviour of unaligned data directives 2001-08-12 08:47:02 +00:00
Kazu Hirata f72c8c98df * config/tc-mips.c: Fix a comment typo. 2001-08-11 15:15:15 +00:00
Richard Sandiford ea1fb5dc3b * config/tc-mips.c (move_register): New function.
(macro_build): Remove OPCODE_IS_MEMBER's gp32 argument.
	(mips_ip): Likewise.
	(macro2): Use move_register rather than macro_build for moves.
	(mips16_macro): Likewise.
	(macro): Likewise.  Handle M_MOVE.
2001-08-10 16:24:32 +00:00
Alan Modra 11b37b7b84 Revert 2001-08-08 changes. 2001-08-10 01:34:47 +00:00
Alan Modra 8d28c9d7be * symbols.c: Add missing prototypes.
* config/e-i386elf.c: Likewise.
	* config/e-i386coff.c: Likewise.
	* config/e-i386aout.c: Likewise.
	* config/obj-coff.c: Likewise.
	(def_symbol_in_progress, stack): Move definition.
	* config/obj-elf.c: Add missing prototypes.
	(obj_elf_change_section): Make static.
	(obj_elf_parse_section_letters): Likewise.
	(obj_elf_section_word): Likewise.
	(obj_elf_section_type): Likewise.
2001-08-09 14:42:07 +00:00
Alan Modra fce3099f60 * config/tc-ppc.c (md_apply_fix3): Replace haphazard code for
determining reloc type with code reading operands->reloc field.
2001-08-08 13:23:07 +00:00
Alan Modra 8fd3e36b84 * config/obj-elf.c (elf_copy_symbol_attributes): Make it a global
function, and expand old obj-elf.h OBJ_COPY_SYMBOL_ATTRIBUTES here.
	* config/obj-elf.h (elf_copy_symbol_attributes): Declare.
	(OBJ_COPY_SYMBOL_ATTRIBUTES): Call elf_copy_symbol_attributes.
2001-08-08 13:11:58 +00:00
Thiemo Seufer 38487616e6 Replace a bunch of magic constants in tc-mips.c with their proper
defines from mips.h.
2001-08-07 13:22:46 +00:00
Thiemo Seufer 9a41af6410 Some formatting fixes and assorted cleanup in tc-mips.c. 2001-08-07 13:15:26 +00:00
Thiemo Seufer 6dce9e24b3 * config/tc-mips.c (md_begin): Take -mcpu value into account even when
-mipsX is specified. Make both -mcpu/-march and -mcpu/-mtune pairs
	mutually exclusive (if they are different).
	(md_parse_option): Warn if an -march/-mtune/-mcpu/-m<cpu> option is
	set more than once.
2001-08-07 12:46:22 +00:00
Richard Sandiford 236bd878b5 * config/tc-mips.c (md_apply_fix): Don't subtract the symbol value
from GPREL addends.
2001-08-03 18:33:34 +00:00
Richard Sandiford ca4e0257d1 * doc/c-mips.tex (-mgp32, -mfp32): Added -mfp32, unified with -mgp32.
* config/tc-mips.c (mips_fp32, mips_32bit_abi): New static variables.
	(md_long_opts): Add -mfp32 option.
	(md_parse_option): Handle it.  Set mips_32bit_abi given -mabi=32.
	(md_show_usage): Show usage for -mfp32 and -mgp32.
	(HAVE_32BIT_GPRS, HAVE_32BIT_FPRS): New macros.
	(HAVE_64BIT_GPRS, HAVE_64BIT_FPRS): New macros, inverse of the above.
	(HAVE_32BIT_ADDRESSES): New macro.
	(load_register): Use HAVE_32BIT_GPRS to determine the register width.
	(load_address): Use HAVE_32BIT_ADDRESSES to determine the address size.
	(s_cprestore, s_cpadd): Likewise.
	(macro): Use HAVE_32BIT_GPRS to determine the width of registers
	used in branch and M_LI_D macros.  Use HAVE_64BIT_FPRS to determine
	the width registers used in M_LI_DD macros.  Use HAVE_32BIT_ADDRESSES
	to determine the width of addresses in load, store and jump macros.
	(macro2): Use HAVE_32BIT_GPRS to determine the width of registers
	used in set instructions; do not check the address size for them.
	Use HAVE_32BIT_ADDRESSES to determine the width of addresses in
	unaligned load and store macros.
	(mips_ip): Use the new macros to check the width of a register when
	processing float constants.  Force a constant into memory if it is
	destined for an FPR and the FPRs are wider than the GPRs.  Warn about
	odd FPR numbers if HAVE_32BIT_FPRS.  Use HAVE_32BIT_GPRS rather
	than mips_gp32 to select synthetic instructions.
	(macro_build): Use HAVE_32BIT_GPRS rather than mips_gp32 to select
	synthetic instructions.
2001-08-02 10:15:24 +00:00
Nick Clifton 28bab82b5a Cleanups for z8k target 2001-08-01 15:39:17 +00:00
Alan Modra 28f815927f * config/tc-i386.c (lex_got): Match lower case relocation tokens.
Don't allocate more space than necessary for the input line copy.
2001-08-01 02:27:11 +00:00
Geoffrey Keating e138127ab2 * config/tc-ppc.c (ppc_elf_validate_fix): It's OK to have
any kind of relocation against a not-loaded section.
2001-07-31 19:24:57 +00:00
Alan Modra 468cced8b9 * config/obj-elf.c (obj_elf_symver): Temporarily modify lex_type
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-30 06:15:49 +00:00
Stephane Carrez 13283e2df1 * config/tc-m68hc11.c (md_estimate_size_before_relax): Fix bsr
and bra relax: update fragP->fr_fix after the fixup.
2001-07-28 19:28:04 +00:00
H.J. Lu 46bac6de18 2001-07-25 H.J. Lu <hjl@gnu.org>
* config/tc-mips.c (md_estimate_size_before_relax): Make sure
	we treat weak like extern only for ELF.
	(mips_fix_adjustable): Make sure we don't adjust extern/weak
	symbols only for ELF.
2001-07-25 22:27:46 +00:00
Chris Demetriou 2f4dcb115b 2001-07-25 Chris Demetriou <cgd@broadcom.com>
* config/tc-mips.c: Fix spelling error in comment.
2001-07-25 20:34:39 +00:00
Kazu Hirata 0772685173 * config/tc-alpha.h: Fix formatting.
* config/tc-arc.c: Likewise.
	* config/tc-d10v.h: Likewise.
	* config/tc-hppa.c: Likewise.
	* config/tc-i370.c: Likewise.
	* config/tc-i386.h: Likewise.
	* config/tc-i960.h: Likewise.
	* config/tc-ia64.c: Likewise.
	* config/tc-ia64.h: Likewise.
	* config/tc-m32r.c: Likewise.
	* config/tc-m68k.c: Likewise.
	* config/tc-m88k.c: Likewise.
	* config/tc-ns32k.c: Likewise.
	* config/tc-pdp11.c: Likewise.
	* config/tc-pj.h: Likewise.
	* config/tc-s390.c: Likewise.
	* config/tc-sparc.c: Likewise.
	* config/tc-sparc.h: Likewise.
	* config/tc-tic80.c: Likewise.
	* config/tc-w65.h: Likewise.
2001-07-23 14:02:13 +00:00
Alan Modra ac62c3468d * symbols.c (S_GET_VALUE): Don't treat O_constant and local
symbols specially.  Always resolve, adding fr_address to value.
	* write.c (write_object_file): Don't add fr_address to sym values.
	(relax_frag): Likewise.
	(relax_segment): Likewise.
	* config/obj-ieee.c (do_symbols): Likewise.
	* config/tc-cris.c (md_convert_frag): Likewise.
	* config/tc-fr30.c (md_convert_frag): Likewise.
	* config/tc-i386.c (md_convert_frag): Likewise.
	* config/tc-m32r.c (md_convert_frag): Likewise.
	* config/tc-m68hc11.c (md_convert_frag): Likewise.
	* config/tc-mcore.c (md_convert_frag): Likewise.
	* config/tc-mips.c (mips16_extended_frag): Likewise.
	* config/tc-ns32k.c (md_convert_frag): Likewise.
	* config/tc-m68k.c (md_convert_frag_1): Likewise.
	(BRANCHBWL, BRABSJUNC, BRABSJCOND, BRANCHBW, FBRANCH, DBCCLBR,
	DBCCABSJ, PCREL1632, PCINDEX, ABSTOPCREL): Decrement.
	(md_relax_table): Remove first four entries.  Format.
	(md_estimate_size_before_relax): Remove old_fix.  Don't bother
	setting fr_var.  Simplify byte branch checks.
2001-07-23 13:03:40 +00:00
Alan Modra 677537c186 * config/tc-hppa.c (pa_parse_nonneg_cmpsub_cmpltr): Remove
"isbranch" param as all calls have it set.
	(pa_parse_neg_cmpsub_cmpltr): Likewise.
	(pa_parse_nonneg_add_cmpltr): Likewise.  Remember result of
	strcasecmp in "nullify" var.
	(pa_parse_neg_add_cmpltr): Likewise.
	(pa_ip): Don't "save_s" unnecessarily.  Update calls to above
	functions.  Don't print wrong conditions in error messages.
2001-07-23 12:50:22 +00:00
Andreas Jaeger c745b67a33 * config/tc-s390.c (s390_force_relocation): Removed.
* config/tc-s390.h: Remove double declaration of
	TC_FORCE_RELOCATION.
2001-07-23 10:21:22 +00:00
H.J. Lu 2b3c5a5dc1 2001-07-22 H.J. Lu <hjl@gnu.org>
* config/tc-mips.c (s_mips_end): Remove unused variables.
	(s_mips_frame): Add ATTRIBUTE_UNUSED.
2001-07-22 18:11:29 +00:00
Andreas Schwab f27a38390b * config/tc-m68k.c (md_pseudo_table) [OBJ_ELF]: Add .file and
.loc.
	(md_assemble) [OBJ_ELF]: Call dwarf2_emit_insn before emitting
	insn.
	* config/tc-m68k.h (DWARF2_LINE_MIN_INSN_LENGTH): Define.
2001-07-18 10:25:58 +00:00
Matthew Green 5bae9b28a0 * config/tc-i386.c (comment_chars): Don't use '/' as comment start if
TE_NetBSD.
	(line_comment_chars): Set to '/' if TE_NetBSD.
2001-07-17 09:57:52 +00:00
John Healy cdbb0887ba *** empty log message *** 2001-07-11 19:35:17 +00:00
Nick Clifton bdbe95c8c5 Don't merge if the storage class of the non-debug symbol is C_NULL. 2001-07-11 09:26:27 +00:00
John Healy 07e97ae2e3 2001-07-10 John Healy <jhealy@redhat.com>
* config/obj-elf.c (obj_elf_section): md_elf_section_change_data_hook
	added to grab section information after it's been extracted from the
	.section directive.
2001-07-10 21:49:11 +00:00
John Healy 002de68b31 2001-07-06 John Healy <jhealy@redhat.com>
* cgen.c (gas_cgen_save_fixups): Modified to allow more than one
        set of fixups to be stored.
        (gas_cgen_restore_fixups): Modified to allow the fixup chain to be
        restored to be chosen from any that are saved.
        (gas_cgen_swap_fixups): Modified to allow the current set of
        fixups to be swapped with any other set that has been saved.
        (gas_cgen_initialize_saved_fixups_array): New routine.
        * cgen.h: Modifed prototypes for gas_cgen_save_fixups,
        gas_cgen_restore_fixups, and gas_cgen_swap_fixups.  Added definitions
        or MAX_SAVED_FIXUP_CHAINS.
        * config/tc-m32r.c (assemble_two_insns): Changed calls to fixup
        store, swap and restore fuctions to reflect the new interface.
2001-07-06 19:09:23 +00:00
Nick Clifton 7099f9f917 Catch and ignore empty, ineffectual alignment frags when deciding if a
branch can be short.
2001-07-06 08:21:35 +00:00
Jim Wilson 557debbaef 32-bit unwind data for ia64-hpux, from Steve Ellcey
* config/tc-ia64.c (special_section): Add SPECIAL_SECTION_INIT_ARRAY
	and SPECIAL_SECTION_FINI_ARRAY.
	(special_section_name): Add .init_array and .fini_array.
	(md_pseudo_table): Add init_array and fini_array.
	(md): Add pointer_size and pointer_size_shift fields.
	(setup_unwind_header): New static function.
	(output_unw_records): Modify to use setup_unwind_header.
	(generate_unwind_image, dot_endp): Modify to use md.pointer_size and
	md.pointer_size_shift.
	(md_begin): Initialize md.pointer_size and md.pointer_size_shift.
2001-07-06 07:32:42 +00:00
Ben Elliston 4ad0936356 2001-07-05 Ben Elliston <bje@redhat.com>
* config/tc-m88k.c (md_pseudo_table): Remove redundant "global".
2001-07-05 07:28:06 +00:00
Jim Wilson 87885043df Fix ia64-linux gas ehopt testsuite failure.
* config/tc-ia64.c (md_pseudo_table): Add 2byte, 4byte, and 8byte.
2001-07-05 03:34:42 +00:00
Jim Wilson 3e37788f8d Fix 2 ia64-linux gas testsuite failures.
* config/tc-ia64.c (is_conditional_branch): Rewrite to exclude mod
	sched branches.
2001-07-05 02:30:21 +00:00
Eric Christopher 18ae5d728b 2001-07-04 Eric Christopher <echristo@redhat.com>
* doc/c-mips.texi (MIPS Opts): Document 12000 as valid cpu.

	* config/tc-mips.c (mips_cpu_info_table): Add rm5200, rm5231, rm5261,
	and rm5721 as valid cpu strings.
	(md_show_usage): Add rm5200, rm5231, rm5261, rm5721.
2001-07-04 12:32:07 +00:00
Richard Sandiford 7461da6e23 [gas]
* config/tc-mips.c (md_apply_fix): Prevent addend from becoming zero
	if it's expected to be non-zero.
[gas/testsuite]
	* gas/mips/elf-rel3.s: Add zero word to end of file.
2001-07-04 09:49:29 +00:00
Nick Clifton 7bcad3e505 Fix seg fault by replacing symbol_get_frag() with fscan->fx_frag. 2001-07-03 15:22:19 +00:00
Alan Modra 99a814a1cc * config/tc-ppc.c: Formatting fixes. 2001-07-02 10:54:49 +00:00
Ben Elliston bd59b34f1e 2001-07-01 Ben Elliston <bje@redhat.com>
* config/tc-m88k.c: Back out warning fixes from 2001-06-24, as
	they cause some subtle breakage.  Will fix them again later.
2001-07-01 06:36:43 +00:00
Nick Clifton e237d851a4 Treat a .ln directive outside of a function as a .appline directive. 2001-06-30 10:09:40 +00:00
Eric Christopher ec68c924f0 2001-06-28 Eric Christopher <echristo@redhat.com>
H.J. Lu  <hjl@gnu.org>

        * config/tc-mips.c (mips_arch): New. Use mips_arch instead
        of mips_cpu for the ISA selection.
        (md_longopts): Add OPTION_MARCH and OPTION_MTUNE.
        (md_parse_option): Handle OPTION_MARCH and OPTION_MTUNE.
	(mips_tune): New.  Use mips_tune for scheduling and optimization
	issues.
	(append_insn): Use mips_tune and mips_arch.
	(macro_build): Ditto.
	(mips_ip): Ditto.
	(md_begin): Handle mips_arch, mips_tune and mips_cpu.  For
	backwards compatability mips_cpu generates arch and tune.
	(md_show_usage): Document new behavior.

	* doc/c-mips.texi (MIPS Opts): Document -march and -mtune.
	Deprecate -mcpu.

	* NEWS: Update.

2001-06-28  Eric Christopher  <echristo@redhat.com>

	* gas/mips/usd.d: Change for march/mtune.
	* gas/mips/ulh-xgot.d: Ditto.
	* gas/mips/uld.d: Ditto.
	* gas/mips/trunc.d: Ditto.
	* gas/mips/rol.d: Ditto.
	* gas/mips/nodelay.d: Ditto.
	* gas/mips/mul.d: Ditto.
	* gas/mips/mul-ilocks.d: Ditto.
	* gas/mips/trap20.d: Ditto.
	* gas/mips/mips4.d: Ditto.
	* gas/mips/mips16.d: Ditto.
	* gas/mips/lif-xgot.d: Ditto.
	* gas/mips/lif-svr4pic.d: Ditto.
	* gas/mips/ld-xgot.d: Ditto.
	* gas/mips/ld-svr4pic.d: Ditto.
	* gas/mips/ld-ilocks-addr32.d: Ditto.
	* gas/mips/lb-xgot.d: Ditto.
	* gas/mips/jal-xgot.d: Ditto.
	* gas/mips/jal-svr4pic.d: Ditto.
	* gas/mips/delay.d: Ditto.
	* gas/mips/lb-xgot-ilocks.d: Ditto.
	* gas/mips/div.d: Ditto.
	* gas/mips/break20.d: Ditto.
	* gas/mips/delay.d: Ditto.
	* gas/mips/elf_e_flags3.d: Ditto.
	* gas/mips/elf_e_flags4.d: Ditto.
	* gas/mips/lineno.d: Ditto.
	* gas/mips/mips16.d: Ditto.
	* gas/mips/mips4.d: Ditto.
	* gas/mips/mips4010.d: Ditto.
	* gas/mips/mips4650.d: Ditto.
2001-06-29 21:27:43 +00:00
Nick Clifton d827344236 Use MVN to build simple inverted constants. 2001-06-27 08:15:52 +00:00
Jakub Jelinek 6f112c47dc * config/tc-alpha.c (tc_gen_reloc): Handle relocs against SEC_MERGE
section symbols the same way as externs.
2001-06-24 16:43:31 +00:00
Ben Elliston 453520d7ad 2001-06-24 Ben Elliston <bje@redhat.com>
* config/tc-m88k.c (md_number_to_imm): Remove; unused since 1993.
	(emit_relocations): Ditto.
	(s_bss): Ditto.
	(md_begin): Reformat comments to conform to the GNU standards.
	(md_assemble): Ditto.
2001-06-24 06:01:49 +00:00
Ben Elliston e21e484e83 * fixes to silence all compiler warnings.
2001-06-24  Ben Elliston  <bje@redhat.com>

	* config/tc-m88k.c (get_reg): Adjust type of `reg_prefix' to char.
	(md_parse_option): Mark parameters as unused.
	(md_show_usage): Ditto.
	(calcop): Adjust type of `reg_prefix' to char.
	(get_reg): Ditto.
	(getval): Adjust type of local `c' to char.
	(md_create_short_jump): Mark from_addr, to_addr params as unused.
	(md_create_long_jump): Ditto.
	(md_estimate_size_before_relax): Mark parameters as unused.
2001-06-24 01:56:48 +00:00
Ben Elliston a181d81e0c 2001-06-24 Ben Elliston <bje@redhat.com>
* config/tc-m88k.c (md_pseudo_table): Properly terminate the table
	to allay a possible compiler warning.
2001-06-23 23:02:57 +00:00
Nick Clifton 8be31359fc Add %mrp (millicode return pointer) alias for %r2 or %r31, depending on 32 or
64 bit architecture.
2001-06-22 08:17:57 +00:00
Nick Clifton 1cac90122e Allow adrCCl. [Patch from Phillip BLundel]
Updated ARM tests.
2001-06-21 19:46:54 +00:00
Alan Modra b091f402a9 * config/tc-hppa.c (CHECK_FIELD_WHERE): Define.
(md_apply_fix): Use it here.  Replace printf with equivalent
	as_bad_where.
	(tc_gen_reloc): Use as_bad_where instead of as_bad.
	(md_apply_fix): Here too.
	* config/tc-i386.c (tc_gen_reloc): Use as_bad_where instead of as_bad.
	* config/tc-m68k.c (tc_gen_reloc): Likewise.
	(md_convert_frag_1): Likewise.
2001-06-21 06:12:11 +00:00
Tom Rix 1ad63b2f00 Fix for problem with default alignment of .comm 2001-06-20 13:34:10 +00:00
Nick Clifton b99bd4efbd Restore file accidentally deleted during man page cleanup 2001-06-19 16:26:43 +00:00
Nick Clifton c45021f2d2 Remove auot generated man pages 2001-06-19 11:57:29 +00:00
Phil Blundell 2172d73b21 2001-06-18 Philip Blundell <philb@gnu.org>
* config/tc-arm.c (do_msr): Remove restriction on usage of
	immediate operands.
2001-06-19 07:33:21 +00:00
Phil Blundell 0b317b0807 2001-06-13 Philip Blundell <philb@gnu.org>
* config/tc-arm.c (thumb_shift): Improve wording of error message.
	(do_t_arit): Likewise.
2001-06-14 07:58:12 +00:00
Nick Clifton 2bc0a1288f Stop sh-coff port from trying to call dwarf2 debug functions 2001-06-13 16:46:05 +00:00
Nick Clifton e1f44d1052 Fix m68k/mri mode problems. 2001-06-12 10:35:24 +00:00
Nick Clifton 3971ce954f fix test for overlflow of literal pool 2001-06-12 08:27:53 +00:00
H.J. Lu 63486801dd 2001-06-11 H.J. Lu <hjl@gnu.org>
* NEWS: Updated for the new -n option for the MIPS assembler.

	* config/tc-mips.c (md_show_usage): Add -n.

	* doc/as.texinfo: Document the new -n option.
	* doc/c-mips.texi: Likewise.
	* doc/as.1: Regenerated.
2001-06-11 20:40:36 +00:00
Alan Modra 5dd0794dca Branch hints for Pentium4 as insn modifiers, and some minor tweaks
to formatting.
2001-06-10 14:07:12 +00:00
H.J. Lu 39c0a33100 2001-06-08 H.J. Lu <hjl@gnu.org>
* config/tc-mips.c (warn_nops): New variable. Set to 0 to
	disable warning about all NOPS that the assembler generates.
	(macro): Warn NOPS generated only if warn_nops is not 0.
	(md_shortopts): Add `n'.
	(md_parse_option): Set warn_nops to 1 for `n'.
2001-06-09 05:24:39 +00:00
H.J. Lu 268f6bed84 2001-06-08 H.J. Lu <hjl@gnu.org>
* config/tc-mips.c (mips_ip): Properly handle illegal operands.
2001-06-09 05:01:29 +00:00
H.J. Lu ea4ff978a2 2001-06-08 H.J. Lu <hjl@gnu.org>
* config/tc-mips.c (md_apply_fix): Don't adjust common
	extern/weak symbols for ELF.
	(md_estimate_size_before_relax): Treat weak like extern for
	ELF.
	(mips_fix_adjustable): Don't adjust extern/weak symbols for
	ELF.
2001-06-09 03:28:04 +00:00
Alan Modra 98aa84af0e * Makefile.am: 'som' is not wrongly spelled 'some'.
* Makefile.in: Regenerate.

	* config/tc-mips.c (mips16_mark_labels): Reduce number of calls to
	S_GET_VALUE by using a temp.
	(append_insn): Likewise, and for S_GET_VALUE too.
	(mips_emit_delays): Likewise.
	(my_getExpression): Likewise.
	(md_apply_fix): Likewise.  Use "valueT" rather than "long" for "value".
	(mips16_extended_frag): Remove code concerned with avoiding
	locking in a frag address now that symbols are not finalized until
	relaxation is complete.  Cater for first relaxation pass having
	bogus addresses.  Use relax_marker to reliably determine whether a
	symbol frag has been reached on the current pass.
2001-06-08 06:07:13 +00:00
H.J. Lu add565213d 2001-06-07 H.J. Lu <hjl@gnu.org>
* config/tc-mips.c (mips_pseudo_table): Add "extern" if
	MIPS_STABS_ELF is defined.
2001-06-07 16:52:19 +00:00
Nick Clifton 879db8be1a Remove warnings building z8k port.
Fix ld -r behaviour
2001-06-06 17:01:35 +00:00
Nick Clifton 98b3248268 correct some 68k/ColdFire problems 2001-06-06 14:28:00 +00:00
Alan Modra d6767af842 * config/tc-s390.h (TC_FORCE_RELOCATION): Always emit relocations
BFD_RELOC_VTABLE_INHERIT and BFD_RELOC_VTABLE_ENTRY.
2001-06-06 12:06:56 +00:00
Alan Modra cb9401fc47 * config/tc-i386.c (md_assemble): Handle Pentium4 branch hints.
<JumpByte, JumpDword insn output>: Remove dead code.
2001-06-06 10:23:39 +00:00
Tom Rix 41ea10b134 formatting change 2001-05-29 14:53:22 +00:00
Nick Clifton 0f2712edc9 Add support for .uahword, .uaword and .uaxword pseudo ops 2001-05-28 09:23:54 +00:00
Alan Modra fbe572f93e * config/tc-m68k.c (md_assemble): Ensure variable part of frag is
allocated in the same chunk as the fixed part.
2001-05-27 11:57:25 +00:00
Alan Modra 1cd55018a6 * config/obj-ieee.c (write_object_file): Set finalize_syms.
* config/obj-coff.c (write_object_file): Likewise.
	* (size_section): Remove rs_space assert as fr_symbol is no longer
	removed.
	(fill_section): Likewise.
2001-05-25 09:40:12 +00:00
Alan Modra b58c9faf2f From 2.11 branch 2001-03-30 Richard Henderson <rth@redhat.com>
* config/tc-i386.c (md_convert_frag): Don't die on local symbols
	that have been finalized.
2001-05-24 23:52:22 +00:00
Tom Rix 6877bb43e5 Fix for gas seg fault and neg line numbers 2001-05-24 21:39:09 +00:00
Nick Clifton d1cf510e5e Add MIPS r12k support 2001-05-23 17:26:40 +00:00
Alan Modra 2d0441d962 * config/tc-arc.c (md_assemble): Use is_end_of_line instead of
testing for NULs.
2001-05-22 11:03:35 +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
Alan Modra c801568a3a * config/tc-m68k.c (relaxable_symbol): Only treat external symbols
as relaxable if embedded system, make weak syms non-relaxable.
	Move definition..
	(tc_m68k_fix_adjustable): ..so it can be used here.
	(md_apply_fix_2): Sign extend without conditional.
2001-05-22 09:01:55 +00:00
Alan Modra 507c8a1a57 Update copyright date. 2001-05-22 08:41:10 +00:00
Alexandre Oliva 7e8f410030 * config/tc-mn10300.c (mn10300_force_relocation): Don't
optimize differences between symbols in code sections to
constants.
(mn10300_fix_adjustable): Don't adjust to section+offset
relocations pointing at symbols in code sections.
2001-05-16 01:48:51 +00:00
Alan Modra 9fcc94b611 Fix dwarf2_emit_insn calls when frag_var breaks things.
Put back an old entry in ChangeLog-9899, deleted when ChangeLog split.
2001-05-16 01:08:21 +00:00
Alexandre Oliva 076dc439b8 * config/tc-mn10300.c (md_assemble): Anchor dwarf2 line info
before a relaxable insns.
2001-05-14 20:01:12 +00:00
Alexandre Oliva 4e75439ae5 * config/tc-mn10300.c (tc_gen_reloc): Don't reject differences
between symbols if the base symbol is in the current section;
emit a PC-relative relocation instead.
2001-05-13 23:16:30 +00:00
Alan Modra bcee8eb8ca Peter Targett's backwards compatibility and other arc fixes. 2001-05-12 15:14:53 +00:00
Jakub Jelinek 579f31ac74 * elfxx-ia64.c (is_unwind_section_name): Consider linkonce unwind
sections as well.
	(elfNN_ia64_final_write_processing): Map .gnu.linkonce.ia64unw.FOO
	to .gnu.linkonce.t.FOO text section.

	* readelf.c (process_unwind): Print all unwind sections, not just
	one.

	* config/tc-ia64.c (special_linkonce_name): New.
	(make_unw_section): Map .gnu.linkonce.t.FOO text section into
	.gnu.linkonce.ia64unw{,i}.FOO.
	(ia64_elf_section_type): Handle .gnu.linkonce.ia64unw{,i}.FOO.
	(dot_endp): Add comment about it.

	* elf/ia64.h (ELF_STRING_ia64_unwind_once): Define.
	(ELF_STRING_ia64_unwind_info_once): Define.

	* emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Put
	.gnu.linkonce.ia64unw{,i} sections into corresponding .IA_64.unwind*
	output sections.
	* emulparams/elf64_aix.sh (OTHER_READONLY_SECTIONS): Likewise.
2001-05-11 12:36:47 +00:00
Nick Clifton 15f65ae412 When truncating an aligned block, ensure that the low order bits of the
alignment are preserved.
2001-05-11 10:01:41 +00:00
Alan Modra 606ab118ba Fix more fallout from multi-pass relaxation patch. 2001-05-10 11:32:52 +00:00
Richard Henderson 1f23ade4f4 * config/tc-ia64.c (generate_unwind_image): Align the fragment
beginning a function's unwind info block.
2001-05-10 00:18:19 +00:00
Alexandre Oliva 96f37af640 * config/tc-mn10300.c (md_apply_fix3): Accept PC-relative relocs. 2001-05-09 13:32:01 +00:00
Andreas Schwab 8390138c6b * config/tc-m68k.c: Instead of replacing -1 by 64 in assignment to
fx_pcrel_adjust explicitly sign extend when reading it.
2001-05-08 18:03:27 +00:00
Alan Modra 5c65dbc1ca More fallout from 2001-03-30 changes.
* config/tc-m68k.c (md_estimate_size_before_relax): Set fr_var
	from md_relax_table, and combine some switch cases.
2001-05-08 13:13:56 +00:00
Alexandre Oliva a7c92daeed * config/tc-mn10300.c (md_assemble): Subtract operand->shift
from offset in non-pcrel operands too.
2001-05-06 20:05:28 +00:00
Nick Clifton d8708f403e Do not insert more than MAX_MEM_FOR_RS_ALIGN_CODE bytes. 2001-05-06 10:11:33 +00:00
Alan Modra 3438adb37d Warning fixes and configure/makefile tweaks by Thiemo Seufer. 2001-05-03 02:07:02 +00:00
Alan Modra 636c26b044 * config/tc-i386.c (i386_displacement): Call as_bad for bad GOTOFF
expressions rather than triggering an assert.
2001-05-03 01:08:44 +00:00
Nick Clifton 6e1e737c86 Fix indentation and parenthesis 2001-05-02 18:40:10 +00:00
Nick Clifton c7e4034828 Add gas and ld support for openrisc 2001-05-02 18:14:31 +00:00
Nick Clifton 5cb1517bba imprrove error message 2001-05-02 11:33:12 +00:00
H.J. Lu f4ddc5e633 2001-04-29 Keith M Wesolowski <wesolows@foobazco.org>
* config/tc-mips.c (md_parse_option): Also accept
	elf64-tradbigmips and elf64-tradlittlemips for OPTION_64.
2001-04-29 17:58:39 +00:00
H.J. Lu fa7fda74e9 2001-04-27 David Mosberger <davidm@hpl.hp.com>
* config/tc-ia64.c (dot_spillmem_p): Fix output_spill_?sprel_p()
	argument passing order: predicate goes last, not first.
2001-04-27 20:42:55 +00:00
Nick Clifton 16a0c2d4ec Add ability to pad code alignment frags with no-ops. 2001-04-26 15:19:21 +00:00
Nick Clifton ea3b9044a6 Check to see if the filename symbol has been initialised before extracting
its symbol index.
2001-04-25 09:11:31 +00:00
Nick Clifton 6840198f93 z8k fixes 2001-04-24 15:22:25 +00:00
Jason Eckhardt 1c97d17b13 2000-04-20 Jason Eckhardt <jle@redhat.com>
* config/tc-d10v.h (tc_frob_label): Update the symbol's frag
	since frag_now can change after d10v_cleanup is called.
2001-04-20 23:38:37 +00:00
Alexandre Oliva eb0dfd58c8 * config/tc-mn10300.c (md_assemble): Simplify offset adjustment of
pc-relative relocations not placed at the end of the instruction.
2001-04-14 06:53:57 +00:00
Jim Wilson 1deb8127a2 Fix latent bug exposed by a gcc-3 bug fix.
* tc-ia64.c (is_conditional_branch): Return true for br, brl, and br.
	excluding br.i.
2001-04-14 03:51:40 +00:00
Jakub Jelinek f5fa8ca231 bfd/
* libbfd-in.h (_bfd_merge_section): New.
	(_bfd_write_merged_section): New.
	(_bfd_merged_section_offset): New.
	* libbfd.h: Rebuilt.
	* linker.c (_bfd_generic_link_output_symbols): Handle
	discard_sec_merge.
	* aoutx.h (aout_link_write_symbols): Likewise.
	* pdp11.c (aout_link_write_symbols): Likewise.
	* elflink.h (elf_link_add_object_symbols): Call _bfd_merge_section.
	(elf_bfd_final_link): Adjust global symbols pointing into SEC_MERGE
	sections.
	(elf_link_sec_merge_syms): New.
	(elf_link_input_bfd): Call _bfd_merged_section_offset
	and _bfd_write_merged_section.
	Handle discard_sec_merge.
	* elf-bfd.h (struct elf_link_hash_table): Add merge_info
	field.
	(struct bfd_elf_section_data): Likewise.
	* elf.c (_bfd_elf_make_section_from_shdr): Set SEC_MERGE and
	SEC_STRINGS section flags and entsize from their ELF counterparts.
	(_bfd_elf_link_hash_table_init): Initialize merge_info.
	(elf_fake_sections): Set SHF_MERGE, SHF_STRINGS and sh_entsize
	from their BFD counterparts.
	* merge.c: New file.
	* Makefile.am: Add strtab.lo.
	* Makefile.in: Rebuilt.
include/
	* bfdlink.h (bfd_link_discard): Add discard_sec_merge.
gas/
	* config/obj-elf.c (obj_elf_change_section): Add entsize argument,
	handle SHF_MERGE and SHF_STRINGS.
	(obj_elf_parse_section_letters): Set SHF_MERGE and SHF_STRINGS.
	(obj_elf_section): Allow additional argument specifying entity size.
	* write.c (adjust_reloc_syms): Keep relocations against local symbols
	in SEC_MERGE sections.
ld/
	* ldmain.c (main): Default to discard_sec_merge.
	* lexsup.c (OPTION_DISCARD_NONE): Define.
	(ld_options): Add --discard-none.
	(parse_args): Handle OPTION_DISCARD_NONE.
	* ldlang.c (wild_doit): SEC_MERGE should be set in the output
	section only if SEC_MERGE and SEC_STRINGS flags and entsize of
	all its input sections match.
2001-04-13 00:34:36 +00:00
Alexandre Oliva a8a22e3365 * expr.c (operand): Pass &c to md_parse_name().
* config/tc-ia64.h, config/tc-ppc.h, config/tc-tic54x.h: Adjust.
2001-04-12 07:03:10 +00:00
H.J. Lu af9539e4e5 2001-04-07 Steven J. Hill <sjhill@cotw.com>
* config/tc-mips.c: Support ELF64 for traditional MIPS targets.

	* Makefile.am: (TARG_ENV_HFILES): Add tc-mips.h.
	* Makefile.in: Regenerated.

	* configure.in: Use traditional MIPS targets for Linux/MIPS.
	* configure: Regenerated.
2001-04-08 05:09:21 +00:00
Alexandre Oliva 4dfea10551 * config/tc-mn10300.c (xr_registers): Added `pc'. 2001-04-06 07:50:48 +00:00
Alan Modra e66457fbf3 Fix more breakages from the multiple relax pass patch. 2001-04-05 04:21:36 +00:00
Hans-Peter Nilsson ed67db7ab9 * config/tc-cris.c (cris_insn_first_word_frag): New.
(md_assemble): Call cris_insn_first_word_frag to get the first
	frag in an insn, not frag_more.  Don't call dwarf2_emit_insn at
	end.  Drop variable insn_size.
	(gen_bdap): Call cris_insn_first_word_frag, not frag_more.
	(cris_sym_leading_underscore): Wrap first as_bad parameter in _().
	(cris_sym_no_leading_underscore, s_cris_file, s_cris_loc): Ditto.
2001-04-04 04:23:20 +00:00
Hans-Peter Nilsson c335d39444 * config/tc-cris.c (md_estimate_size_before_relax) <case
ENCODE_RELAX (STATE_CONDITIONAL_BRANCH, STATE_UNDF)>: Don't emit
	32-bit branch, just set fragP->fr_subtype.  Set fragP->fr_var.
	<all cases>: Always set fragP->fr_var using md_cris_relax_table.
	Add cases to cover all relax states.
2001-04-04 03:53:12 +00:00
Alan Modra 1a5447b835 Pass finalize_syms on calls to resolve_symbol_value. 2001-03-30 07:07:11 +00:00
Alan Modra 93c2a809af Prepare for multi-pass relaxation. 2001-03-30 00:06:10 +00:00
Hans-Peter Nilsson d551a338e2 * config/tc-cris.h (tc_fix_adjustable): Allow only
BFD_RELOC_CRIS_32_GOTREL of the PIC relocs.
	* config/tc-cris.c (cris_get_pic_suffix): Correct reloc used in
	example to valid.
2001-03-29 02:29:38 +00:00
Alan Modra 8a238888b4 Default hppa64 to ".level 2.0w" 2001-03-28 14:13:46 +00:00
Nick Clifton 07855becf9 Do not optimize BFD_RELOC_390_GOTENT relocs.
Always generate relocs for VT_ relocs.
2001-03-26 19:38:33 +00:00
Nick Clifton 0285c67df1 Automate generate on man pages 2001-03-25 20:32:31 +00:00
Alan Modra 551c1ca176 Accept an absolute expression for index scale factor. 2001-03-25 05:57:09 +00:00
Hans-Peter Nilsson 08caf3f870 * config/tc-cris.[ch]: Tweak attribution. Fix typos. PIC support. 2001-03-23 05:27:42 +00:00