Alan Modra
45c500fa3e
* dwarf2dbg.c (dwarf2_finish): Output file info even when no
line info.
26 years ago
Alan Modra
6386f3a767
* symbols.c (resolve_symbol_value): Remove "finalize" param,
instead use finalize_syms directly. Don't treat expressions
specially with regard to finalize_syms. Update calls to self.
(resolve_local_symbol): Update call to resolve_symbol_value.
(S_GET_VALUE): Likewise. Return resolve_symbol_value if
!finalize_syms.
* symbols.h (resolve_symbol_value): Update prototype.
* config/obj-aout.c (obj_crawl_symbol_chain): Update call
to resolve_symbol_value.
* config/obj-bout.c (obj_crawl_symbol_chain): Likewise.
* config/obj-coff.c (do_relocs_for): Likewise.
(yank_symbols): Likewise.
(fixup_segment): Likewise.
* config/obj-vms.c (obj_crawl_symbol_chain): Likewise.
* config/tc-mips.c (md_convert_frag): Likewise.
* config/tc-ppc.c (ppc_frob_symbol): Likewise.
(ppc_fix_adjustable): Likewise.
* dwarf2dbg.c (dwarf2dbg_estimate_size_before_relax): Likewise.
(dwarf2dbg_convert_frag): Likewise.
* ehopt.c (eh_frame_estimate_size_before_relax): Likewise.
(eh_frame_convert_frag): Likewise.
* expr.c (make_expr_symbol): Likewise.
* write.c (adjust_reloc_syms): Likewise.
(write_object_file): Likewise.
(relax_segment): Likewise.
(fixup_segment): Likewise.
(finalize_syms): Init to zero, and update comment.
(write_object_file): Set finalize_syms to 1 rather than 2.
* doc/internals.texi (sy_value): Mention finalize_syms.
(S_GET_VALUE): Remove restriction on when S_GET_VALUE can be called.
26 years ago
Jason Merrill
fb81275c7d
* dwarf2dbg.c (process_entries): Don't optimize redundant line notes.
26 years ago
Alan Modra
1a5447b835
Pass finalize_syms on calls to resolve_symbol_value.
26 years ago
Alan Modra
e46d99eb07
Multi-pass relaxation machinery.
26 years ago
Richard Henderson
249e3833ac
* dwarf2dbg.c (user_filenum, user_filenum_allocated): Remove.
(dwarf2_directive_loc): Don't use them.
(dwarf2_directive_file): Reject duplicate file definitions.
(get_filenum): Zero allocated memory.
(out_file_list): Complain about missing file definitions.
26 years ago
Nick Clifton
f7e42eb4af
Fix copyright notices
26 years ago
H.J. Lu
3737d05150
2001-02-23 H.J. Lu <hjl@gnu.org>
* dwarf2dbg.c (dwarf2_directive_file): Call s_app_file (0) if
BFD_ASSEMBLER is not defined.
26 years ago
Richard Henderson
a987bfc987
* dwarf2dbg.c (out_debug_abbrev): Terminate the abbreviations
for the compilation unit with a zero byte.
26 years ago
H.J. Lu
ad1172d4c6
2000-12-22 H.J. Lu <hjl@gnu.org>
* dwarf2dbg.c (dwarf2_finish): Remove #if BFD_ASSEMBLER.
26 years ago
Nick Clifton
b8f080d6a8
oops - omitted terminating #endif
26 years ago
Nick Clifton
6717891cd0
If we don't have <limits.h>, try including <sys/param.h> if we have it.
26 years ago
Kazu Hirata
ee515fb7fa
2000-12-13 Kazu Hirata <kazu@hxi.com>
* as.h: Fix formatting.
* cgen.h: Likewise.
* dwarf2dbg.c: Likewise.
* input-scrub.c: Likewise.
* read.h: Likewise.
26 years ago
Nick Clifton
6256f9dd96
aadd conditionals around definition of INT_MAX
26 years ago
Nick Clifton
92625c1624
Adde dfinition if INT_MAX if limits.h is not included
26 years ago
Nick Clifton
42dbf88c39
#include <limits.h> only if it exists.
26 years ago
H.J. Lu
92eb7b3244
2000-12-12 H.J. Lu <hjl@gnu.org>
* dwarf2dbg.c: Enabled only if BFD_ASSEMBLER is defined.
* read.h (outputting_stabs_line_debug): Change it to int.
* stabs.c (outputting_stabs_line_debug): Likewise.
26 years ago
Nick Clifton
bccba5f08c
Add outputting_stabs_line_debug varaible and D10v code to use it
26 years ago
Richard Henderson
220e750f6f
* dwarf2dbg.c: Rewrite from scratch. Queue all debugging output
until dwarf2_finish; use relaxation to get cross-fragment offsets;
thread multiple subsegments properly; handle multiple code
sections properly; emit proper compilation unit info for assembler
generated debugging.
* as.h (enum _relax_state): Add rs_dwarf2dbg.
* dwarf2dbg.h (struct dwarf2_line_info): Remove filename.
(dwarf2dbg_estimate_size_before_relax): Declare.
(dwarf2dbg_relax_frag, dwarf2dbg_convert_frag): Declare.
* write.c: Include dwarf2dbg.h.
(cvt_frag_to_fill): Handle rs_dwarf2dbg.
(relax_segment): Likewise.
26 years ago
Richard Henderson
a8316fe296
* dwarf2dbg.c (dwarf2_gen_line_info): Early out for no line number.
* config/obj-elf.h (ECOFF_DEBUGGING) [TC_ALPHA]: Adjust for
tri-state definition of alpha_flag_mdebug.
* config/tc-alpha.c (alpha_flag_mdebug): Init to -1.
(s_alpha_file): Store first .file directive.
(s_alpha_stab): New.
(md_pseudo_table): Add stabs and stabn.
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
H.J. Lu
f585997b37
2000-11-12 H.J. Lu (hjl@gnu.org)
* dwarf2dbg.c (dwarf2_generate_asm_lineno): Use addressT
instead of bfd_vma for non-bfd assemblers.
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
85a3969410
Add --gdwarf2 support to ARM toolchain
26 years ago
Kazu Hirata
e6c774b42a
2000-10-17 Kazu Hirata <kazu@hxi.com>
* debug.c: Fix formatting.
* depend.c: Likewise.
* dwarf2dbg.c: Likewise.
* dwarf2dbg.h: Likewise.
* ecoff.c: Likewise.
* expr.c: Likewise.
* expr.h: Likewise.
* flonum-konst.c: Likewise.
* frags.h: Likewise.
26 years ago
Kazu Hirata
353e2c6994
2000-08-17 Kazu Hirata <kazu@hxi.com>
* dwarf2dbg.c: Fix formatting.
26 years ago
Ian Lance Taylor
52454417c7
From Brad Lucier <lucier@math.purdue.edu>:
* dwarf2dbg.c (print_stats): Add cast to force printf argument to
match format.
27 years ago
Nick Clifton
cb30237e0f
Apply Jim Wilson's patch to track current frag for line number changes.
27 years ago
Nick Clifton
09a798eacc
This makes the line number info for the end of a function match what the
standard specifies. The current code could confuse a debugger.
27 years ago
Nick Clifton
e1c05f12ca
Applied patch from Jim Wilson to fix several bugs in line table generation.
27 years ago
Ian Lance Taylor
966ed0b4d8
* dwarf2dbg.c (dwarf2_gen_line_info): Don't assume that long long
or %llx work.
27 years ago
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.
27 years ago
Richard Henderson
a340d27090
David Mosberger <davidm@hpl.hp.com>
* dwarf2dbg.c (dwarf2_gen_line_info): Don't call
out_end_sequence() when the address decreases due to a new frag.
(gen_dir_list): Set ls.file[i].dir to j + 1 (not j) because file
numbering starts with 1.
28 years ago
Ian Lance Taylor
d9ac5a3b10
* dwarf2dbg.c: Include elf/dwarf2.h with "", not <>.
* Makefile.am: Rebuild dependencies.
* Makefile.in: Rebuild.
28 years ago
Ian Lance Taylor
89b66cdeb5
fix copyrights
28 years ago
Ian Lance Taylor
9e3af0e72a
* dwarf2dbg.c: Change bfd_vma to addressT and bfd_signed_vma to
offsetT.
(out_set_addr): Don't use BYTES_PER_ADDRESS. Instead, get the
value from the output file architecture.
(dwarf2_gen_line_info): Ifdef BFD_ASSEMBLER specific code.
* dwarf2dbg.h: Change bfd_vma to addressT.
28 years ago
Richard Henderson
9de8d8f184
* dwarf2dbg.c (dwarf2_gen_line_info): Mirror the section symbol
creation logic from obj_elf_create_section.
* config/obj-elf.c (elf_pseudo_tab): Add pushsection/popsection.
(section_stack): New.
(special_sections): Make const.
(obj_elf_section): Gut and rewrite parsing.
(obj_elf_change_section): New function broken out of obj_elf_section.
(obj_elf_parse_section_letters): Likewise.
(obj_elf_section_word): Likewise.
(obj_elf_section_type): Likewise.
(obj_elf_previous): Treat as a toggle.
(obj_elf_popsection): New.
* config/tc-ppc.c (ppc_section_word): Take str+len not ptr_str.
(ppc_section_type): Likewise.
* config/tc-ppc.h: Likewise.
* expr.h (struct expressionS): Don't make X_op a bitfield.
* config/tc-alpha.c: Update for symbol handling changes.
(md_apply_fix) [case GPREL]: Use now_seg instead of absolute_section.
(load_expression, emit_ir_load, emit_loadstore, emit_jsrjmp): Likewise.
28 years ago
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.
28 years ago
Richard Henderson
6576f0b52a
* dwarf2dbg.c (dwarf2_gen_line_info): Use section_symbol
instead of doing the work by hand.
28 years ago
Richard Henderson
fac0d250c7
* as.c (parse_args): Add option -gdwarf2 to allow requesting
DWARF2 debug info (line information only, at this point).
* as.h: Update comment about supported debug formats.
* dwarf2dbg.c, dwarf2dbg.h: New files.
* Makefile.am (GAS_CFILES, HFILES, GENERIC_OBJS): Add them.
28 years ago