Commit Graph

150 Commits

Author SHA1 Message Date
Nick Clifton ceac3f6271 do not allow size or nbytes to go negative. 2002-01-07 17:51:18 +00:00
Nick Clifton 7f28ab9dc7 Generate warning message if .endr is used without preceeding .rept/.irc/.irp 2001-10-12 08:56:17 +00:00
Alan Modra ebeb92533b * subsegs.c (subseg_text_p): Return 0 for absolute section.
* read.c (do_align): If in absolute section, warn about and ignore
	non-zero fill pattern.
2001-10-05 10:53:00 +00:00
H.J. Lu 3882b01078 Locale changes from Bruno Haible <haible@clisp.cons.org>. 2001-09-19 05:33:36 +00:00
Alan Modra 23fe39dfb9 * ecoff.c (ecoff_frob_symbol): Remove casts from bfd_get_gp_size.
(ecoff_build_symbols): Likewise.
	* read.c (s_lcomm_internal): Fix signed/unsigned warning.
2001-08-17 16:01:49 +00:00
Alan Modra 0e389e770d * read.c: Standardize error/warning messages - don't capitalise, no
final period or newline, don't say "ignored" or "zero assumed" for
	as_bad messages.  In some cases, change the wording to that used
	elsewhere for similar messages.
	* app.c, as.c, atof-generic.c, cgen.c, cond.c, depend.c, dwarf2dbg.c,
	  ecoff.c, expr.c, frags.c, input-file.c, input-scrub.c, listing.c,
	  output-file.c, stabs.c, subsegs.c, symbols.c, write.c: Likewise.
	* ecoff.c (ecoff_directive_end): Test for missing name by
	comparing input line pointers rather than reading string.
	(ecoff_directive_ent): Likewise.
	* read.c (s_set): Likewise.
	(s_align): Report a warning rather than an error for
	alignment too large.
	(s_comm): Check for missing symbol name.
	(s_lcomm_internal): Likewise.
	(s_lsym): Likewise.
	(s_globl): Use is_end_of_line instead of looking for '\n'.
	(s_lcomm_internal): Likewise.
	(ignore_rest_of_line): Report a warning rather than an error.
2001-08-01 01:44:25 +00:00
Alan Modra 409d19c41a * read.c (s_set): Check for missing symbol name. 2001-07-27 08:35:56 +00:00
Nick Clifton f740e790c7 Use FOPEN_.. macros in calls to fopen(). 2001-07-10 09:45:50 +00:00
Nick Clifton 7e005732aa Add .incbin pseudo op 2001-07-09 08:19:18 +00:00
Ben Elliston 2a1e2a6d6e 2001-07-05 Ben Elliston <bje@redhat.com>
* read.c (s_fill): Correct spelling error in comments.
2001-07-05 00:36:50 +00:00
Richard Henderson 371b7465e4 * read.c (emit_leb128_expr): Call md_cons_align. 2001-05-31 00:00:30 +00:00
Alan Modra ce34c3732a Revert last patch. 2001-05-25 01:59:43 +00:00
Alan Modra 40e3ba9bb7 * expr.c (expr): Set return value to absolute_section for
subtractive operations on symbols within a segment.
	* read.c (pseudo_set): Set segment for complex expressions.
2001-05-25 00:01:30 +00:00
Richard Henderson 67a659f60e * ehopt.c (get_cie_info): Rename from eh_frame_code_alignment;
also collect whether to expect an FDE augmentation.
        (check_eh_frame): Rewrite as a state machine.  Track where in
        an FDE we are located, skip any augmentation.
        (eh_frame_estimate_size_before_relax): Get code alignment from
        the fragment subtype.
        (eh_frame_relax_frag, eh_frame_convert_frag): Likewise.
        * read.c (emit_leb128_expr): Call check_eh_frame.
2001-05-14 22:37:47 +00:00
H.J. Lu 440ecb3800 2001-03-28 H.J. Lu <hjl@gnu.org>
* read.c (equals): Set to local for COFF only if it hasn't been
	defined before.
2001-03-28 17:24:01 +00:00
Nick Clifton 775cf89163 (for COFF) default symbols to being local. 2001-03-27 19:13:55 +00:00
Alan Modra 2289f85d24 Teach .org to handle complex expressions 2001-03-17 03:02:06 +00:00
Nick Clifton f7e42eb4af Fix copyright notices 2001-03-08 23:24:26 +00:00
Richard Henderson 0a9ef43907 * as.h (rs_align_test): New.
* frags.c (NOP_OPCODE): Move default from read.c.
	(MAX_MEM_FOR_RS_ALIGN_CODE): New default.
	(frag_align_code): New.
	* frags.h (frag_align_code): Declare.
	* read.c (NOP_OPCODE): Remove.
	(do_align): Use frag_align_code.
	* write.c (NOP_OPCODE): Remove.
	(get_recorded_alignment): New.
	(cvt_frag_to_fill): Handle rs_align_test.
	(relax_segment): Likewise.
	(subsegs_finish): Align last subseg in section to the
	section alignment.  Use frag_align_code.
	* write.h (get_recorded_alignment): Declare.
	* config/obj-coff.c (size_section): Handle rs_align_test.
	(fill_section, fixup_mdeps): Likewise.
	(write_object_file): Use frag_align_code.

	* config/tc-alpha.c (alpha_align): Use frag_align_code.
	(alpha_handle_align): New.
	* config/tc-alpha.h (HANDLE_ALIGN): New.
	(MAX_MEM_FOR_RS_ALIGN_CODE): New.

	* config/tc-i386.h (md_do_align): Use frag_align_code.
	(MAX_MEM_FOR_RS_ALIGN_CODE): New.

	* config/tc-ia64.c (ia64_md_do_align): Don't do code alignment.
	(ia64_handle_align): New.
	* config/tc-ia64.h (HANDLE_ALIGN): New.
	(MAX_MEM_FOR_RS_ALIGN_CODE): New.

	* config/tc-m32r.c (m32r_do_align): Remove.
	(m32r_handle_align): New.
	(fill_insn): Use frag_align_code.
	* config/tc-m32r.h (md_do_align): Remove.
	(HANDLE_ALIGN, MAX_MEM_FOR_RS_ALIGN_CODE): New.
	* config/tc-m88k.c, config/tc-m88k.h: Similarly.
	* config/tc-mips.c, config/tc-mips.h: Similarly.

	* config/tc-sh.c (sh_cons_align): Use rs_align_test.
	(sh_handle_align): Likewise.  Handle rs_align_code.
	(sh_do_align): Remove.
	* config/tc-sh.h (md_do_align): Remove.
	(MAX_MEM_FOR_RS_ALIGN_CODE): New.

	* config/tc-sparc.c (sparc_cons_align): Use rs_align_test.
	(sparc_handle_align): Likewise.  Handle rs_align_code.
	* config/tc-sparc.h (md_do_align): Remove.
	(MAX_MEM_FOR_RS_ALIGN_CODE): New.
2000-12-28 10:07:56 +00:00
Richard Henderson 4dc7ead9fd * as.c (debug_type): Init to DEBUG_UNSPECIFIED.
* as.h (debug_type): Clarify documentation of the meaning
	of this variable.
	* dwarf2dbg.c (DWARF2_LINE_MIN_INSN_LENGTH): Default to 1.
	(print_stats): Fix parenthesis problem.
	(now_subseg_size): New.
	(dwarf2_finish): Use it.  If DEBUG_DWARF2, emit bits for .debug_info.
	(dwarf2_directive_file): Don't set debug_type.
	(dwarf2_where): Honor DEBUG_DWARF2 first.
	(dwarf2_emit_insn): Renamed from dwarf2_generate_asm_lineno;
	do nothing if not emitting dwarf2 debug info, or no work.
	* dwarf2dbg.h (dwarf2_emit_insn): Update.
	* ecoff.c (add_file): Turn on DEBUG_ECOFF only if DEBUG_UNSPECIFIED.
	(ecoff_new_file): Likewise.
	* read.c (generate_lineno_debug): Kill ecoff hackery.  Update
	commentary wrt dwarf2.

	* config/tc-alpha.c (alpha_adjust_symtab_relocs): Add
	ATTRIBUTE_UNUSED as needed.
	(emit_insn): Call dwarf2_emit_insn.
	(s_alpha_file): New.
	(s_alpha_loc): New.
	(s_alpha_coff_wrapper): Don't handle them.
	(md_pseudo_table): Update for .file and .loc.
	* config/tc-alpha.h (DWARF2_LINE_MIN_INSN_LENGTH): New.

	* config/tc-arm.c (output_inst): Update for dwarf2_emit_insn;
	don't protect with debug_type.
	* config/tc-hppa.c (md_assemble): Likewise.
	* config/tc-m68hc11.c (m68hc11_new_insn): Likewise.
	* config/tc-mn10300.c (md_assemble): Likewise.
	* config/tc-sh.c (md_assemble): Likewise.
	* config/tc-v850.c (md_assemble): Likewise.

	* config/tc-arm.c (arm_end_of_source): Remove.
	* config/tc-hppa.c (pa_end_of_source): Remove.
	* config/tc-m68hc11.c (m68hc11_end_of_source): Remove.
	* config/tc-mn10300.c (mn10300_finalize): Remove.
	* config/tc-sh.c (sh_finalize): Remove.
	* config/tc-v850.c (sh_finalize): Remove.

	* config/tc-arm.h (md_end): Remove.
	* config/tc-hppa.h (md_end): Remove.
	(DWARF2_LINE_MIN_INSN_LENGTH): New.
	* config/tc-m68hc11.h (md_end): Remove.
	* config/tc-mn10300.h (md_end): Remove.
	* config/tc-sh.h (md_end): Remove.
	* config/tc-v850.h (md_end): Remove.

	* config/tc-ia64.c (emit_one_bundle): Don't protect
	dwarf2 bits with debug_type.
	(md_assemble): Likewise.
	(ia64_end_of_source): Don't call dwarf2_finish.
2000-11-17 08:47:52 +00:00
Kazu Hirata ef99799a42 2000-11-06 Kazu Hirata <kazu@hxi.com>
* as.c: Fix formatting.
	* dwarf2dbg.c: Likewise.
	* itbl-ops.c: Likewise.
	* listing.c: Likewise.
	* macro.h: Likewise.
	* messages.c: Likewise.
	* read.c: Likewise.
	* subsegs.c: Likewise.
	* subsegs.h: Likewise.
	* write.c: Likewise.
2000-11-07 01:18:45 +00:00
Nick Clifton 37d8bb275b Preserve copy of case clobber opcodes so that .req pseudo op works 2000-11-02 19:32:47 +00:00
Nick Clifton 85a3969410 Add --gdwarf2 support to ARM toolchain 2000-10-25 19:15:34 +00:00
Kazu Hirata f0e652b4aa 2000-09-11 Kazu Hirata <kazu@hxi.com>
* bignum-copy.c: Fix formatting.
	* ehopt.c: Likewise.
	* flonum-copy.c: Likewise.
	* flonum-konst.c: Likewise.
	* flonum-mult.c: Likewise.
	* literal.c: Likewise.
	* read.c: Likewise.
	* sb.c: Likewise.
	* stabs.c: Likewise.
	* subsegs.c: Likewise.
2000-09-12 03:56:22 +00:00
Alan Modra 4c400d5ea7 comment-finding hack for hppa-linux. 2000-07-28 05:05:20 +00:00
Nick Clifton 041ff4dd56 Fix formatting. 2000-07-20 17:12:25 +00:00
Alan Modra 63a0b638d4 Don't treat `;' as a line separator by default.
Explicitly mention `;' in line_separator_chars in each backend.
2000-06-09 00:00:04 +00:00
Alan Modra 0b5454486c (is_end_of_line): Add three missing lines of 0 initializers. 2000-06-04 05:03:31 +00:00
Alan Modra ac743b2c9d (is_end_of_line): No ';' for TC_HPPA. 2000-06-04 03:28:38 +00:00
H.J. Lu 969e1a7b86 2000-06-03 H.J. Lu <hjl@gnu.org>
* read.c (is_end_of_line): Put back `;'.
2000-06-03 22:33:09 +00:00
Alan Modra b75c0c920f is_end_of_line fixes. 2000-06-02 02:52:10 +00:00
Jim Wilson 800eeca487 IA-64 ELF support. 2000-04-21 20:22:24 +00:00
Timothy Wall 9f10757c40 Add macro handling extensions and line substitution support. 2000-03-26 14:47:33 +00:00
Hans-Peter Nilsson 8684e216c8 * read.c (TC_IMPLICIT_LCOMM_ALIGNMENT): New default-definition.
(s_lcomm_internal): Use it.
	* doc/internals.texi (CPU backend): Document it.
	* config/obj-evax.h (TC_IMPLICIT_LCOMM_ALIGNMENT): Set to 2**3
	bytes.
2000-03-13 20:46:07 +00:00
Alan Modra abd63a324b Remove dead code when not TC_M68K. 2000-02-24 01:56:31 +00:00
Timothy Wall a25c045a58 Check label validity with TC_START_LABEL_WITHOUT_COLON if defined. 2000-02-10 21:03:12 +00:00
Timothy Wall 6dc19fc4d6 Remove redundant code for checking numbers with suffixes. Add
functionality to break out of assembler loops.
2000-02-08 19:06:00 +00:00
Timothy Wall 3fd9f0476f New elseif directive has been added. 2000-02-08 14:13:57 +00:00
Timothy Wall bea9907b2a octets vs bytes changes for GAS 2000-02-03 18:20:23 +00:00
Alan Modra fa3061313c Make copyright date lists comply with GNU requirement 2000-01-26 23:58:13 +00:00
Alan Modra 4c63da97a7 This set of patches add support for aout emulation on the x86
assembler.  ie. You will be able to do "as --em=i386aout" on an x86
linux-elf assembler to generate aout format object files, rather than
using a separate assembler.  The aout emulation is enabled by giving
"--enable-targets=i386-linuxaout" to configure.
Oh yeah, there's a couple of fixes too.  Error messages shouldn't be
passed to printf in the format arg just in case someone puts a `%' in
the message.
2000-01-26 22:48:31 +00:00
Ian Lance Taylor 53b0d3971a * read.c (pseudo_set): Reject attempts to set the value of a
section symbol.
1999-11-03 22:14:47 +00:00
Ian Lance Taylor ab9da55419 * Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
as appropriate.  Fill in structure initializations.  Add variable
	initializations.  Add casts.
	* dwarf2dbg.c (print_stats): Change i to size_t.
	* listing.c (listing_listing): Change list_line to unsigned int.
1999-07-11 20:20:04 +00:00
Ian Lance Taylor b9e57a387a * subsegs.c (subseg_text_p): New function.
* as.h (subseg_text_p): Declare.
	* read.c (do_align): Use subseg_text_p to set the default fill.
	* write.c (subsegs_finish): Likewise.
	* config/obj-coff.c (write_object_file): Likewise.
	* config/tc-i386.h (md_maybe_text): Don't define.
	(md_do_align): Use subseg_text_p to set the default fill.
	* config/tc-m32r.c (m32r_do_align): Likewise.
	* config/tc-sh.c (sh_do_align): Likewise.
	* config/tc-sparc.h (md_do_align): Likewise.
1999-06-12 16:49:51 +00:00
Ian Lance Taylor 1bf67e0db8 * read.c (read_a_source_file): Only declare inescape if
QUOTES_IN_INSN.
1999-06-10 21:36:37 +00:00
Richard Henderson 58b5739a4e * dwarf2dbg.c (*): Convert to K&R + prototypes.
(dwarf2_gen_line_info): Kill unused variables.
        (dwarf2_finish): Likewise.
        (dwarf2_where): Likewise.
        (dwarf2_directive_file): If we've only got a string,
        hand off to s_app_file.
        * ecoff.c: Move the include of ecoff.h.
        * symbols.h (S_IS_FUNCTION): Prototype.
        * read.c (LEX_HASH): Supply a default.
        (lex_type): Use it.
        (s_globl): Update `c' after skipping whitespace.
        * read.h (LEX_END_NAME, is_name_ender): New.
        * expr.c (get_symbol_end): Respect it.
1999-06-05 18:19:09 +00:00
Richard Henderson 1c32af2255 * read.c (read_a_source_file): Conditionally allow matched "
in lines passed to md_assemble.
1999-06-03 02:51:09 +00:00
Ian Lance Taylor 2b47531bf9 * app.c (input_buffer): New static variable.
(app_push): Save saved_input in allocated buffer.
	(app_pop): Restored saved_input.
	(do_scrub_chars): Change get parameter to take char * and int as
	arguments.  Change GET macro to pass input_buffer to get
	function.  Don't save input into allocated buffer.
	* as.h (do_scrub_chars): Update declaration.
	* input-file.c (input_file_get): Change to take char * and int.
	Read data into passed in buffer.  Remove static buffer.
	* read.c (scrub_from_string): Change to take char * and int.  Copy
	data into passed in buffer.
1999-06-03 00:24:14 +00:00
Alan Modra 6d4d30bb14 /
Move bitfield overflow checks to after the md_apply_fix call in
fixup_segment so that md_apply_fix has a chance to modify value.
Handle 8 and 16-bit pcrel relocs for i386.
Prototypes and other minor code cleanups.
1999-05-17 03:21:46 +00:00
Richard Henderson 252b5132c7 19990502 sourceware import 1999-05-03 07:29:11 +00:00