Commit Graph

62 Commits

Author SHA1 Message Date
Alan Modra 54cfded08e * dw2gencfi.c, dw2gencfi.h: New files.
* config/tc-i386.c (tc_x86_cfi_init): New function.
	* config/tc-i386.h (TARGET_USE_CFIPOP, tc_cfi_init): New defines.
	* as.c (parse_args): Set verbose flag on --verbose.
	(main): Call tc_cfi_init()/cfi_finish().
	* as.h (verbose): New external variable.
	* read.c (pobegin): Insert CFI pops to the list.
	* symbols.c (local_symbol_make): Make symbol external.
	* symbols.h (local_symbol_make): New prototype.
	* Makefile.am: Add dw2gencfi.[ch] files.  Run "make dep-am".
	* Makefile.in: Regenerate.
	* doc/as.texinfo: Added node "CFI directives" with description of
	all implemented .cfi_* directives.
	* doc/Makefile.in: Regenerate.
	* po/POTFILES.in: Regenerate.
2003-05-20 07:58:07 +00:00
Hans-Peter Nilsson 64e55042d6 * read.c (old_buffer, old_input, old_limit): Remove variables.
(read_a_source_file): Delete label contin.
	<handling #APP/#NO_APP>: Use an "sb" to push #APP expansion into
	input as with macros, instead of in separate old_* variables.
	Zero-terminate string being scrubbed.
2003-05-13 01:51:40 +00:00
H.J. Lu a645d1eb84 2003-05-01 H.J. Lu <hjl@gnu.org>
* config/tc-ia64.c (ia64_check_label): New.
	* config/tc-ia64.h (tc_check_label): New.

	* read.c (read_a_source_file): Call tc_check_label after
	creating a user-defined label if defined.
2003-05-02 02:41:45 +00:00
Nick Clifton 0822d0753e (buffer_and_nest): Store more to sb instead of '\n'.
(get_line_sb): Return end of line character or '\n' if it is zero or
non-existent.
2003-03-13 11:49:33 +00:00
Alan Modra a0ea3e1db8 * read.c (get_absolute_expr): New, split out from..
(get_absolute_expression): ..here.
	* read.h (get_absolute_expr): Declare.
	* config/obj-elf.c (elf_common): Use offsetT for "temp" and "size".
	Trim size to arch bits_per_address, and test for negative input
	via get_absolute_expr.
2003-01-11 06:24:12 +00:00
Nick Clifton fea179166e Remove GASP. 2002-12-02 15:42:15 +00:00
Hans-Peter Nilsson dc59a89726 * read.c (emit_expr) [WORKING_DOT_WORD]: Initialize x->use_jump. 2002-12-02 07:18:53 +00:00
Hans-Peter Nilsson a6bd2a4f18 * read.c (do_align): Use ATTRIBUTE_UNUSED_LABEL for label, not
ATTRIBUTE_UNUSED.
2002-08-31 18:51:07 +00:00
Alan Modra 7065849339 * dwarf2dbg.c: Always include dwarf2dbg.h.
(dwarf2_directive_file): Adjust dummy version args.
	* ecoff.c (ecoff_directive_weakext): Add ATTRIBUTE_UNUSED.
	* expr.c (clean_up_expression <O_subtract>): Allow subtraction
	when symbol values differ.
	* read.c (do_align): Add ATTRIBUTE_UNUSED to label.
	(pseudo_set <O_subtract>): Remove unnecessary segment test.
	* config/obj-bout.c (obj_pseudo_table): Warning fix.
2002-08-27 11:09:43 +00:00
Nick Clifton 8ac9ba6cf2 Catch attempts to create strings in the abs section. 2002-08-14 16:38:14 +00:00
Daniel Jacobowitz ecb4347ade 2002-06-14 H.J. Lu <hjl@gnu.org>
Daniel Jacobowitz  <drow@mvista.com>

        * dwarf2dbg.h (dwarf2_directive_file): Return char *.
        * dwarf2dbg.c (dwarf2_directive_file): Return filename.
        * config/tc-mips.c (s_mips_file): Call s_app_file_string
        and new_logical_line for the first .file directive.
        * read.c (s_app_file_string): New function.
        (s_app_file): Call it.
        * read.h (s_app_file_string): Add declaration.

2002-06-14  Daniel Jacobowitz  <drow@mvista.com>

        * configure.in: Remove MIPS_STABS_ELF.
        * configure: Regenerated.
        * config.in: Regenerated.
        * config/obj-elf.h (ECOFF_DEBUGGING): Define to mips_flag_mdebug
        for MIPS targets.
        * config/tc-mips.c (mips_pseudo_table): Remove #ifdef around
        ".extern".
        (pdr_seg): Declare unconditionally.
        (md_begin): Always generate .pdr unless ECOFF_DEBUGGING or not ELF.
        (s_mips_end): Likewise.  Generate stabs function markers.
        (s_mips_ent): Generate stabs function markers.
        (s_mips_frame): Always generate .pdr unless ECOFF_DEBUGGING or not
        ELF.
        (s_mips_mask): Likewise.
        (mips_flag_mdebug): New.
        (md_longopts): Add "mdebug" and "no-mdebug".
        (md_parse_options): Add OPTION_MDEBUG and OPTION_NO_MDEBUG.
        (mips_after_parse_args): Set mips_flag_mdebug.
        * doc/as.texinfo: Add "-mdebug" and "-no-mdebug" for MIPS.

2002-06-14  Daniel Jacobowitz  <drow@mvista.com>

        * gas/mips/lineno.d: Use --gstabs.
        * gas/mips/mips.exp (lineno.s): Remove XFAIL.
2002-06-14 14:08:54 +00:00
Kazu Hirata d1a6c2428d * as.h: Fix formatting.
* cgen.c: Likewise.
	* cgen.h: Likewise.
	* dwarf2dbg.c: Likewise.
	* frags.h: Likewise.
	* gasp.c: Likewise.
	* macro.c: Likewise.
	* read.c: Likewise.
	* stabs.c: Likewise.
	* symbols.c: Likewise.
2002-05-03 02:25:33 +00:00
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