Commit Graph

1181 Commits

Author SHA1 Message Date
Ian Lance Taylor
86b58ca2aa * config/tc-m68k.c: Remove BREAK_UP_BIG_DECL stuff.
(struct m68k_incant): Change m_operands field to be const.
	(struct m68k_it): Change args field to be const.
	(m68k_ip): Change local variable s to be const.
	(opcode_ptr): Remove.
	(md_begin): Use m68k_numopcodes, not numopcodes.  Use
	m68k_opcodes, not removed opcode_ptr.  Use m68k_numaliases, not
	numaliases.
1995-08-02 22:42:21 +00:00
Ian Lance Taylor
219deb70ce Initial support for MRI style labels and expressions.
* as.h (flag_mri): Declare/define.
	* as.c (show_usage): Mention -M and its synonym --mri.
	(parse_args): Add 'M' to std_shortopts.  Add "mri" to
	std_longopts.  Set flag_mri if -M is seen.
	(main): Call parse_args before input_scrub_begin.  Call
	expr_begin.
	* app.c (do_scrub_begin): Don't set lex for '"' or '\'' in MRI
	mode.  Do set lex for ';', '*', and '!' in MRI mode.
	(do_scrub_next_char): Remove MRI ifdef in LEX_IS_WHITESPACE case.
	In MRI mode, keep spaces between labels and colons.  Remove MRI
	ifndef around LEX_IS_ONECHAR_QUOTE case.  In MRI mode, don't use
	'!' or '*' as comment characters even if they are in
	comment_chars.
	* read.h (lex_type): No longer const.
	* read.c: Include libiberty.h.
	(lex_type): No longer const.
	(read_begin): In MRI mode, set lex_type of '?' to 3.
	(potable): Add dc, dc.b, dc.d, dc.l, dc.s, dc.w, dc.x, ds, ds.b,
	ds.l, ds.w, and xdef.
	(read_a_source_file): Change LABELS_WITHOUT_COLON ifdef to check
	for MRI mode at runtime rather than compile time.  Handle the EQU
	pseudo-op in MRI mode.  Remove bogus MRI ifdef around done_pseudo.
	Change NO_PSEUDO_DOT ifdef to also take effect for MRI mode at
	runtime.
	(cons): In MRI mode, always call parse_mri_cons rather than
	TC_PARSE_CONS_EXPRESSION.
	(parse_mri_cons): Always compile, not just when MRI is defined.
	Call TC_PARSE_CONS_EXPRESSION, not expression, when the input is
	not a string constant.  Handle A and E modifiers.
	(float_cons): Accept :xxxx, where the x's are hex digits.
	* expr.h (operatorT): Add O_eq, O_ne, O_lt, O_le, O_ge, O_gt.
	(expr_begin): Declare.
	* expr.c (integer_constant): In MRI mode, if the base was not
	specified, look for a suffix on the number to set the base.
	(mri_char_constant): New static function.
	(operand): Remove MRI ifdef.  In MRI mode, do various things: Pass
	0 as the base when calling integer_constant if there was no
	prefix.  Check for a hex constant suffix if when a leading '0' is
	seen.  Don't accept 0x or 0b as a prefix.  Check for E'chars' and
	A'chars'.  Handle MRI character constants.  Treat '"' as the
	unary bitwise not operator.  Treat $ as the program counter, or as
	the prefix for a hex constant.  Treat % as the prefix for a binary
	constant and @ as the prefix for an octal constant.  Treat : as
	the prefix for a hex constant.
	(op_encoding): Set '"' to O_bit_not, '<' to O_lt, and '>' to O_gt.
	(op_rank): No longer const.  Change rank values.
	(expr_begin): New function.
	(operator): New static function.
	(expr): Use operator.  Don't bother to mention the operator in
	warnings.  Remove bogus #if 0 code.  Handle new operatorT values.
	* atof-generic.c (atof_generic): In MRI mode, accept underscores
	around the exponent in floating point numbers.
	* symbols.h (symbols_case_sensitive): Declare.
	* symbols.c (symbols_case_sensitive): New global variable.
	(symbol_create): Check symbols_case_sensitive.
	(symbol_find_base): Likewise.
	(resolve_symbol_value): Handle new operatorT values.
	(print_expr_1): Likewise.
	(S_IS_LOCAL): In MRI mode, names beginning with two '?' characters
	are local.
1995-08-01 22:01:01 +00:00
Steve Chamberlain
b97bd7d17c Tue Aug 1 11:35:18 1995 steve chamberlain <sac@slash.cygnus.com>
* tc-sh.c (md_convert_frag): Make some error messages more
	explict.
1995-08-01 18:39:08 +00:00
Steve Chamberlain
4f2f30116b * gasp.c (main): Parse -I option.
(do_include): Look through include list.
	* gasp.c (change_base): Don't modify numbers in strings.
	(pr7583)

 	* testsuite/gasp/*: New.
	* testsuite/Makefile.in: Use gasp tests.
	* testsuite/config/default.exp: Add gasp stuff.
1995-08-01 03:35:23 +00:00
Ken Raeburn
ac24997f36 yet more vms work 1995-08-01 01:41:53 +00:00
Steve Chamberlain
5f57cea3f6 * gasp.c (change_base): Don't modify numbers in strings. (pr7583)
* testsuite/gas/gasp/*: New.
1995-08-01 01:31:42 +00:00
Ken Raeburn
f641906be5 remove local variables, change-log-mode does all of that 1995-07-31 21:09:39 +00:00
Ken Raeburn
5700b874e4 more vms changes 1995-07-28 00:45:53 +00:00
Ken Raeburn
a619d6d906 fix more compilation problems 1995-07-25 00:14:47 +00:00
Ian Lance Taylor
a91c6b0885 * config/tc-sh.c (md_pseudo_table): Add "uses".
(s_uses): New static function.
	(sh_coff_frob_file): New function.
	(md_convert_frag): Call subseg_change before calling fix_new.
	(sh_handle_align): New function.
	(SWITCH_TABLE): Define.
	(sh_force_relocation): New function.
	(md_apply_fix): Handle R_SH_USES, R_SH_COUNT and R_SH_ALIGN.
	(sh_coff_reloc_mangle): Likewise.  Also handle switch table
	entries.
	* config/tc-sh.h (HANDLE_ALIGN): Define.
	(sh_handle_align): Declare.
	(TC_FORCE_RELOCATION): Define.
	(sh_force_relocation): Declare.
	(TC_COUNT_RELOC): Simplify; rely on TC_FORCE_RELOCATION instead.
	(tc_frob_file): Define.
	(sh_coff_frob_file): Declare.
	* config/obj-coff.c (write_object_file): Call tc_frob_file if it
	is defined.
	(fixup_mdeps): Call HANDLE_ALIGN if it is defined.
	(TC_FORCE_RELOCATION): Define if not defined.
	(fixup_segment): Use TC_FORCE_RELOCATION to decide whether to
	clear the symbol fields of fixP.
1995-07-24 18:18:39 +00:00
Ken Raeburn
5a929558f8 * configure.in (arm-*-riscix*): Don't set emulation. 1995-07-20 17:38:59 +00:00
Ken Raeburn
9d249d343c * config/tc-m68k.c (md_convert_frag): Rename argument seg to sec, since seg is
a macro name in this file.
1995-07-20 17:17:32 +00:00
David Edelsohn
d0ac7e7039 * config/obj-coff.h (TE_PE): Delete.
* config/tc-arm.h (BYTE_ORDER): Delete.
	(TARGET_FORMAT): Provide value for OBJ_COFF and TE_PE.
	(ARM_BI_ENDIAN): Define if OBJ_COFF and TE_PE.
	* config/tc-arm.c (byte_order): Delete.
	(md_number_to_chars): Reference target_big_endian, not byte_order.
	(md_chars_to_number): Likewise.
	(md_longopts): Add -EB/-EL if ARM_BI_ENDIAN.
	(md_parse_options): Recognize -EB/-EL.
	(md_show_usage): List -EB/-EL.
1995-07-19 23:18:57 +00:00
Ian Lance Taylor
fe98e22d83 * gasp.c (process_assigns): Use toupper before comparing against
upper case letter.
	(whatcond): Likewise.
PR 7281.
1995-07-19 16:22:14 +00:00
Ian Lance Taylor
5f8cb05eef * config/tc-sh.c (sh_relax): Rename from relax, and make global.
Renamed all uses.
	(insert): Pass a size of 2, not 4.
	(build_relax): Remove unused len variable.
	(md_show_usage): Mention -little option.
	(md_convert_frag): Add segT argument.  Rewrite to generate relocs
	rather than to generate complete instructions here.
	(md_apply_fix): Adjust and clarify R_SH_PCRELIMM8BY4 case for
	changes in insert and md_pcrel_from.  Add cases for R_SH_PCDISP
	and R_SH_PCDISP8BY2.
	(md_pcrel_from): Don't subtract 1, add 2.
	(tc_coff_fix2rtype): Remove.
	(sh_coff_reloc_mangle): New function.
	* config/tc-sh.h (TC_COFF_FIX2RTYPE): Just return fx_r_type.
	(sh_relax): Declare.
	(TC_COUNT_RELOC): If relaxing, count PC relative relocs.
	(TC_RELOC_MANGLE): Define.
	(sh_coff_reloc_mangle): Declare.
	(tc_coff_sizemachdep): Declare.
	* tc.h (md_convert_frag): Add segT parameter to non BFD_ASSEMBLER
	declaration.
	* write.c (cvt_frag_to_fill): Add sec argument to non
	BFD_ASSEMBLER version.  Pass it to md_convert_frag.
	(write_object_file): Pass SEG_TEXT to cvs_frag_to_fill.
	* config/obj-coff.c (do_relocs_for): Pass segment info to
	TC_RELOC_MANGLE.
	(fixup_mdeps): Pass segment type to md_convert_frag.
	* config/tc-a29k.c (md_convert_frag): Add segT argument.
	* config/tc-h8300.c (md_convert_frag): Likewise.
	* config/tc-h8500.c (md_convert_frag): Likewise.
	* config/tc-i386.c (md_convert_frag): Likewise.
	* config/tc-i860.c (md_convert_frag): Likewise.
	* config/tc-i960.c (md_convert_frag): Likewise.
	* config/tc-m68k.c (md_convert_frag): Likewise.
	* config/tc-m88k.h (md_convert_frag): Likewise.
	* config/tc-ns32k.c (md_convert_frag): Likewise.
	* config/tc-rce.c (md_convert_frag): Likewise.
	* config/tc-tahoe.c (md_convert_frag): Likewise.
	* config/tc-vax.c (md_convert_frag): Likewise.
	* config/tc-w65.c (md_convert_frag): Likewise.
	* config/tc-z8k.c (md_convert_frag): Likewise.
	* config/tc-h8300.h (TC_RELOC_MANGLE): Add segment argument.
	* config/tc-h8500.h (TC_RELOC_MANGLE): Likewise.
	* config/tc-rce.h (TC_RELOC_MANGLE): Likewise.
	* config/tc-w65.h (TC_RELOC_MANGLE): Likewise.
	* config/tc-z8k.h (TC_RELOC_MANGLE): Likewise.
1995-07-19 16:14:49 +00:00
Michael Meissner
fadd4ee1d6 Allow compiler to mark relocs that are ok for -mrelocatable. 1995-07-15 04:10:31 +00:00
Ian Lance Taylor
88f4ab5ff1 Add support for SPARC SunOS PIC:
* config/tc-sparc.h (sparc_pic_code): Always declare, not just
	when OBJ_ELF.
	(TC_RELOC_RTSYM_LOC_FIXUP): Define when OBJ_AOUT.
	(tc_fix_adjustable): New definition for OBJ_AOUT.
	* config/tc-sparc.c (sparc_pic_code): Always define, not just when
	OBJ_ELF.
	(md_apply_fix): Adjust reloc addend for OBJ_AOUT and PIC.  In
	BFD_RELOC_32_PCREL_S2 case, don't increment val for an external
	symbol when PIC.
	(tc_gen_reloc): Generate different PIC relocs when OBJ_AOUT, as
	well as when OBJ_ELF.
	(md_shortopts): If OBJ_AOUT, include `k'.
	(md_parse_option): If OBJ_AOUT, handle 'k'.
	(md_show_usage): Mention -k if OBJ_AOUT, and -KPIC if OBJ_ELF.
	(md_pcrel_from): Don't add in size for an external symbol when
	PIC.
1995-07-15 00:00:32 +00:00
David Edelsohn
403d21d28f * config/tc-arc.c (byte_order): Provide explicit initial value.
Also delete entry for reverted -m{big,little}-endian patch.
1995-07-14 17:30:38 +00:00
Jeff Law
4575a69d6b * config/tc-hppa.h (UNDEFINED_DIFFERENCE_OK): Define for SOM.
* write.c (adjust_reloc_syms): Set sy_used_in_reloc for both
        symbols in a fixup where a defined symbol is subtracted from an
        undefined symbol (when UNDEFINED_DIFFERENCE_OK is defined).
        (fixup_segment): Do nothing for the difference of two symbols if
        UNDEFINED_DIFFERENCE_OK is defined.
1995-07-14 03:19:38 +00:00
Jim Wilson
37ea61215c Fix debug info bugs for SGI
* ecoff.c (add_file): Don't collapse multiple .file commands into
	a single file structure.
	(ecoff_build_lineno): Set ilineBase to sum of previous file's
	ilineBase and cline.
1995-07-13 19:00:19 +00:00
Ian Lance Taylor
ac7530a895 * config/obj-coff.c (fixup_segment): Support MD_APPLY_FIX3. 1995-07-13 03:34:38 +00:00
Ken Raeburn
f7da4a99d4 fix more compilation bugs 1995-07-12 20:45:57 +00:00
Ian Lance Taylor
6804bd6c4c * doc/c-mips.texi: Document -m4010 and -mno-4010. 1995-07-11 18:32:16 +00:00
Ian Lance Taylor
e5fa3f23e8 * ecoff.c (struct efdr): Add new field fake.
(init_file): Initialize fake.
	(add_file): Add new parameter fake.  Change all callers.
	(ecoff_build_debug): Don't warn about a missing .end for a fake
	file.
PR 6509.
1995-07-11 17:26:08 +00:00
Ken Raeburn
cc02a8a9c6 * read.c (po_hash): Now static. 1995-07-10 20:49:45 +00:00
Ian Lance Taylor
fb33961bff Based on patches from H.J. Lu <hjl@nynexst.com>:
* config/tc-i386.c (md_apply_fix3): Rename from md_apply_fix1.
	Accept pointer to value and segment.  Fix OBJ_ELF PCREL case to
	handle global defined symbols correctly.
	(md_apply_fix): Remove both versions.
	* config/tc-i386.h (MD_APPLY_FIX3): Define.
1995-07-10 19:01:21 +00:00
Ian Lance Taylor
84144a8f56 * configure.in: When switching on ${cpu}, use ${cpu}, not
$[target_cpu}, in default case.
	* configure: Rebuild.
1995-07-10 17:48:48 +00:00
Ian Lance Taylor
ed453d2ec4 * write.c (fixup_segment): Call resolve_symbol_value on
sub_symbolP, in case it isn't in the symbol table.
PR 7131.
1995-07-08 17:29:04 +00:00
Ian Lance Taylor
c71a604ae1 * read.c (s_lcomm): For .lcomm 1, set align to 0, not 1.
PR 5167.
1995-07-07 22:42:13 +00:00
Ian Lance Taylor
ae99a6721f * config/obj-coff.c (coff_frob_symbol): If SF_GET_FUNCTION, set
BSF_FUNCTION.
	(symbol_globalP, symbol_global_lastP): New global variables.
	(yank_symbols): Sort defined global symbols to the end, just
	before the undefined symbols.
	(glue_symbols): Add two arguments, and use them instead of
	referring directly to global variables.
	(crawl_symbols): Call glue_symbols twice, once for defined globals
	and once for undefined.  Add corresponding know calls.
PR 5491.
1995-07-07 21:29:54 +00:00
Ian Lance Taylor
6be977fb57 * app.c (do_scrub_next_char): Always accept \v. Don't make it
conditional on BACKSLASH_V.
	* read.c (next_char_of_string): Likewise.
	* config/obj-bout.h (BACKSLASH_V): Don't define.
	* config/tc-mips.h (BACKSLASH_V): Don't define.
PR 5604.
1995-07-07 20:10:27 +00:00
Ian Lance Taylor
5767cfb748 Add SPARC ELF PIC support.
* write.c (fixup_segment): Pass fixP to TC_RELOC_RTSYM_LOC_FIXUP,
	not fixP->fx_r_type.
	* config/tc-sparc.c (sparc_pic_code): New global variable.
	(md_apply_fix): If generating PIC, adjust fx_addnumber for any non
	PC relative reloc.
	(tc_gen_reloc): If generating PIC, adjust various reloc types.
	Remove fx_pcrel assert, since it is no longer true.
	(md_parse_option): Handle -K PIC.
	* config/tc-sparc.h (sparc_pic_code): Declare if OBJ_ELF.
	(TC_RELOC_RTSYM_LOC_FIXUP): Define if OBJ_ELF.
	(tc_fix_adjustable): Don't adjust PC relative relocs if PIC.
	* config/tc-i386.h (TC_RELOC_RTSYM_LOC_FIXUP): Take a fixp, not a
	reloc type.
PR 7131.
1995-07-07 17:03:21 +00:00
Ian Lance Taylor
cebf05ad1c * Makefile.in (Makefile): Add dependency on conf.in, so that conf
is rebuilt when conf.in changes.
1995-07-07 15:18:31 +00:00
Ken Raeburn
a2a5a4fa41 fsf address update 1995-07-06 21:18:08 +00:00
Ian Lance Taylor
85a961c6a1 Patches from Jerry Blakely <gerry_blakley@wellfleet.com>:
* as.c (listing_filename): New static variable.
	(show_usage): Mention -a=file.
	(parse_args): Support = option of -a to set name of listing file.
	(main): Pass listing_filename to listing_print.
	* listing.c (list_file): New static variable.
	(various): Replace printf with fprintf to list_file.
	(listing_print): If name argument is not NULL, open it as
	list_file.
	* doc/as.texinfo, doc/as.1: Document -a=file.
PR 6354.
1995-07-06 20:39:31 +00:00
Ian Lance Taylor
a0eb1c2c56 * config/tc-sparc.c (s_reserve): Don't permit redefinition, even
if the symbol was already in bss_section.  Fix warning message.
PR 6797.
1995-07-06 18:36:55 +00:00
Ian Lance Taylor
bcaa9b051c * listing.c (struct file_info_struct): Rename end_pending field to
at_end.
	(file_info): Initialize at_end, not end_pending.
	(buffer_line): If at_end set, just return immediately.  Don't
	worry about end_pending cases.  Set at_end when EOF is read.
	(print_source): Check at_end, not end_pending.
	(listing_listing): Likewise.
PR 6636.
1995-07-06 18:00:09 +00:00
Ian Lance Taylor
265d172efb * config/tc-alpha.h (alpha_do_align): Don't declare.
(md_do_align): Don't define.
	(tc_frob_label): Define.
	(alpha_define_label): Declare.
	(md_flush_pending_output): Define.
	(alpha_flush_pending_output): Declare.
	* config/tc-alpha.c (insn_label): New static variable.
	(auto_align): New static variable.
	(md_pseudo_table): Add cases for .text, .data, .align, .byte,
	.hword, .int, .long, .octa, .quad, .short, .word, .double, .float,
	and .single.  Change .t_floating, .s_floating, .f_floating,
	.g_floating, and .d_floating to use s_alpha_float_cons rather than
	float_cons.
	(s_alpha_text, s_alpha_data): New static functions.
	(s_rdata, s_sdata): Clear insn_label and set auto_align.
	(s_gprel32): If auto_align, align.  Clear insn_label.
	(emit_insn): Clear insn_label.
	(s_alpha_align): New static function.
	(alpha_align): Make static.  Take label argument.
	(alpha_flush_pending_output): New static function.
	(s_alpha_cons, s_alpha_float_cons): New static functions.
	(alpha_define_label): New function.
PR 7148.
1995-07-06 16:59:29 +00:00
Ken Raeburn
ad0ab4eb41 regenerate conf.in with autoreconf 1995-07-06 02:58:40 +00:00
Ken Raeburn
4b18b7cd88 more vms fixes from Pat Rankin 1995-07-06 02:52:44 +00:00
Ian Lance Taylor
a7aa7a2ba9 * config/tc-sparc.c (md_shortopts): Add "K:" if OBJ_ELF.
(md_parse_option): If OBJ_ELF, check for -K.  Die if -K PIC, since
	PIC code is not currently supported.

	* as.c (parse_args): Change std_shortopts to be an array rather
	than a constant string.  Only include 'K' if WORKING_DOT_WORD is
	not defined.  Only check for 'K' in that case as well.
	* as.h (flag_warn_displacement): Only declare if WORKING_DOT_WORD
	is not defined.
PR 7131.
1995-07-05 21:52:10 +00:00
Ian Lance Taylor
9814e22f03 * conf.in: Add undef of HAVE_SBRK. 1995-07-05 21:47:07 +00:00
Ian Lance Taylor
3f8416d5e1 * config/obj-coff.c (obj_coff_line): Call listing_source_line, in
both BFD_ASSEMBLER and non BFD_ASSEMBLER versions of the function.
PR 7006.
1995-07-05 20:31:31 +00:00
Ian Lance Taylor
56dc989a91 * symbols.c (S_SET_EXTERNAL): Warn if symbol is weak.
(S_CLEAR_EXTERNAL): Likewise.
	(S_SET_WEAK): Warn if symbol is global.
PR 6750.
1995-07-05 19:59:07 +00:00
Ian Lance Taylor
f219dc655a * config/obj-aout.c (obj_aout_frob_symbol): Warn about an attempt
to put an undefined symbol into a set.
PR 6340.
1995-07-05 19:04:58 +00:00
Ian Lance Taylor
816a827b07 * Makefile.in: Remove @configure_input@; it's not needed in
files named Makefile.
1995-07-05 17:56:52 +00:00
Ian Lance Taylor
ca046e3444 * config/tc-m88k.c (md_pseudo_table): Add ".set" so that the
explicit pseudo-op works, while continuing to treat "set" as an
	instruction.
PR 5199.
1995-07-05 17:13:16 +00:00
Ian Lance Taylor
22ba90ce85 * ecoff.c (ecoff_debugging_seen): New global variable.
(ecoff_directive_def): Set ecoff_debugging_seen.
	(ecoff_stab): Likewise.
	* ecoff.h: Make idempotent.
	(ecoff_debugging_seen): Declare.
	* config/tc-mips.c: Include ecoff.h.
	(mips_debug): New static variable.
	(s_stringer, s_mips_space): Remove unneeded declarations.
	(md_parse_option): In case 'g', set mips_debug to debugging level.
	(mips_local_label): New function.
	* tc-mips.h (LOCAL_LABEL): Call mips_local_label.
	(mips_local_label): Declare.
PR 6978.
1995-07-05 16:10:50 +00:00
Fred Fish
e63c594dd0 * as.c (main): Only use sbrk when HAVE_SBRK defined.
* configure.in:  Add test for sbrk.
	* configure:  Regenerate using autoconf 2.4.
1995-07-05 08:04:28 +00:00
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
6c186c48dc * configure[.in] (i386-*-win32): New host and target. 1995-07-03 21:25:26 +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
Ken Raeburn
1a9924d8b3 doc update 1995-06-28 23:39:54 +00:00
Ken Raeburn
4a9983089e doc updates 1995-06-28 21:50:42 +00:00
Michael Meissner
3f4ca87446 Fix warning 1995-06-22 18:44:36 +00:00
Ken Raeburn
c151fd1e13 m68k fixes from Andreas Schwab, with minor changes 1995-06-21 22:43:13 +00:00
Ken Raeburn
a183540991 * config/tc-sparc.c (sparc_ip, case 'A'): If ASI is not a "#" value, don't
shift it an extra time.
1995-06-21 22:09:45 +00:00
Steve Chamberlain
85b369b3a4 * gasp.c (do_print, do_form, buffer_and_nest): Use case insensitive
string compares. gas/7274.
1995-06-21 21:37:13 +00:00
Ken Raeburn
34308df7a3 *config/obj-coff.c (write_object_file): Cast time() argument to time_t *. 1995-06-20 19:01:18 +00:00
Jeff Law
420c479b5a * config/tc-hppa.c (pa_build_unwind_subspace): Fix typo in last
change.
1995-06-20 18:02:44 +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
David Edelsohn
f6d6f1028e * config/tc-arm.h (LOCAL_LABEL): Prepend '.' if not OBJ_AOUT.
(FAKE_LABEL_NAME): Likewise.
1995-06-15 17:06:20 +00:00
Ken Raeburn
69cb5925c9 whitespace & date-format cleanup 1995-06-13 23:13:28 +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
David Edelsohn
0cd2755006 * config/tc-arc.h (MD_APPLY_FIX3): Define.
* config/tc-arc.c (md_apply_fix3): Renamed from md_apply_fix.
	Undo effects of md_pcrel_from if symbol is in another section.
1995-06-08 18:45:33 +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
1be0c30e50 change i386-gnu to elf 1995-06-05 06:36:11 +00:00
Ken Raeburn
1cb0d00d8f arm config fix from Richard Earnshaw 1995-06-01 22:28:54 +00:00
Ken Raeburn
58abad7d79 vms fixes from Pat Rankin 1995-06-01 22:12:20 +00:00
Ken Raeburn
0b14349249 (grump. thought i checked this in last week.)
Check explicitly for undefined local dollar and f/b labels, and print a useful
message if any are found, instead of generating obscure undefined symbol table
entries.
1995-05-30 16:39:06 +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
David Edelsohn
2e715f06c3 * config/tc-sparc.c (tc_gen_reloc): Handle BFD_RELOC_SPARC_WDISP16
and BFD_RELOC_SPARC_WDISP19.
1995-05-24 00:04:19 +00:00
Ken Raeburn
6e43bf824c fix emulation code so configurations not supporting it still build 1995-05-23 23:20:52 +00:00
Ken Raeburn
70d6c39671 fix up stab handling 1995-05-23 01:45:12 +00:00
Ken Raeburn
4761bb029a more emulation fixes 1995-05-23 00:09:34 +00:00
David Edelsohn
1fc2205e09 * config/tc-arc.c (md_pcrel_from): Return 0 for undefined symbols. 1995-05-22 23:58:52 +00:00
Ken Raeburn
0509f0643c more vms updates from Pat Rankin 1995-05-20 20:11:38 +00:00
Ken Raeburn
a088fb62b3 From Pat Rankin:
For VMS gas port, make libiberty build on its own instead of driving it all out
of the gas directory.  Also improve some of the libiberty support for VMS.
1995-05-20 19:59:47 +00:00
Ken Raeburn
078d1a5afa From Richard Earnshaw (rearnsha@armltd.co.uk):
* gasp.c (istrue): Correctly test for string inequality.
1995-05-19 18:43:49 +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
Ken Raeburn
ff17873d14 * config/obj-ecoff.c (ecoff_pop_insert): New function.
(ecoff_format_ops): Use it.
(obj_ecoff_frob_symbol): Now static.
1995-05-16 23:36:53 +00:00
Michael Meissner
9914665911 Little endian fix 1995-05-16 23:30:21 +00:00
Ken Raeburn
b444036dd9 * config/tc-mips.c (mips_init_after_args): New function. Set byte_order here.
(md_parse_option): Not here.
(byte_order): Don't bother initializing.
* config/tc-mips.h (mips_init_after_args): Declare.
(tc_init_after_args): New macro.
1995-05-16 23:27:02 +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
Ken Raeburn
b0d419969e read.c (s_lcomm): Do ELF/ECOFF test at run time, not compile time. 1995-05-16 22:17:17 +00:00
David Edelsohn
58ca0030db * config/tc-arc.c (md_longopts): -EB/-EL renamed to
-mbig-endian/-mlittle-endian.
	(md_show_usage): Likewise.
1995-05-15 20:42:57 +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
bb2c928158 fix non-mips elf config 1995-05-11 19:03:53 +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
Jeff Law
56187f656d * config/tc-hppa.c (md_apply_fix): Cast *valp to an integer when
comparing against signed values.
	(hppa_force_relocation): Make "distance" an integer.
1995-05-09 17:00:48 +00:00
Ken Raeburn
1e63de912e * obj.h (struct format_ops) [BFD_ASSEMBLER]: New type.
(this_format) [BFD_ASSEMBLER]: Declare new variable, if not already defined as
a macro.
1995-05-09 04:53:50 +00:00
Ken Raeburn
fd1fdba258 * subsegs.h (seg_info): Provide dummy version for non-BFD_ASSEMBLER,
non-MANY_SEGMENTS configuration.  It should never get invoked, but this is
easier than conditionalizing some of the uses.
(struct seg_info_trash): Dummy type used by above to make code compile.
1995-05-09 01:50:04 +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
52f969e29e * read.h (get_stab_string_offset): Declare unconditionally. 1995-05-04 23:44:28 +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
Jeff Law
55ac59da2e Add hppa1.1-hp-lites support. 1995-05-02 22:39:41 +00:00
Ken Raeburn
2c4022afdd read.c, tc-mips changes 1995-05-02 19:33:44 +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
David Edelsohn
86a90ab902 ARC stuff. 1995-04-30 04:48:46 +00:00
David Edelsohn
85f667f79f * Makefile.in (RUNTEST): Use one in srcdir if present.
(RUNTESTFLAGS): Define.
1995-04-28 03:08:55 +00:00
Ken Raeburn
931a8fab1b Support for more portable alignment handling in assembly code, based on patches
from Bryan Ford <baford@schirf.cs.utah.edu>:
* read.c (potable): Added balign and p2align, for aligning by bytes or powers
of two independent of what ".align" does for a given target.
* doc/as.texinfo: Document them.
1995-04-26 20:02:18 +00:00
Rob Savoye
404f16f5b2 * configure, configure.in: Look for m68k-*-vxworks* rather than
just m68k-wrs-vxworks so gas can be configured for
	m68k-vxworks5.1.
1995-04-25 18:14:45 +00:00
Ken Raeburn
51ba1ae69b Fix for PR 6732.
* config/tc-sh.c (md_convert_frag): Instead of aborting on large displacements,
print an error message.  Don't invoke the code that followed the abort call
until it's been verified.
1995-04-13 23:36:33 +00:00
Ken Raeburn
bcee935e6b * config/tc-m68k.c (md_show_usage): Add 68060 to list. Split cpu list into
three lines.
1995-04-13 22:21:11 +00:00
Stan Shebs
b55496866d Merge MPW ChangeLog with generic ChangeLog 1995-04-12 19:27:42 +00:00
David Edelsohn
5d57a66b5a ARC stuff. 1995-04-12 14:40:14 +00:00
Ken Raeburn
98df091243 * configure.in: Require at least autoconf 2.3, because earlier versions lose on
some AIX versions.
* configure: Regenerated.

* configure.in: Add m68k-*-elf.
* config/tc-m68k.c (comment_chars) [OBJ_ELF]: Include '#'.
(md_pseudo_table) [OBJ_ELF]: Ignore "swbeg".
(md_begin): Set alt_notend_table['&'], so svr4-style immediate operands are
accepted.
(md_apply_fix): Argument VALP should point to valueT.
(md_convert_frag): Argument SEC should be type segT.
(md_shortopts) [OBJ_ELF]: Accept 'Q' with an argument.
(md_parse_option): Ignore it.
(md_convert_frag_1): Add in frag address for the symbol in the displacement
calculation.
* config/tc-m68k.h (TARGET_FORMAT) [OBJ_ELF]: Use "elf32-m68k".
(TARGET_ARCH): Define.
(REGISTER_PREFIX_OPTIONAL) [OBJ_ELF]: Default to 0.
(LOCAL_LABEL, FAKE_LABEL_NAME, REGISTER_PREFIX_OPTIONAL): Handle these the same
way for OBJ_ELF as for M68KCOFF.
1995-04-11 23:51:52 +00:00
Ken Raeburn
7b1f56d41c * as.h (struct relax_type): Add forward declaration for type. 1995-04-11 22:55:29 +00:00
Ken Raeburn
faf2dc2714 note doc changes 1995-04-11 06:34:31 +00:00
Ken Raeburn
7beebeb652 bunch o changes 1995-04-11 06:19:06 +00:00
Ken Raeburn
7015284b09 doc changes 1995-04-10 20:11:48 +00:00
David Edelsohn
47ba63b2bb ARC stuff. 1995-04-07 03:14:12 +00:00
Torbjorn Granlund
6d7bcd2f26 Changes for hosting on 64 bit machines. 1995-03-30 01:18:40 +00:00
Ian Lance Taylor
350f083c5f * config/tc-mips.c (md_show_usage): Mention -mips4 and -m4650. 1995-03-21 21:54:25 +00:00
Jeff Law
bff1e14da7 * config/tc-hppa.c (pa_comm): Make sure to always reset the frag
and section for common symbols.
1995-03-17 19:42:22 +00:00
Ian Lance Taylor
e5926c4a4c * ecoff.c (ecoff_build_debug): The cur_scope field of a fil_ptr
may be NULL when given strange input.  Don't core dump.
PR 6509.
1995-03-15 19:47:15 +00:00
Ian Lance Taylor
a7f668c02f * config/tc-mips.c (load_register): Don't use addiu for dli of an
unsigned seemingly negative number.  Don't bother shifting a zero
	value.
	(mips_ip): For case 'j', if there are more alternatives, and the
	ISA level is at least 3, don't accept an unsigned seemingly
	negative number.
1995-03-15 02:39:39 +00:00
Ken Raeburn
f6bc42a3c0 * read.c (s_app_line): Fix last patch to deal with a line number of 1. 1995-03-15 00:44:25 +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
85a30e5978 Mon Mar 13 17:03:46 1995 Pat Rankin (rankin@eql.caltech.edu)
* config/tc-vax.c (md_assemble):  issue a warning if a constant
	is used as an operand where an immediate value is not allowed.
1995-03-14 02:27:26 +00:00
Ken Raeburn
78fcad5848 * config/obj-coff.c: Redo my 10 Jan change, but get it right this time. :-)
(fixup_segment): If linkrelax is set, just return.
(write_object_file): Don't treat h8300 and z8k specially with regard to fixups.
* config/tc-h8300.c (md_begin): Set linkrelax.
* config/tc-z8k.c (md_begin): Ditto.
1995-03-11 00:30:30 +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
9a6ec5ebd1 Delete this patch, it breaks the h8300 assembler.
Tue Jan 10 13:34:14 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
	* config/obj-coff.c (write_object_file): Don't treat h8300 and z8k
	specially with regard to fixups.
1995-03-09 21:54:14 +00:00
Ian Lance Taylor
a79bf95d03 * config/tc-mips.c (md_begin): Check for a cpu string of r8000 or
r10000.  If mips_isa is 4, set the machine number to 8000.
	(append_insn): If mips_isa is at least 4, don't generate nops for
	coprocessor delays.  Check INSN_READ_FPR_R when setting
	mips_cprmask[1].
	(mips_emit_delays): If mips_isa is at least 4, don't generate nops
	for coprocessor delays.
	(mips_ip): Check for INSN_ISA4 instructions.  Handle new argument
	types 'h', 'R', 'N', and 'M'.
	(md_longopts): Accept "mips4".
	(md_parse_option): Handle -mips4, and -mcpu=10000 and -mcpu=8000.
	(s_mipsset): Permit .set mips4.
1995-03-08 20:46:47 +00:00
Michael Meissner
74e1b52ea3 Allow .stab section to contain non PC relative addresses if -mrelocatable. 1995-03-08 15:03:50 +00:00
Ken Raeburn
82a7c4572a * config/tc-m68k.c (opcode_ptr): Return pointer to const.
(md_begin): Make hash table errors fatal.  Process opcode aliases after main
opcode table.
(md_apply_fix_2, case 4): Recode setting of lower_limit to avoid gcc warning.
1995-03-08 08:10:49 +00:00
David Edelsohn
3f4487d078 Patches to ARC to make byte order runtime selectable. 1995-03-08 04:47:31 +00:00
Ian Lance Taylor
3e39a55624 * doc/as.texinfo: Add documentation for SPARC V9, from Doug Evans
<dje@cygnus.com>.
1995-03-07 21:08:53 +00:00
Jeff Law
5f24161709 * config/tc-hppa.c: Change all occurences of pa-89 with pa-11 to
be consistent with current naming conventions.
	(md_begin): Set a default architecture and machine type.
	(pa_ip): If the current instruction specifies a newer machine type
	than the current machine type, then update the current machine
	type.
	(need_pa11_opcode): Likewise.
1995-03-06 17:02:38 +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
Ken Raeburn
cb7973c33e * config/tc-h8300.* (md_operand): Change empty function to empty macro.
* config/tc-h8300.c (build_bytes): Make H8/300-H warning message clearer.
1995-03-03 22:55:46 +00:00
Ken Raeburn
46f1280981 m68k entry i forgot to check in 1995-03-03 22:49:11 +00:00
Ken Raeburn
0578ade3f2 * write.c (write_contents): If bfd_set_section_contents fails, print a message
and exit, instead of aborting.
1995-03-03 22:44:04 +00:00
Michael Meissner
3f81f3cfe4 If -mrelocatable, warn about relocs that are incompatible. 1995-03-03 21:34:36 +00:00
Ken Raeburn
33d8f4697c read.c, tc-* md_operand changes 1995-02-28 23:38:47 +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
Kung Hsu
d2c0206038 * configure.in: add a29k-*-vxworks configuration. 1995-02-27 21:05:00 +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
Jeff Law
e386acc8d7 * config/tc-hppa.c (md_apply_fix): Don't subtract the value of the
add symbol if it's a common symbol (the value of a common symbol
	is its size, not a value in the traditional sense).
1995-02-23 06:16:35 +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
7a3761e194 * config/obj-elf.c (elf_frob_symbol): Warn if a symbol is both
weak and common.
	* config/obj-aout.c (obj_aout_frob_symbol): Likewise.
1995-02-17 19:54:47 +00:00
Michael Meissner
5836732bf5 Add PC relative support to PowerPC ELF assembler. 1995-02-17 17:51:00 +00:00
David Edelsohn
b8ed3de398 * expr.c (operand): Move md_operand handling to default case
(so it works).
1995-02-16 22:35:50 +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
Ian Lance Taylor
34419a7fe3 Gas reloc handling reeks.
PR 6343.
1995-02-15 20:34:32 +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
Ian Lance Taylor
08b7351f06 * config/tc-sparc.h (tc_fix_adjustable): Define if OBJ_ELF.
* config/tc-sparc.c (md_apply_fix): If OBJ_ELF, subtract out the
	value of a defined symbol; the value was added in by
	fixup_segment.  This was previously corrected, if the reloc was
	changed to be against a section symbol, in tc_gen_reloc.
1995-02-13 21:18:22 +00:00
Ian Lance Taylor
e13a80f72f * config/tc-i386.c (tc_i386_fix_adjustable): Use S_IS_EXTERN
rather than !S_IS_LOCAL.
You might think they would be equivalent, but....
1995-02-10 19:05:43 +00:00
David Edelsohn
2ec8f45e6a Lotsa arc stuff. 1995-02-10 02:00:13 +00:00
Ian Lance Taylor
79c4bb347e * config/tc-i386.c (md_assemble): Adjust conditions for changing
BFD_RELOC_32 to BFD_RELOC_386_GOTPC to handle a switch in frags.
	Patch originally from Rob Ryan <robr@cmu.edu>.

	* config/tc-i386.c: Include subsegs.h.
	(tc_i386_fix_adjustable): Declare return value.
	(i386_operand): Don't use an assignment directly as a condition.
1995-02-09 23:19:27 +00:00
Jeff Law
e6d311352a * config/tc-hppa.c (md_apply_fix): In some cases subtract the
value of the add symbol from valp.  Offsets braindamage in the
        "machine independent" fixup_segment.
1995-02-09 17:44:30 +00:00
Ken Raeburn
e10c7dfcf4 * messages.c (as_abort): New function.
* as.h (as_abort): Declare it.
(abort): New macro.
1995-02-08 23:57:26 +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
Michael Meissner
06c08e9a1f Add support for powerpc-*-eabi in configure.in, rebuild configure. 1995-02-07 18:42:04 +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
e2bf68803d * config/tc-m68k.c (cpu32_control_regs): New macro.
(m68k_init_after_args): Use it, for cpu32 processors.
1995-02-02 20:23:15 +00:00
Ken Raeburn
a18a0f225d * config/tc-h8300.c (get_specific): Add parens around | inside &.
(skip_colonthing): Set L_8 if ":8" is specified.
1995-01-27 00:05:09 +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
Jim Wilson
8d9a1cce3f * tc-sh.c (little): Add argument IGNORE to avoid compiler warnings.
(md_pseudo_table): Add space for consistent formatting.
	(COND8_RANGE, COND12_RANGE): Delete unused macros.
	(COND8_F, COND8_M, COND12_F, COND12_M, UNCOND12_F, UNCOND12_M):
	Correct minimum and maximum branch offsets.  Add comments explaining
	why these numbers are correct.
1995-01-26 00:26:11 +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
Jeff Law
359bb9a364 * config/tc-hppa.c (pa_ip, case 'D'): Fix typo which caused
miscompilation of "diag" instructions.

	* gas/hppa/basic/basic.exp (do_system): Update.
1995-01-24 04:50:43 +00:00
Ken Raeburn
7343338436 configure regen, tc-mips.c libiberty.h include 1995-01-23 21:57:32 +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
Ian Lance Taylor
eb10ff23af * configure.in (i386-*-gnu*elf*): New target. 1995-01-23 19:09:02 +00:00
Ian Lance Taylor
be7571b69a * hash.c (hash_ask): If we find the slot after wrapping around,
break out of the loop.  Fixes bug in Jan 18 change.
1995-01-22 00:04:01 +00:00
Ken Raeburn
b2683e0914 back out new hash routine 1995-01-20 22:14:27 +00:00
Ken Raeburn
11618ce8f2 gcc lint 1995-01-19 21:04: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
6ece68f0b3 * write.c (fix_new_internal): Clear fx_bsr on those targets which
use it.
1995-01-19 00:17:57 +00:00
Ken Raeburn
fca2796aec some improvements to fp code 1995-01-19 00:13:30 +00:00
Ken Raeburn
29c8d82c45 sparc, coff, hash changes 1995-01-18 18:53:49 +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
Ian Lance Taylor
23f61eaae8 * config/tc-mips.c (mips_4650): New static variable.
(md_begin): Handle a cpu string of "4650".  If mips_4650 was not
	initialized, set it to 0.
	(append_insn): Don't insert nops around HI and LO on a 4650.
	(mips_emit_delays): Likewise.
	(mips_ip): Use INSN_ISA mask to check ISA of instruction.  Check
	for INSN_4650.
	(md_longopts): Add m4650 and no-m4650.
	(md_parse_option): Handle mips-cpu=4650.  Handle -m4650 and
	-no-m4650.
	* doc/as.texinfo: Document new MIPS options.
1995-01-17 16:13:44 +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
203235652d * app.c (do_scrub_next_char) [__GNUC__ && __OPTIMIZE__]: If `get' function is
scrub_from_file, call scrub_from_file directly, and get gcc's inlining
capability into the act.
1995-01-13 01:05:42 +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
c01ebe2a5e Don't generate 68020 addressing modes for a 68000 cpu. 1995-01-12 00:34:50 +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
2a6978af8d * gasp.c: Include string.h. Put config.h before other includes. 1995-01-06 22:00:50 +00:00
Ken Raeburn
cd3b81bd4c Handle .space directive with non-constant operand:
* read.c (s_space): Rewrite to handle general expressions.  Generate rs_space
frags for non-constant values.
* write.c (cvt_frag_to_fill): Treat rs_align_code and rs_space like rs_align
and rs_org.  Verify that fr_offset is non-negative, and force frag type to
rs_fill only after assertion checks.
(relax_segment): Treat rs_align_code like rs_align.  Treat rs_space like rs_org
in the first switch; in the second, force the operand to a constant, and use it
for the growth size.
1994-12-31 00:08:40 +00:00
Ken Raeburn
849515449b * Makefile.in (dependencies): Make $(OBJS) depend on as.h and everything it
includes.  Delete those files from per-file dependencies.
1994-12-30 23:56:14 +00:00
Ken Raeburn
f949f7b8c5 * listing.c (list_symbol_table): Build a format string based on the size of the
value to be printed, as long as "unsigned long" is at least as wide, after
handling the special case of 4-byte values.
1994-12-30 23:54:59 +00:00
Jeff Law
582d2a4d37 * config/tc-hppa.c (pa_subspace): For sections with the ZERO
attribute, set the "bss" field in the appropriate seginfo structure.
1994-12-29 03:59:28 +00:00
Ken Raeburn
4a9c666ec2 * subsegs.h: Include obstack.h.
* as.h (struct frag): Enable align* components now.
1994-12-28 20:02:03 +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
Ken Raeburn
7e2283d46c * Makefile.in (SUBDIR_INCLUDES): Deleted. 1994-12-20 19:59:57 +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
88cc1324ff Various arc stuff. 1994-12-19 21:07:43 +00:00
Ken Raeburn
5cda0c7a7f * configure.in: Recognize mips-sony-bsd and mips-dec-bsd, but reject other
vendors until we can be sure we're consistent with bfd.
1994-12-19 20:06:12 +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
b63defaa3c * Makefile.in (CHECKFLAGS): Don't pass AS_FOR_TARGET, CC_FOR_TARGET,
OBJDUMP_FOR_TARGET, NM_FOR_TARGET; they're not used.
(AS_FOR_TARGET, CC_FOR_TARGET, OBJDUMP, OBJDUMP_FOR_TARGET, NM, NM_FOR_TARGET):
Don't define.
(VMS_OTHER_OBJS): Add xmalloc.o and xexit.o from libiberty.
(tooldir): Use exec_prefix, not libdir.
1994-12-17 01:03:15 +00:00
Stan Shebs
254603ca33 * config/obj-coff.h: Include libcoff.h, not ../bfd/libcoff.h. 1994-12-16 20:06:38 +00:00
Stan Shebs
719153bfe7 * as.h: Include progress.h.
* as.c (main): Call START_PROGRESS and END_PROGRESS.
	(main, perform_an_assembly_pass): Call PROGRESS.
1994-12-16 19:41:56 +00:00
Ian Lance Taylor
0141b6c276 * write.c (adjust_reloc_syms): Use bfd_is_und_section and
bfd_is_abs_section rather than comparing against &bfd_und_section
	and &bfd_abs_section.
1994-12-16 05:49:05 +00:00
Jim Wilson
8b1f3552cf * config/tc-sh.c (md_begin): Use a local variable when
initializing md_relax_table to avoid errors about modifying a
	const data structure.
1994-12-15 23:30:01 +00:00
Ian Lance Taylor
7ac36f6470 * config/tc-ppc.c (tc_gen_reloc): Remove OBJ_ELF hack which
appears to no longer be needed.
1994-12-13 20:43:28 +00:00
Ian Lance Taylor
6baef6d24a * config/tc-mips.c (macro_build): Accept BFD_RELOC_PCREL* without
requiring that the X_op_symbol be in the text_section.
	(macro): Change the test for a legel expression difference to
	correspond to changes in pseudo_set in read.c.
1994-12-13 16:07:02 +00:00
Ken Raeburn
a55774a124 * write.c (write_relocs) [RELOC_EXPANSION_POSSIBLE]: Use bfd_install_relocation. 1994-12-10 02:10:44 +00:00
Ken Raeburn
3504635adc * ecoff.c (ecoff_set_gp_prolog_size): If there is no current routine, just
return.
1994-12-10 02:09:12 +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
Ken Raeburn
b8f5275075 * Makefile.in (NM_FOR_TARGET): Use ../binutils/nm.new, not just plain nm. 1994-12-09 01:19:22 +00:00
Ken Raeburn
c574599626 added mips-gnu target for roland 1994-12-08 23:36:37 +00:00
Ken Raeburn
4181c9853b configure.in: fix ns32k-pc532-mach* and mips-sony-bsd* configs 1994-12-08 22:54:22 +00:00
David Edelsohn
6ea93cc98c Initial ARC support. 1994-11-30 02:16:54 +00:00
Ken Raeburn
23c17feaa7 delete signal handler code (which has been disabled since March 93) 1994-11-30 01:01:13 +00:00
Ken Raeburn
d2a0c9f960 switch to libiberty version of xmalloc 1994-11-30 00:56:43 +00:00
Ken Raeburn
75af551fc4 log for alpha, sanitize, m68k, rce (sanitized) changes 1994-11-29 22:30:53 +00:00
David Edelsohn
326fe1a335 (do_scrub_next_char): Insert missing newline at end of file
like warning says we do.
1994-11-28 19:38:39 +00:00
Jeff Law
e07f892633 * config/tc-hppa.h (pa_check_eof): Declare new extern function.
(tc_frob_file): Define to call pa_check_eof.

	* config/tc-hppa.c (pa_check_current_space_and_subspace): New
	function to verify the current space and subspace are reasonable.
	Call for the appropriate pseudo-ops and before instruction parsing.
	(pa_check_eof): New function to verify enter/exit and proc/procend
	pairs match at EOF.
	(pa_code): Simplify.

	* config/obj-som.c: Delete #if 0 code.
1994-11-28 07:54:07 +00:00
Steve Chamberlain
3f67e00028 * config/obj-coff.h (TARGET_FORMAT): Select between coff-shl and coff-sh.
* config/sh.mh (TARG_CPU_DEPENDENTS): Get it right.
	* config/tc-sh.c  (little): New function.
	(md_parse_option): Notice new option.
	(build_relax, build_Mytes, md_atof, md_convert_frag, md_apply_fix):
        Cope with little endian data.
	* config/tc-sh.h (COFF_MAGIC, LISTING_HEADER): Endian dependent.
1994-11-24 03:42:15 +00:00
Jeff Law
32c7d5d864 * config/tc-hppa.c (tc_gen_reloc, ELF variant): Revert last
change.  The real bug was in bfd/elfcode.h and has been fixed.
1994-11-23 17:57:00 +00:00
Jeff Law
740e5428b0 * config/tc-hppa.c (tc_gen_reloc, ELF variant): Add section->vma
to the relocation's offset.
1994-11-23 06:34:13 +00:00
Steve Chamberlain
aa30c7ee22 * Makefile.in (INSTALL_XFORM): Fix typo. 1994-11-22 23:18:24 +00:00
J.T. Conklin
3a443b1efe * config/tc-alpha.c (s_alpha_set): Ignore the .set (no)move and
.set (no)volatile directives.
1994-11-22 18:29:07 +00:00
Jeff Law
e67b3aa3a7 * config/tc-hppa.c (pa_align): New function. Aligns the current
offset within the current subspace along with updating the
	alignment of the subspace itself.
	(pa_subspace): Default alignment to one byte rathern than zero
	bytes to avoid setting alignment to log2(0).
	(md_pseudo_table): Use pa_alignment for .align.
1994-11-16 04:58:48 +00:00
Ken Raeburn
8de6b5f8e9 messages.c (as_fatal): put space after "fatal error:" 1994-11-15 20:26:22 +00:00
Jeff Law
1a9a95bb2a * gas/config/tc-hppa.h (obj_frob_symbol): Delete ELF specific
definition.
	(tc_frob_symbol): Make this condition on OBJ_SOM or OBJ_ELF.  For
	ELF, subtract out the symbol->section->vma for non-common symbols.

	* gas/testsuite/gas/hppa/unsorted/unsorted.exp (importbug): Tweak
	to match current expected ELF output.
	* gas/testsuite/gas/hppa/reloc/reloc.exp
	(do_plabel_relocation_test, do_r_no_reloc): Likewise.
1994-11-15 18:35:32 +00:00
Ken Raeburn
757d41299e add delta68 config 1994-11-09 19:57:37 +00:00
Ian Lance Taylor
642b618673 * config/tc-ppc.c (ppc_bf): Always set coff_line_base.
PR 5830.
1994-11-09 19:53:58 +00:00
Ken Raeburn
3e7acf981d * configure.in: Compare generic cpu name against "sparc", not "sparc*", since
sparc variants should be changed to "sparc".
* configure: Regenerated with autoconf 2.1.
1994-11-07 20:29:46 +00:00
Ken Raeburn
f4c01c9548 tc-a29k.c: some cleanup; range-checking on JUMPTARG relocs 1994-11-07 07:04:09 +00:00
Ken Raeburn
b4123234f0 remove unused file config/go32.mh 1994-11-04 01:29:10 +00:00
Ken Raeburn
5b162d3777 * read.c (get_absolute_expression): Indicate that the error may merely be that
the expression can't currently be reduced.
1994-11-04 01:22:47 +00:00