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.
2001-05-22 10:23:50 +00:00
Jason Merrill
fb81275c7d
* dwarf2dbg.c (process_entries): Don't optimize redundant line notes.
2001-04-12 16:00:32 +00:00
Alan Modra
1a5447b835
Pass finalize_syms on calls to resolve_symbol_value.
2001-03-30 07:07:11 +00:00
Alan Modra
e46d99eb07
Multi-pass relaxation machinery.
2001-03-30 02:19:36 +00:00
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.
2001-03-17 18:23:41 +00:00
Nick Clifton
f7e42eb4af
Fix copyright notices
2001-03-08 23:24:26 +00:00
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.
2001-02-24 04:59:03 +00:00
Richard Henderson
a987bfc987
* dwarf2dbg.c (out_debug_abbrev): Terminate the abbreviations
...
for the compilation unit with a zero byte.
2001-02-01 18:08:47 +00:00
H.J. Lu
ad1172d4c6
2000-12-22 H.J. Lu <hjl@gnu.org>
...
* dwarf2dbg.c (dwarf2_finish): Remove #if BFD_ASSEMBLER.
2000-12-22 20:36:02 +00:00
Nick Clifton
b8f080d6a8
oops - omitted terminating #endif
2000-12-14 20:29:25 +00:00
Nick Clifton
6717891cd0
If we don't have <limits.h>, try including <sys/param.h> if we have it.
2000-12-14 20:16:20 +00:00
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.
2000-12-14 01:12:43 +00:00
Nick Clifton
6256f9dd96
aadd conditionals around definition of INT_MAX
2000-12-13 18:48:04 +00:00
Nick Clifton
92625c1624
Adde dfinition if INT_MAX if limits.h is not included
2000-12-13 18:46:41 +00:00
Nick Clifton
42dbf88c39
#include <limits.h> only if it exists.
2000-12-13 18:42:28 +00:00
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.
2000-12-12 21:21:39 +00:00
Nick Clifton
bccba5f08c
Add outputting_stabs_line_debug varaible and D10v code to use it
2000-12-05 00:56:09 +00:00
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.
2000-11-29 21:42:41 +00:00
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.
2000-11-17 18:07:33 +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
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.
2000-11-13 01:10:05 +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
85a3969410
Add --gdwarf2 support to ARM toolchain
2000-10-25 19:15:34 +00:00
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.
2000-10-17 20:21:45 +00:00
Kazu Hirata
353e2c6994
2000-08-17 Kazu Hirata <kazu@hxi.com>
...
* dwarf2dbg.c: Fix formatting.
2000-08-18 01:42:14 +00:00
Ian Lance Taylor
52454417c7
From Brad Lucier <lucier@math.purdue.edu>:
...
* dwarf2dbg.c (print_stats): Add cast to force printf argument to
match format.
2000-02-22 07:21:23 +00:00
Nick Clifton
cb30237e0f
Apply Jim Wilson's patch to track current frag for line number changes.
1999-08-27 09:03:18 +00:00
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.
1999-08-26 12:13:01 +00:00
Nick Clifton
e1c05f12ca
Applied patch from Jim Wilson to fix several bugs in line table generation.
1999-08-26 11:11:43 +00:00
Ian Lance Taylor
966ed0b4d8
* dwarf2dbg.c (dwarf2_gen_line_info): Don't assume that long long
...
or %llx work.
1999-07-15 11:27:08 +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
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.
1999-06-26 16:10:10 +00:00
Ian Lance Taylor
d9ac5a3b10
* dwarf2dbg.c: Include elf/dwarf2.h with "", not <>.
...
* Makefile.am: Rebuild dependencies.
* Makefile.in: Rebuild.
1999-06-12 08:53:18 +00:00
Ian Lance Taylor
89b66cdeb5
fix copyrights
1999-06-12 08:48:00 +00:00
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.
1999-06-11 21:06:44 +00:00
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.
1999-06-05 23:15:34 +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
6576f0b52a
* dwarf2dbg.c (dwarf2_gen_line_info): Use section_symbol
...
instead of doing the work by hand.
1999-06-03 03:20:21 +00:00
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.
1999-06-03 02:51:53 +00:00