Richard Henderson
cdfbf930b9
* dw2gencfi.c (struct cfi_escape_data): New.
(cfi_add_CFA_nop): Remove.
(CFI_escape, dot_cfi_escape): New.
(dot_cfi): Remove nop.
(cfi_pseudo_table): Remove nop; add escape.
(output_cfi_insn): Likewise.
(select_cie_for_fde): Stop on escape.
* dw2gencfi.h (cfi_add_CFA_nop): Remove.
* read.c, read.h (do_parse_cons_expression): New.
* doc/as.texinfo (.cfi_escape): New.
* gas/cfi/cfi-common-3.[ds]: New.
* gas/cfi/cfi.exp: Run it.
24 years ago
Alan Modra
ed7d5d1a43
* read.c (emit_expr): Set dot_value.
* dw2gencfi.c (output_fde): Remove pcrel reloc hack.
24 years ago
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.
24 years ago
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.
24 years ago
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.
24 years ago
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.
24 years ago
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.
24 years ago
Nick Clifton
fea179166e
Remove GASP.
24 years ago
Hans-Peter Nilsson
dc59a89726
* read.c (emit_expr) [WORKING_DOT_WORD]: Initialize x->use_jump.
24 years ago
Hans-Peter Nilsson
a6bd2a4f18
* read.c (do_align): Use ATTRIBUTE_UNUSED_LABEL for label, not
ATTRIBUTE_UNUSED.
24 years ago
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.
24 years ago
Nick Clifton
8ac9ba6cf2
Catch attempts to create strings in the abs section.
24 years ago
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.
25 years ago
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.
25 years ago
Nick Clifton
ceac3f6271
do not allow size or nbytes to go negative.
25 years ago
Nick Clifton
7f28ab9dc7
Generate warning message if .endr is used without preceeding .rept/.irc/.irp
25 years ago
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.
25 years ago
H.J. Lu
3882b01078
Locale changes from Bruno Haible <haible@clisp.cons.org>.
25 years ago
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.
25 years ago
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.
25 years ago
Alan Modra
409d19c41a
* read.c (s_set): Check for missing symbol name.
25 years ago
Nick Clifton
f740e790c7
Use FOPEN_.. macros in calls to fopen().
25 years ago
Nick Clifton
7e005732aa
Add .incbin pseudo op
25 years ago
Ben Elliston
2a1e2a6d6e
2001-07-05 Ben Elliston <bje@redhat.com>
* read.c (s_fill): Correct spelling error in comments.
25 years ago
Richard Henderson
371b7465e4
* read.c (emit_leb128_expr): Call md_cons_align.
26 years ago
Alan Modra
ce34c3732a
Revert last patch.
26 years ago
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.
26 years ago
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.
26 years ago
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.
26 years ago
Nick Clifton
775cf89163
(for COFF) default symbols to being local.
26 years ago
Alan Modra
2289f85d24
Teach .org to handle complex expressions
26 years ago
Nick Clifton
f7e42eb4af
Fix copyright notices
26 years ago
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.
26 years ago
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.
26 years ago
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.
26 years ago
Nick Clifton
37d8bb275b
Preserve copy of case clobber opcodes so that .req pseudo op works
26 years ago
Nick Clifton
85a3969410
Add --gdwarf2 support to ARM toolchain
26 years ago
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.
26 years ago
Alan Modra
4c400d5ea7
comment-finding hack for hppa-linux.
26 years ago
Nick Clifton
041ff4dd56
Fix formatting.
26 years ago
Alan Modra
63a0b638d4
Don't treat `;' as a line separator by default.
Explicitly mention `;' in line_separator_chars in each backend.
27 years ago
Alan Modra
0b5454486c
(is_end_of_line): Add three missing lines of 0 initializers.
27 years ago
Alan Modra
ac743b2c9d
(is_end_of_line): No ';' for TC_HPPA.
27 years ago
H.J. Lu
969e1a7b86
2000-06-03 H.J. Lu <hjl@gnu.org>
* read.c (is_end_of_line): Put back `;'.
27 years ago
Alan Modra
b75c0c920f
is_end_of_line fixes.
27 years ago
Jim Wilson
800eeca487
IA-64 ELF support.
27 years ago
Timothy Wall
9f10757c40
Add macro handling extensions and line substitution support.
27 years ago
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.
27 years ago
Alan Modra
abd63a324b
Remove dead code when not TC_M68K.
27 years ago
Timothy Wall
a25c045a58
Check label validity with TC_START_LABEL_WITHOUT_COLON if defined.
27 years ago