Commit graph

803 commits

Author SHA1 Message Date
Jeff Law
249c7415a4 * config/tc-hppa.h (MAX_RELOC_EXPANSION): Bump to 6.
* config/tc-hppa.c (tc_gen_reloc, SOM version): Handle
	relocations for the difference of two (possibly external)
	symbols.
	(hppa_fix_adjustable): For SOM, reject reductions involving
	the difference of two symbols.
	(hppa_force_relocation): Force relocations for expressions
	involving the difference of two symbols.

gas/bfd part of mentor-7363
1995-07-03 23:33:21 +00:00
Steve Chamberlain
e5c5ce23fd Support for long filenames non-bfd coff. bfd/7288
* config/obj-coff.c (filename_list_head, filename_list_tail): New.
	(yank_symbols): Notice and record filenames which are too long.
	(w_strings): Write out filename strings.
	(c_dot_file_symbols): Put long filenames onto list.
1995-06-30 00:53:37 +00:00
Steve Chamberlain
30355216bd * config/obj-coff.c (fixup_segment): PE doens't use
the strange common symbol format that other 386s formats
	do.
	* config/tc-i386.c (md_begin): If LEX_AT defined then
	'@' is in the set of identifiers.
	(i386_operand): If LEX_AT, then don't look for @goto stuff.
	* config/te-pe.h: Define LEX_AT.
1995-06-29 00:41:02 +00:00
Jeff Law
764771905a * config/tc-hppa.c (pa_build_unwind_subspace): Zero out memory
from frag_more calls.
1995-06-19 21:34:39 +00:00
Stan Shebs
d21041b3e2 * config/obj-coff.c: Don't use "bfd/" when including libbfd.h
and libcoff.h.
	(fill_section): Call PROGRESS.
	* Makefile.in (INCLUDES): Add bfd srcdir.

	* mpw-config.in: Add bfd_gas flag and set for each config.
	(i386-unknown-go32, m68k-unknown-coff): Recognize.
	* mpw-make.in (HACK_O_RAMA, OBJ_COFF_OMIT_TIMESTAMP): Add to
	config.h.
1995-06-16 00:07:45 +00:00
Jeff Law
4ff6f92ae8 * config/tc-hppa.c (pa_ip): Check for invalid register in single
precision fmpyadd and fmpysub instructions.
1995-06-13 04:29:41 +00:00
Ken Raeburn
3c650d09e8 vms cleanup, fixes from Pat Rankin 1995-06-09 21:16:07 +00:00
Ken Raeburn
d5263ab426 * config/obj-vms.c (vms_write_object_file, case N_DATA): Use strcmp against
FAKE_LABEL_NAME instead of checking third character.  (Suggested by Pat Rankin.)

Mon  5 Jun 20:10:46 1995  Pat Rankin  (rankin@eql.caltech.edu)

Add support for N_ABS and N_ABS|N_EXT type symbols.

* config/obj-vms.h (LSY_S_M_{DEF,REL}, ENV_S_M_{DEF,NESTED}): New macros for
local symbols (from <lsydef.h> and <envdef.h>).
* config/obj-vms.c (Current_Environment): New file-scope variable.
(VMS_Local_Environment_Setup): New routine.
(GBLSYM_LCL): New macro.
(VMS_Global_Symbol_Spec): Handle local symbols too.
(VMS_Psect_Spec): Set GLOBALVALUE_BIT for absolute symbols.
(VMS_Emit_Globalvalues): Handle local and global absolute symbols.
(VMS_Store_PIC_Symbol_Reference): Ditto.
(vms_write_object_file: GSD symbol loop): Ditto.
1995-06-06 17:59:06 +00:00
Ken Raeburn
58abad7d79 vms fixes from Pat Rankin 1995-06-01 22:12:20 +00:00
J.T. Conklin
6053ed629e * config/te-dpx2.h: Include obj-format.h.
(COFF_MAGIC): Renamed from FILE_HEADER_MAGIC.
1995-05-28 04:36:45 +00:00
Ken Raeburn
0509f0643c more vms updates from Pat Rankin 1995-05-20 20:11:38 +00:00
Ken Raeburn
ff15324f63 Bunch of changes from Richard Earnshaw for generic bi-endian ARM aout targets.
Details in change logs.
1995-05-18 22:21:18 +00:00
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
Ken Raeburn
f2224fe249 "gcc -fno-builtin -Wall -Wwrite-strings -Wshadow" can be your friend.
Well, sometimes.
Bunch of patches from Pat Rankin for cleaning up some warnings in vax-vms gas.
1995-01-24 21:56:29 +00:00
Ian Lance Taylor
9cc7c60b40 * config/tc-sh.h (tc_init_after_args): Don't define.
* config/tc-sh.c (md_begin): Remove unused variable table.
	(md_assemble): Remove unused variable p.
	(md_convert_frag): Cast fr_address to unsigned long for printf.
	(md_apply_fix): Use as_warn_where rather than as_warn.
	(sh_init_after_args): Remove empty function.
1995-01-23 19:22:52 +00:00
Ken Raeburn
50c551d06f Revert 2 June 1994 changes (Alpha 21164 support), for lack of assignment
paperwork.
1995-01-19 20:49:08 +00:00
Ken Raeburn
8e86815b1c Cleanup of VAX and VMS code, from Pat Rankin:
* config/obj-vms.c: Changed exported function names to lower case.  (Changed
call sites in write.c.)  Declare VMS system function names used, conditional on
actually being on VMS.  Changed many functions that returned no useful value to
now be declared to return void.  Removed many unused variables.  Supply missing
return statements or values.  Supply `default' case in switch statements.
Ensure local variables get initialized.
* config/tc-vax.c: Minor changes to silence "gcc -Wall".
* config/obj-vms.h, config/tc-vax.h: Added some missing declarations.
1995-01-19 20:01:07 +00:00
Ian Lance Taylor
96d1566d78 gcc -Wall lint.
* expr.c (operand): Parenthesize && within ||.
	* listing.c (listing_newline): Likewise.
	(list_symbol_table): Use %lu to print sizeof.
	* symbols.c: Comment out unused function indent.
	(print_symbol_value_1): Cast pointer to unsigned long for printf.
	* config/obj-coff.c (do_relocs_for): Only declare symbol_ptr if it
	will be used.
	* config/tc-h8300.c (md_begin): Remove unused variable reg.
	(get_operand): Declare type of parameter direction.  Remove unused
	variable size.
	(get_specific): Fix comment to avoid nested comments.
	(check_operand): Cast X_add_number to unsigned long for printf.
	(build_bytes): Remove unused local variables output_ptr, part, and
	high.
	(build_bytes): Cast X_add_number to unsigned long for printf.
	(clever_message): Remove unused variable scan.
	(md_assemble): Remove unused variable i.
	(tc_coff_sizemachdep): Remove unused function.
	* tc-h8300.h (tc_reloc_mangle): Declare.
1995-01-18 17:24:48 +00:00
Steve Chamberlain
b3235d56dc add w65 stuff. 1995-01-16 00:42:14 +00:00
Steve Chamberlain
a11a8d55ee * config/tc-w65.c, config/tc-w65.h, config/w65.mt: Newfiles.
* config/obj-coff.h: Cope with w65.
	* configure, configure.in: Recognize w65.
1995-01-16 00:40:48 +00:00
Ken Raeburn
3a762a0bfd Use new hex-value code in libiberty:
* Makefile.in (VMS_OTHER_OBJS): Add ../libiberty/hex.o.
(OBJS): Delete hex-value.o.
(REAL_SOURCES): Delete hex-value.c.
(hex-value.o): Delete dependencies.
* hex-value.c: Deleted.
* as.c (main): Call hex_init.
* expr.c, config/tc-mips.c: Include libiberty.h.  Replace hex_value array
references with hex_* macros.
1995-01-12 23:00:26 +00:00
Ken Raeburn
460a34e851 For COFF targets, make sure F_RELFLG is set exactly when no relocs are present,
instead of making it depend solely on the target CPU.
1995-01-12 00:36:23 +00:00
Ken Raeburn
7a55f46268 * config/obj-coff.c (write_object_file): Don't treat h8300 and z8k specially
with regard to fixups.
1995-01-10 18:42:28 +00:00
Ken Raeburn
483971bdbf * config/tc-mips.c (RELAX_RELOC1, RELAX_RELOC2): Cast values to bfd_vma before
subtracting.
1995-01-10 01:45:53 +00:00
Ken Raeburn
aac4d5a77f * config/obj-coff.c (size_section): Handle rs_space like rs_fill, but make sure
fr_symbol is null.
(fill_section): Ditto.
1995-01-10 01:41:54 +00:00
Ian Lance Taylor
1113140a24 * config/tc-mips.c (mips_ip): Fix handling of floating point
values when GPOPT is not defined.
1995-01-08 21:17:56 +00:00
Ken Raeburn
71f9b3c097 * config/tc-alpha.c (alpha_ip): Delay calls to emit_add64 until after any
remaining operands are also known to match.
1995-01-06 22:02:27 +00:00
Ken Raeburn
87e4849501 * frags.c (frag_init): Call obstack_begin on `frags'.
* subsegs.c (subsegs_begin): Don't do it here.
* as.c (main): Call frag_init before subsegs_begin.

* frags.c (frag_append_1_char): New function.
* frags.h (frag_append_1_char): Declare it.
(FRAG_APPEND_1_CHAR): Call it.  Old definition is commented out for now.

* as.h (struct frag): Added (but commented out) new fields for tracking current
alignment.
(frag_now_fix): Changed macro to function declaration.
* frags.c (frag_now_fix): Define function here.
(frag_new): Use it instead of accessing `frags' directly.
* frags.h (frags): Change comment to indicate it shouldn't be accessed directly.
* subsegs.h (struct frchain): New field frch_obstack, intended to eventually
replace global `frags' obstack.
* subsegs.c (subseg_set_rest): Use frag_now_fix instead of accessing `frags'
directly.  Initialize fields of new frchainS explicitly instead of with memset.
* config/obj-coff.c (obj_coff_ln) [!BFD_ASSEMBLER]: Use frag_now_fix.
* config/tc-mips.c (s_loc), config/obj-vms.c (vms_resolve_symbol_redef),
symbols.c (colon): Likewise.
1994-12-20 22:42:03 +00:00
Ken Raeburn
9ad5755f7b * config/tc-m68k.c (md_apply_fix_2): Use offsetT and addressT instead of long
and unsigned long.
(md_apply_fix): Cast value before passing it.
1994-12-20 20:23:41 +00:00
Ken Raeburn
d675782a06 * config/obj-aout.h, config/obj-coff.c, config/obj-elf.h, config/obj-som.h,
config/tc-h8500.c, config/tc-hppa.c, config/tc-hppa.h, config/tc-sh.c,
config/tc-z8k.c: Don't rely on use of ".." when including header files.
* config/tc-rce.c: Ditto.

* config/obj-coff.c (fixup_segment): Reformat condition in an `if' statement.
1994-12-20 20:07:41 +00:00
Ian Lance Taylor
972b240176 * config/obj-coff.h: Include bfd/libcoff.h, not libcoff.h. 1994-12-20 18:44:46 +00:00
Jeff Law
b8f7596cbe * config/tc-hppa.c (pa_subspace): Make sure SEC_HAS_CONTENTS is
clear for a section with the "ZERO" attribute.
1994-12-19 22:33:35 +00:00
Ian Lance Taylor
847a01cd4c * config/tc-mips.c (load_register): Rewrite to handle O_big 64 bit
constants.
	(mips_ip): Accept O_big constants in case 'I'.  Change case
	'i'/'j' to treat an O_big constant as an out of range value.
1994-12-19 22:02:01 +00:00
Jeff Law
60937ce7c2 * Reduce useless symbols for ELF in an attempt to make smaller
objects and speed up the linker.
	* config/tc-hppa.c (struct call_info): Replace end_symbol field
	with a size field.
	(hppa_elf_mark_end_function): Delete unneeded function.
	(pa_build_unwind_subspace): For the 2nd unwind relocation, use
	the function symbol + function size instead of a special symbol
	for the end of the function.
	(process_exit): Compute the function size here.  Don't call
	hppa_elf_mark_end_of_function anymore.
	(pa_procend): Likewise.
	(hppa_fix_adjustable): Only reject 32bit relocations for SOM.
	(elf_hppa_final_processing): Simplify.
1994-12-19 21:23:20 +00:00
David Edelsohn
49af8f3533 * config/tc-arc.c (arc_insert_operand): Change reg parm to pointer
to table entry.  All callers changed.
	(md_shortopts): New argument -mmult.
	(md_parse_option): Recognize it.
	(md_show_usage): Print it.
	(md_begin): If -mmult, say we have the new multiply and shift insns.
	(md_assemble): Fix reloc generation for 32 bit immediate values.
	Clean up modifier handling.  Try next insn if fake operand says there's
	an error.  Update to new syntax of insertion/extraction fns.
	Recognize predefined aux regs.  Don't abort if insertion fn missing.
1994-12-19 21:05:59 +00:00
Ken Raeburn
703139a83b some cleanup of vms code -- sizeof usage &c 1994-12-19 19:18:23 +00:00
Ken Raeburn
091f3a62a8 * config/tc-h8300.c (parse_exp, get_operands, clever_message, md_assemble,
tc_crawl_symbol_chain, md_undefined_symbol, tc_headers_hook, md_operand,
md_number_to_chars): Don't use DEFUN.
1994-12-17 01:11:20 +00:00
Ken Raeburn
d690577632 * config/tc-sh.c (md_begin): Don't fill in md_relax_table here.
(md_relax_table): Use static initialization.
1994-12-17 01:05:10 +00:00
Ken Raeburn
bd8696524a * config/tc-alpha.c (alpha_ip, case 'B', subcase 'c'): Use opcode value from
pattern instead of assuming jsr.
* config/alpha-opcode.h (jmp): Add a "1,Bc" form.
1994-12-10 02:06:26 +00:00
Michael Tiemann
0041db5a97 Switch r3 to scratch register, r0 to stack register.
Other misc changes before beta shipment to customer.
1994-12-06 02:04:58 +00:00
David Edelsohn
bc70eba5c8 Initial ARC support. 1994-11-30 02:48:31 +00:00
Ken Raeburn
0eb44acd17 * tc-alpha.c (in_range_signed, in_range_unsigned): New routines, split from
in_range.
(in_range): Deleted.  All calls changed to in_range_*signed.
(create_lita_section): Macro deleted.  Single use expanded in place.
(alpha_ip): Handle `t' and `8' operand types.
(md_apply_fix): Handle BFD_RELOC_12_PCREL.  Print name of unhandled relocation
types.
* alpha-opcode.h: Added HALT and DRAINA.  Disabled MOVI, since it doesn't work,
and isn't supported by the native assembler.
1994-11-29 20:31:40 +00:00
Michael Tiemann
d5adb5d8a4 Changes to reflect that r3, not r0, is now the stack pointer. 1994-11-27 20:04:22 +00:00
Michael Tiemann
edf728958e Change r16 -> rce. 1994-11-27 19:17:46 +00:00
Michael Tiemann
a84f6e1734 Add dummy decl for `dump_literals'. 1994-11-26 00:28:30 +00:00
Michael Tiemann
fb870b50a7 Add changes from customer since last work. 1994-11-26 00:17:52 +00:00
Michael Tiemann
f2e492a14a Change R16 -> RCE. 1994-11-25 16:19:34 +00:00
Michael Tiemann
cfe0b73857 Change R16 -> RCE. 1994-11-25 16:05:31 +00:00
Michael Tiemann
ca43dedd35 Clean up bitrot (such as interfaces that have changed since these
patches were last used).
1994-11-25 02:14:11 +00:00
Michael Tiemann
03c4ce2fcc Rename r16 files to rce, and fix some more .Sanitize typos. 1994-11-25 00:01:26 +00:00
Michael Tiemann
d94aca1aff Safely check in r16 targets for binutils. 1994-11-24 20:30:11 +00:00