Commit graph

1197 commits

Author SHA1 Message Date
Ian Lance Taylor
b709b16fdc * config/obj-coff.c (fixup_segment): Never subtract section
address from PC relative reloc which will be fully resolved.
1997-07-02 16:05:55 +00:00
Michael Meissner
d006e43527 Remove brokeness in PowerPC asm 1997-06-27 23:19:15 +00:00
Ian Lance Taylor
24a3e62262 Mon Jun 16 19:12:51 1997 Geoff Keating <geoffk@ozemail.com.au>
* config/tc-ppc.h (tc_fix_adjustable): Don't let the assembler
	calculate relocations to any external symbol, because we might be
	linking a shared object and the symbol might be overriden or moved
	(for instance, moved into a static executable's .bss section).
	(GLOBAL_OFFSET_TABLE_NAME): Delete. This is an i386 wierdness.

	* config/tc-ppc.h (tc_fix_adjustable): GOT-based relocations can't
	be calculated by the assembler.

	* config/tc-ppc.c (md_apply_fix3): Handle @plt or @local branch
	whose destination lies in the same file, by ignoring the @plt or
	@local and aiming the branch at its destination.
1997-06-16 23:17:22 +00:00
Ian Lance Taylor
3a0358617e * config/tc-ppc.c (ppc_insert_operand): In 32 bit mode, with a
signed operand, sign extend a 32 bit value to the host size.
Permits dubious usage like
	addi  %r6,%r6,0xfffffeff
to assemble on a 64 bit host as it does on a 32 bit host.
1997-06-16 20:09:35 +00:00
Ian Lance Taylor
a52f90a4c8 * config/tc-i386.c (i386_operand): Use alloca rather than a fixed
buffer size to make a copy of the symbol.
1997-06-16 17:31:46 +00:00
Ian Lance Taylor
7436e4de5a Tue Jun 10 11:18:09 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
* config/tc-arm.c (arm_adjust_symtab): Only set storage classes if
	OBJ_COFF.
1997-06-10 15:21:36 +00:00
Ian Lance Taylor
ccc30467a6 Tue Jun 10 11:18:09 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
* config/tc-arm.c: Add prototypes for many static functions.
	(struct asm_opcode ): Add prototypes for parms field.
	(struct thumb_opcode ): Likewise.
	(fp_op2): Remove unused flags parameter.
	(output_inst): Make static.
	(arm_after_pass_hook): Remove unused ignore parameter.
	* config/tc-arm.h (arm_after_pass_hook): Declare.
	(arm_start_line_hook): Declare.
	(arm_frob_label): Declare.
1997-06-10 15:20:05 +00:00
Ian Lance Taylor
af438bdb10 * config/tc-m68k.c (md_section_align): If a.out and BFD, force
section size to be aligned.
1997-06-09 16:53:45 +00:00
Ian Lance Taylor
7257418129 * config/tc-sh.h (md_cons_align): Define.
(sh_cons_align): Declare.
	* config/tc-sh.c (md_pseudo_table): Add .uaword and .ualong.
	(sh_no_align_cons): New static variable.
	(s_uacons): New static function.
	(sh_cons_align): New function.
	(sh_handle_align): Warn about misaligned data.
	* doc/c-sh.texi: Document .uaword and .ualong.
PR 12528.
1997-06-06 21:17:46 +00:00
Nick Clifton
f8a2144336 Merged in the changes from the armT-970328-branch. 1997-06-03 23:25:43 +00:00
Gavin Romig-Koch
5c6f5923c7 Add r3900 support. 1997-06-02 15:56:00 +00:00
Nick Clifton
46686c7839 Added support for storing ARM Procedure Calling Standard variant, and ARM
architecture variant in the BFD and COFF structures.  This goes towards
fixing PRs 11709 and 11326 and will integrate with future updates to LD and
GCC.
1997-05-14 17:00:43 +00:00
Fred Fish
af942f1dc2 Fix thinko in previous change. 1997-05-13 19:00:57 +00:00
Fred Fish
7b02bacd3d * config/tc-tic80.c (md_apply_fix): Check PC relative relocations
for overflow/underflow, only insert lower 15 bits into instruction.
1997-05-13 17:55:41 +00:00
Ian Lance Taylor
a5586bdc2f * config/tc-mips.c (macro): Handle constants for M_LI_D and
M_LI_DD.
	(mips_ip): For 'F', 'L', 'f', and 'l', generate a constant rather
	than an address if the floating point value looks sufficiently
	simple.
PR 12237.
1997-05-07 19:41:17 +00:00
Ian Lance Taylor
91951af61f * config/tc-i386.c (md_section_align): If a.out and BFD, force
section size to be aligned.
1997-05-06 16:19:04 +00:00
Ian Lance Taylor
454b0ccda0 * config/tc-i386.h (RegMMX): Define.
* config/tc-i386.c (pi): Check for all register types.
	(type_names): Add RegMMX.
	(md_assemble): Handle RegMMX.
1997-05-05 21:18:17 +00:00
Ian Lance Taylor
85ce56358f Tue Apr 29 20:23:10 1997 Jim Wilson <wilson@cygnus.com>
* config/tc-mips.c (nopic_need_relax): Add new parameter
	before_relaxing.  Use it when testing ecoff_extern_size.
	(load_address, macro, md_estimate_size_before_relax): Fix all
	callers.
1997-04-30 00:26:21 +00:00
Ian Lance Taylor
aff65ed99d Sat Apr 19 22:52:03 1997 Jim Wilson <wilson@cygnus.com>
* config/obj-elf.c (elf_frob_symbol): If TC_MIPS, set BSF_OBJECT
	for all undefined symbols.
1997-04-20 02:53:22 +00:00
Gavin Romig-Koch
68952421e6 Correct test for fpr pairs. 1997-04-15 22:46:58 +00:00
David Edelsohn
4e9d8deacb * config/tc-m32r.c (md_begin): Set cgen_asm_parse_operand_fn.
(md_assemble): Call cgen_asm_init_parse.
	Update call to m32r_cgen_assemble_insn, call as_bad if assembly failed.
1997-04-10 21:54:15 +00:00
David Edelsohn
c8cf7e1737 * write.c (relax_frag): Make non-static.
* write.h (relax_frag): Add prototype for.
	* config/tc-m32r.h (md_do_align): New arg `max'.
	* config/tc-m32r.c (m32r_do_align): Likewise.
	Update calls to frag_align, frag_align_pattern.
	(fill_insn): Update call to m32r_do_align.
	(m32r_scomm): Update call to frag_align.
1997-04-05 02:34:40 +00:00
David Edelsohn
9f719a5652 m32r support. 1997-04-05 00:09:41 +00:00
Ian Lance Taylor
dc966dadf7 * config/tc-hppa.h (TC_EOL_IN_INSN): Check explicitly for '!',
rather than for any end of line character.
1997-04-04 22:49:21 +00:00
Ian Lance Taylor
5c11dba28a * config/tc-hppa.c (tc_gen_reloc): If hppa_ren_reloc_type fails,
call abort (i.e., as_abort) rather than crashing.
1997-04-04 22:48:24 +00:00
Ian Lance Taylor
08438bef4a * config/tc-mips.c (mips16_macro): Handle M_DMUL and M_MUL.
PR 11982.
1997-04-02 17:24:44 +00:00
Jim Wilson
3c83da8ac4 * config/tc-mips.c (md_begin): Don't set interlocks for 4100. 1997-04-02 02:33:47 +00:00
Michael Meissner
64251de516 Make # a line comment character 1997-04-01 16:29:10 +00:00
Ian Lance Taylor
acdc7ce30e * config/obj-elf.c (obj_elf_section_change_hook): New function.
* config/obj-elf.h (obj_elf_section_change_hook): Declare it.
	* config/tc-mips.c (s_change_sec): Call it if OBJ_ELF.
1997-03-28 18:10:09 +00:00
Ian Lance Taylor
23ac3ca1f0 * read.c (s_comm): Check S_IS_COMMON as well as S_IS_DEFINED.
(s_mri_common): Check S_IS_COMMON unconditionally.
	* symbols.c (colon): Check S_IS_COMMON as well as S_IS_DEFINED.
	* config/tc-alpha.c (s_alpha_comm): Likewise.
	* config/tc-mips.c (nopic_need_relax): Likewise.
	* config/tc-ppc.c (ppc_elf_lcomm): Likewise.
	(ppc_pe_comm): Likewise.
	* config/obj-elf.c (obj_elf_common): Likewise.  Set segment of
	common symbol to bfd_com_section_ptr.
	* config/tc-sparc.c (s_common): Likewise.
	(tc_gen_reloc): Likewise.
1997-03-27 17:31:06 +00:00
Ian Lance Taylor
2fb44892b1 * config/tc-i386.h (iclrKludge): Define.
* config/tc-i386.c (md_assemble): Handle iclrKludge.
1997-03-24 19:37:05 +00:00
Martin Hunt
2c268a8551 Sun Mar 23 18:03:31 1997 Martin M. Hunt <hunt@pizza.cygnus.com>
* tc-d30v.c (build_insn): Enable range-checking code.
	(postfix): Stop at space or comma. Fixes PR 11862.
	(md_assemble): Change error message.
1997-03-24 02:27:09 +00:00
Ian Lance Taylor
7cad1a894b * config/obj-ieee.c (segment_name): Don't define function if this
is a macro.
1997-03-21 23:52:29 +00:00
Ian Lance Taylor
f062ec459f * config/obj-coff.h (DO_STRIP): Don't define.
* config/tc-h8300.h (DO_STRIP): Don't define.
	* config/tc-h8500.h (DO_STRIP): Don't define.
	* config/tc-w65.h (DO_STRIP): Don't define.
	* config/tc-z8k.h (DO_STRIP): Don't define.
1997-03-21 23:13:26 +00:00
Ian Lance Taylor
a71dc20461 * symbols.c (colon): Call obj_frob_label if it is defined.
* config/obj-vms.h (obj_frob_label): Rename from tc_frob_label.
1997-03-21 23:06:08 +00:00
Ian Lance Taylor
f59fb6cac7 Thu Mar 20 13:42:01 1997 H.J. Lu <hjl@lucon.org>
* frags.c (frag_var): Change offset parameter to offsetT.
	(frag_variant): Likewise.
	* frags.h (frag_variant, frag_var): Update declarations.
	* config/tc-m68k.c (struct m68k_it): Change foff field to
	offsetT.
	(add_frag): Change off parameter to offsetT.
	* Several files: Add casts to calls to frag_var.
1997-03-20 19:08:35 +00:00
Ian Lance Taylor
9afc66310f Thu Mar 20 12:48:45 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
* config/te-delta.h (COFF_COMMON_ADDEND): Define.
	* config/obj-coff.c (fixup_segment): Check COFF_COMMON_ADDEND when
	storing the value of a common symbol.
1997-03-20 17:50:41 +00:00
Ian Lance Taylor
7cd06f4400 Tue Mar 18 15:50:13 1997 H.J. Lu <hjl@lucon.org>
* Many files: Add function prototypes.
	* as.c (show_usage, parse_args): Make static.
	* frags.h (frag_alloc): Declare.
	* subsegs.c (subseg_set_rest): Don't declare frag_alloc.
	* symbols.c (dollar_label_instance): Change return type to long.
	* symbols.h (print_symbol_value): Declare.
	(print_expr, print_expr_1, print_symbol_value_1): Declare.
	* write.c (fix_new_exp): Don't declare make_expr_symbol.
	(remove_subsegs, relax_frag): Make static.
	* config/atof-vax.c (atof_vax_sizeof): Change letter to int.
	(what_kind_of_float): Likewise.
	(atof_vax): Make static.  Change what_kind to int.
	(md_atof): Change what_statement_type to int.
	* config/obj-ecoff.h (obj_ecoff_set_ext): Declare.
	* config/tc-alpha.c (vax_md_atof): Declare.
	(md_atof): Don't declare atof_ieee and vax_md_atof.
	* config/tc-i386.c (set_16bit_code_flag): Make static.
	* config/tc-i386.h (tc_i386_fix_adjustable): Declare.
	* config/tc-m68k.c (add_fix): Change width to int.
	(insert_reg): Change regname to const.
	(md_atof): Don't declare atof_ieee.
	(demand_empty_rest_of_line): Don't declare.
	* config/tc-m88k.c (md_atof): Don't declare atof_ieee.
	* config/tc-sparc.c (cmp_reg_entry): Change args to const PTR.
	(parse_keyword_arg): Change lookup_fn to take const arg.
	(md_atof): Don't declare atof_ieee.
	* config/tc-sparc.h: Add ifdef for multiple inclusion.
	(tc_aout_pre_write_hook): Don't declare.
1997-03-18 21:04:18 +00:00
Ian Lance Taylor
590c50d82c * as.h (bfd_alloc_by_size_t): Don't declare.
* Many files: Use xmalloc rather than bfd_alloc_by_size_t.
1997-03-17 16:29:29 +00:00
Ian Lance Taylor
18f7e3dc7f * config/tc-mips.c (md_apply_fix): Improve error message for out
of range branch.
1997-03-16 00:16:52 +00:00
Ian Lance Taylor
46a92fde53 * config/tc-mips.c (md_estimate_size_before_relax): Handle the
case of a symbol equated to another symbol when using SVR4_PIC.
1997-03-15 02:14:44 +00:00
Ian Lance Taylor
2e9974a450 * config/obj-elf.c (obj_elf_data): Call md_flush_pending_output
and md_elf_section_change_hook if they are defined.
	(obj_elf_text, obj_elf_previous): Likewise.
1997-03-13 16:21:34 +00:00
Ian Lance Taylor
e053e8c1e5 * config/tc-m88k.c (m88k_do_align): Don't use a special nop
alignment if a zero fill pattern was explicitly specified.
	* config/tc-sh.c (sh_do_align): Likewise.
1997-03-11 20:10:20 +00:00
Ian Lance Taylor
d88cc85dbb From Eric Youngdale <eric@andante.jic.com>:
* config/obj-elf.h (struct elf_obj_sy): Define.
	(OBJ_SYMFIELD_TYPE): Define to elf_obj_sy struct.  Change all
	users.
	* config/obj-elf.c (obj_elf_symver): Just record the name.
	(obj_symbol_new_hook): Initialized versioned_name field.
	(elf_frob_symbol): If there is a versioned_name, either rename the
	symbol, or add an alias with that name.
1997-03-10 04:53:55 +00:00
Jeff Law
a405bb3eb0 * config/tc-mn10300.c (md_assemble): Don't use any MN10300 specific
relocs anymore.  Tweak fx_offset for pc-relative relocs.
Cleanup/simplification of mn10300 port.  Bring over changes from mn10200 port.
1997-03-06 20:58:22 +00:00
Fred Fish
1ea5264653 * config/tc-tic80.c (md_pseudo_table): Add "sect" and "section"
pseudo-ops.
1997-03-05 06:18:28 +00:00
Fred Fish
e74539b876 * config/tc-tic80.c (md_begin): Declare external variable
coff_flags and insert an F_AR32WR bit into it.
1997-03-05 02:35:36 +00:00
Ian Lance Taylor
a941619c0b * config/tc-mips.c (mips16_extended_frag): Don't assume that we
can rely on the frag address to determine whether a frag is
	earlier or later.
1997-03-01 06:10:58 +00:00
Ian Lance Taylor
2360492176 * write.h (LOCAL_LABEL): Only define if not BFD_ASSEMBLER.
(S_LOCAL_NAME): Likewise.
	(FAKE_LABEL_NAME): Define unconditionally.
	* symbols.c (colon): Call bfd_is_local_label, not LOCAL_LABEL, if
	BFD_ASSEMBLER.
	(S_IS_LOCAL): Call bfd_is_local_label_name, not LOCAL_LABEL.
	* config/tc-*.h: Only define LOCAL_LABEL if not BFD_ASSEMBLER.
	Don't define FAKE_LABEL_NAME.
	* config/te-ic960.h: Likewise.
	* config/tc-mips.h (tc_frob_file_before_adjust): Define.
	(mips_frob_file_before_adjust): Declare.
	* config/tc-mips.c (mips_frob_file_before_adjust): New function.
	(mips_local_label): Remove.
1997-02-28 20:04:39 +00:00
Ian Lance Taylor
e691320ea4 * config/te-sco386.h: Remove; not used. 1997-02-28 19:42:04 +00:00