Commit graph

741 commits

Author SHA1 Message Date
Michael Meissner
9914665911 Little endian fix 1995-05-16 23:30:21 +00:00
Ken Raeburn
739708fa4a Make Irix 5 configuration work again:
* config/obj-multi.h (obj_frob_symbol, obj_frob_file, S_GET_SIZE, S_SET_SIZE,
S_GET_ALIGN, S_SET_ALIGN, obj_copy_symbol_attributes, OBJ_PROCESS_STAB): New
macros.
* config/tc-mips.c: Protect against redefining them also when including
obj-elf.h.  Test only OBJ_ELF for including elf/mips.h.
1995-05-16 22:28:26 +00:00
Steve Chamberlain
b04b02a544 Fri May 12 14:17:47 1995 Steve Chamberlain <sac@slash.cygnus.com>
Initial support for PE object files.
	* configure.in, configure (i386-*-pe, i386-*-*nt): Add.
	* config/obj-coff.c (fixup_segment): Cope with PE wierdness.
	* config/obj-coff.h (TE_PE): New target format.
1995-05-12 21:26:01 +00:00
Ken Raeburn
511cd41cc1 update for new files 1995-05-12 00:04:35 +00:00
Ken Raeburn
e7757ad0bc First cut at handling multiple emulation modes for some MIPS targets.
Mostly works, not entirely.
Details in ChangeLog.
1995-05-10 23:08:40 +00:00
Michael Meissner
8370e93e49 Add little endian PowerPC support. 1995-05-09 21:17:19 +00:00
Ken Raeburn
e51a3912ef SEPARATE_STAB_SECTIONS should be defined to 1, not empty. 1995-05-05 21:44:11 +00:00
Ken Raeburn
5b9a7bef31 * config/obj-ecoff.h (OBJ_PROCESS_STAB): Add new first argument, ignored.
* config/obj-elf.h (OBJ_PROCESS_STAB) [ECOFF_DEBUGGING]: Ditto.

* config/obj-ecoff.h (ECOFF_DEBUGGING): Define to 1, not empty.
* config/obj-elf.h (ECOFF_DEBUGGING): Ditto.  Test value, not whether it's
defined.
1995-05-04 23:41:32 +00:00
Ken Raeburn
8c5e0f5e05 * stabs.c (get_stab_string_offset): Always define. If SEPARATE_STAB_SECTIONS
isn't set, abort.
(SEPARATE_STAB_SECTIONS): Default to zero.
(aout_process_stab): New function, split out from s_stab_generic.
(OBJ_PROCESS_STAB) [AOUT_STABS]: Define to call aout_process_stab, if not
already defined.
(s_stab_generic): Test SEPARATE_STAB_SECTIONS at run time.  If it's not set,
and OBJ_PROCESS_STAB isn't defined, abort.  Always pass six arguments to
OBJ_PROCESS_STAB.
* config/obj-aout.h (AOUT_STABS): Define.
* config/obj-bout.h (AOUT_STABS): Define.
1995-05-04 23:40:26 +00:00
Ken Raeburn
9777b772c8 * as.h (LOCAL_LABELS_DOLLAR, LOCAL_LABELS_FB): If not already defined, define
them to zero.
* config/tc-*.h, config/te-*.h: If defining them, define them to be 1 instead
of empty.
* expr.c (integer_constant, operand): Test them at run time instead of compile
time.
* read.c (read_a_source_file): Ditto.
* symbols.c (colon): Ditto.
(dollar_*, define_dollar_label, fb_*): Define unconditionally.
* symbols.h (dollar_*, define_dollar_label, fb_*): Declare unconditionally.
1995-05-04 01:56:40 +00:00
Jeff Law
4829cd65a7 * config/tc-hppa.c (md_apply_fix): Do nothing for an out of range
PC relative call since those only occur in cases where the linker
	can fix them up.
	(hppa_force_relocation): Force relocations for out of range PC
	relative calls.
1995-05-03 19:10:55 +00:00
Ken Raeburn
1dc1e7989f * config/tc-mips.c: Use USE_STDARG and USE_VARARGS instead of NO_STDARG &c.
* config/tc-mips.c (mips_target_format): Changed to a function, checking flavor
and byte order at run time.
(md_parse_option, cases OPTION_EB and OPTION_EL): Set target_big_endian here.
(md_begin): Not here.
* config/tc-mips.h (mips_target_format): Adjust declaration.
(TARGET_FORMAT): Call mips_target_format.

* config/tc-mips.h (USE_GLOBAL_POINTER_OPT): Define in terms of OUTPUT_FLAVOR.
* config/tc-mips.c (g_switch_value, g_switch_seen): Define unconditionally.
(md_begin, mips_ip, md_parse_option, s_change_sec, s_option, s_abicalls,
nopic_need_relax): Check USE_GLOBAL_POINTER_OPT at run time, instead of
compiling conditionally on GPOPT.
(GPOPT): Don't define.
(md_shortopts): Always include -G.
(RDATA_SECTION_NAME): Select at run time.
(md_begin): Test for ELF format at run time instead of compile time.
(mips_ip, s_change_sec): Ditto.
(md_parse_option, cases OPTION_CALL_SHARED and OPTION_NON_SHARED): Ditto.
(OPTION_CALL_SHARED, OPTION_NON_SHARED, mips_regmask_frag): Define
unconditionally.
1995-05-02 19:33:00 +00:00
Ken Raeburn
833c46e1fb Move cpu-specific dependencies into Makefile.in, instead of having sometimes
multiple copies in config/*.mt.  Select between several make variables with
autoconf substitution of cpu_type into a variable name reference.
1995-05-02 06:46:21 +00:00
Ken Raeburn
78dace0a00 deleting more unused macros 1995-05-02 06:26:15 +00:00
Ken Raeburn
91a165d12e delete some unused TE_* macros 1995-05-02 04:47:35 +00:00
Ken Raeburn
12aab635e0 * read.c (s_app_file): If obj_app_file is defined, call it with string as argument.
Don't call c_dot_file_symbol or elf_file_symbol.
* config/obj-coff.h (obj_app_file): Define as c_dot_file_symbol.
* config/obj-elf.h (obj_app_file): Define as elf_file_symbol.

* as.h (OUTPUT_FLAVOR): Don't define here.
* config/obj-aout.h (OUTPUT_FLAVOR) [BFD_ASSEMBLER]: Define.
* config/obj-bout.h (OUTPUT_FLAVOR): Define.
* config/obj-coff.h (OUTPUT_FLAVOR) [BFD_ASSEMBLER]: Define.
* config/obj-ecoff.h (OUTPUT_FLAVOR): Define.
* config/obj-elf.h (OUTPUT_FLAVOR): Define.
1995-05-01 20:44:46 +00:00
David Edelsohn
fa7a56f8dc * config/tc-arc.c (delay_slot_type): New function.
(md_assemble): Use hashed list of insns.
	Print warning if 8 byte insn appears in delay slot.
	(md_operand): Handle %st(sym1-sym2).
	(get_arc_exp_reloc_type): Likewise.
	(md_apply_fix, case BFD_RELOC_ARC_B26): Now using implicit addends
	so must store them here.
1995-04-12 14:41:21 +00:00
Ken Raeburn
9b0da28b13 write.c: Complain about .space or .org moving backwards.
Do generic rs_machine_dependent relaxation only if TC_GENERIC_RELAX_TABLE is
defined.  Use its value as the base of the table, so the actual declaration
can be cpu-specific (and const or not as appropriate).  For other cpus where
this isn't done (the majority), delete md_relax_table altogether.

For machines with WORKING_DOT_WORD, delete md_{short,long}_jump_size.
1995-04-11 06:10:34 +00:00
Ken Raeburn
04ef74bb13 (PCINDEX): New macro.
(md_relax_table): No longer const.  Add PCINDEX entries.
(m68k_ip): For AINDX with simple symbol operand, generate a PCINDEX frag if PC
is used, or do normal non-AINDX processing for address register.
(m68k_init_after_args): If cpu is 68000 or 68010, fix md_relax_table to prevent
relaxation of PCINDEX/BYTE mode to SHORT, since they don't support that mode.
(md_convert_frag_1, case PCLEA/LONG): Add 4 to offset, not 2.  Add support for
new PCINDEX modes.
(md_estimate_size_before_relax): Process PCINDEX/SZ_UNDEF mode.
(md_convert_frag_1, case PCLEA/SHORT): Add 2 to offset.
(m68k_ip, case most punctuation/AOFF): If using PC, call add_frag using PCLEA.
1995-04-11 01:31:08 +00:00
Ken Raeburn
d8a1c247ae Fix for PR6697:
(nopic_need_relax): New static function, split out from
md_estimate_size_before_relax.
(md_estimate_size_before_relax): Call it.
(load_address, macro): In NO_PIC branches, if nopic_need_relax returns nonzero,
don't attempt GP optimization.
1995-04-11 01:29:49 +00:00
Ken Raeburn
b79de3a178 Don't explicitly include config.h. Deleted a bunch of "#if 0" code and useless
comments.
(struct m68k_cpu): New type.
(archs, n_archs): New variables, with single list of name/enum mapping and
aliases.
(m68k_ip): Delete the table here.
(m68k_init_after_args): Use the new table here instead of open-coding it.
(md_parse_option, case 'm'): Ditto.
1995-04-11 01:03:07 +00:00
David Edelsohn
5acf432d3f * config/tc-arc.c (arc_condition_codes): Deleted.
(init_opcode_tables): Delete cpu_type_map, call
	arc_get_opcode_mach instead.
	(arc_common): Delete non-ELF stuff.  Require leading '.' in .data.
	(md_apply_fix): Delete non-ELF stuff.
	Disable special handling of limm values, treat them normally.
	(get_arc_exp_reloc_type): New argument `data_p'.  Callers updated.
	(md_assemble): All limm operands must be output by gas, the opcode
	insertion routines cannot be used (they don't do anything and we're
	using implicit addends now so we need to output something).
	* config/tc-arc.h (FAKE_LABEL_NAME): Define.
1995-04-07 03:13:42 +00:00
Michael Meissner
ce9a280583 Warn rather than cause an error if the reloc is not compatible with -mrelocatable. 1995-03-14 22:05:48 +00:00
Ken Raeburn
0eb1f9cefa whitespace/comment formatting 1995-03-10 22:33:28 +00:00
Ian Lance Taylor
5fc2a6ecd2 * config/obj-coff.c (coff_header_append): Check return value of
bfd_coff_swap_scnhdr_out.
1995-03-09 23:02:43 +00:00
David Edelsohn
df0f11ff33 Delete this patch, it breaks the h8300 assembler.
* config/obj-coff.c (write_object_file): Don't treat h8300 and z8k
	specially with regard to fixups.
1995-03-09 21:51:42 +00:00
Michael Meissner
74e1b52ea3 Allow .stab section to contain non PC relative addresses if -mrelocatable. 1995-03-08 15:03:50 +00:00
Jeff Law
2c23d22bee * config/tc-hppa.c (pa_ip, case 'z'): Don't lose argument
relocation bits for absolute calls.
1995-03-06 02:42:14 +00:00
Michael Meissner
3f81f3cfe4 If -mrelocatable, warn about relocs that are incompatible. 1995-03-03 21:34:36 +00:00
Ken Raeburn
03678945bd (md_operand): Replaced empty function in .c file with empty macro in .h file. 1995-02-28 23:37:38 +00:00
Ian Lance Taylor
0877841d73 * config/tc-i386.c (tc_i386_fix_adjustable): Don't adjust PLT or
GOT relocs either.
1995-02-28 20:35:41 +00:00
Ian Lance Taylor
6b67ed7865 tweak previous patch 1995-02-24 20:25:52 +00:00
Ian Lance Taylor
7811254cb0 * config/tc-mips.c (load_register): Correctly handle 32 bit values
with the high bit set in 64 bit mode.
PR 6381.
1995-02-24 19:42:43 +00:00
Ian Lance Taylor
546f553610 * config/tc-mips.c (append_insn): If listing_prev_line is called,
call frag_grow to make sure there is still room for a variant.
1995-02-23 02:20:57 +00:00
Ian Lance Taylor
61420a2049 * config/tc-mips.c (md_pseudo_table): Add 2byte, 4byte and 8byte
if OBJ_ELF.  From gary@Intrepid.COM (Gary Funck).
1995-02-17 20:13:41 +00:00
Ian Lance Taylor
efc538bab9 Wed Feb 15 16:08:47 1995 Jason Molenda <crash@cygnus.com>
* config/tc-h8500.c (tc_coff_symbol_emit_hook): Add ignored
	parameter, to match prototype.
1995-02-15 21:11:10 +00:00
Ian Lance Taylor
49ad0c4cf3 * config/tc-mips.c (md_apply_fix): Accept BFD_RELOC_16, for
DWARF.  From gary@Intrepid.COM (Gary Funck).
1995-02-15 21:08:05 +00:00
Ian Lance Taylor
adcf2b9d57 * config/tc-mips.c (macro): Handle M_U{L,S}D[_A] (unaligned double
loads and stores).
1995-02-15 20:43:57 +00:00
Michael Meissner
4a6b2f8bbd All ELF relocs. 1995-02-15 20:15:07 +00:00
Ian Lance Taylor
b2b8c24e2f * config/tc-mips.c (macro): Don't use the target register as a
base register when building the address for M_L{W,D}{L,R}_AB.
1995-02-15 16:48:18 +00:00
David Edelsohn
31add5f0c9 * config/tc-arc.c (md_pseudo_table): Add .cpu.
(comment_chars): Add ';'.
	(arc_mach_type, mach_type_specified, cpu_tables_init_p): New globals.
	(md_parse_option): Delete support for -mmult.  Add -mcpu=xxx.
	(md_begin): Current ARCs are little endian.
	Call bfd_set_arch_mach to set the cpu type.
	(init_opcode_tables): New function.
	(md_begin): Ignore suffixes and registers not supported by cpu.
	(md_assemble): Initialize opcode tables here.
	Ignore opcodes not supported by selected cpu.
	Always ask for more memory in one piece.
	(arc_cpu): New function.
	(md_numbers_to_chars): Support both endians (will probably be needed
	eventually anyway).
	(md_apply_fix): Likewise.
1995-02-10 02:01:01 +00:00
David Edelsohn
2db01c3d52 * config/tc-arc.h (LOCAL_LABEL): Delete "_.L_", gcc works around
dwarfout.c quirk.
1995-02-10 02:00:43 +00:00
Ken Raeburn
15f146bec4 Thu Jan 19 18:10:05 1995 Pat Rankin (rankin@eql.caltech.edu)
* config/vms-conf.h (HAVE_UNISTD_H):  define it unconditionally.
* config-gas.com:  test for availability of <unistd.h>; create a rudimentary
one if necessary.
1995-02-08 23:52:51 +00:00
Jeff Law
b4682e519f Apparently I forgot to commit this change:
* config/tc-hppa.c (md_apply_fix): Go ahead and call
        hppa_field_adjust to get a new value for R_DATA_ONE_SYMBOL
        relocations in SOM.
        (hppa_fix_adjustable): Refine somewhat.
1995-02-07 18:20:57 +00:00
Ken Raeburn
c54c7aaca3 Bryan Ford's changes for 16-bit i386 support, and i386-msdos support. 1995-02-06 08:53:05 +00:00
Ken Raeburn
b003a2d9ee vms fixes from pat rankin 1995-02-02 21:33:40 +00:00
Ken Raeburn
f91ed64591 update copyright 1995-02-02 20:11:43 +00:00
Ian Lance Taylor
76e30835ad * config/tc-ppc.c (md_begin): Permit mfdec to be duplicated on the
601.  Check that the error return from hash_insert is "exists".
1995-01-26 23:41:12 +00:00
Michael Meissner
da8fa3ba29 Allow configuration of PowerPC embedded ABI. 1995-01-26 16:39:26 +00:00
Ian Lance Taylor
1eeb357e6a Wed Jan 25 15:32:09 1995 David Edelsohn <edelsohn@mhpcc.edu>
* config/tc-ppc.c (md_parse_option): Accept mpwr2 as a synonym for
	mpwrx; mppc32, m603, and m604 as synonyms for mppc; and mppc64 and
	m620 for PowerPC64 mode.
	(ppc_symbol_new_hook): Add T0 as synonym for TC0 suffix.
1995-01-25 20:43:50 +00:00