summaryrefslogtreecommitdiff
path: root/gas/dwarf2dbg.c
Commit message (Collapse)AuthorAgeFilesLines
* gas/Richard Sandiford2013-06-141-3/+35
| | | | | | | | | | | | | * dwarf2dbg.h (dwarf2_move_insn): Declare. * dwarf2dbg.c (line_subseg): Add pmove_tail. (get_line_subseg): Add create_p argument. Initialize pmove_tail. (dwarf2_gen_line_info_1): Update call accordingly. (dwarf2_move_insn): New function. * config/tc-mips.c (append_insn): Use dwarf2_move_insn. gas/testsuite/ * gas/mips/loc-swap-3.d, gas/mips/loc-swap-3.s: New test. * gas/mips/mips.exp: Run it.
* gas/Richard Sandiford2013-06-141-47/+14
| | | | | | | | | | | | | | | Revert: 2011-09-05 Richard Sandiford <rdsandiford@googlemail.com> PR gas/13024 * dwarf2dbg.c (pending_lines, pending_lines_tail): New variables. (dwarf2_gen_line_info_1): Delete. (dwarf2_push_line, dwarf2_flush_pending_lines): New functions. (dwarf2_gen_line_info, dwarf2_emit_label): Use them. (dwarf2_consume_line_info): Call dwarf2_flush_pending_lines. (dwarf2_directive_loc): Push previous .locs instead of generating them immediately.
* * elflink.c (_bfd_elf_gc_mark_extra_sections): Remove mark fromNick Clifton2013-04-291-6/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fragmented .debug_line sections associated with unmarked code sections. * dwarf.c (read_debug_line_header): New function. Reads in a header in a .debug_line section. (display_debug_lines_raw): Use new function. Handle fragmentary .debug_line sections. (display_debug_lines_decoded): Likewise. * readelf.c (process_section_headers): Handle fragmenatry .debug_line sections. (display_debug_section): Likewise. * as.c (Options): Add -gdwarf-sections. (parse_args): Likewise. * as.h (flag_dwarf_sections): Declare. * dwarf2dbg.c (emit_fixed_inc_line_addr): Skip section changes. (process_entries): When -gdwarf-sections is enabled generate fragmentary .debug_line sections. (out_debug_line): Set the section for the .debug_line section end symbol. * doc/as.texinfo: Document -gdwarf-sections. * NEWS: Mention -gdwarf-sections. * gas/elf/dwarf2-3.d: Fix expected readelf output. * scripttempl/DWARF.sc: Add support for .debug_line.* and .debug_line_end.
* Remove trailing redundant `;'H.J. Lu2012-11-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bfd/ * aout-tic30.c (MY_final_link_callback): Remove trailing redundant `;'. * coff-h8500.c (extra_case): Likewise. (bfd_coff_reloc16_get_value): Likewise. * dwarf2.c (_bfd_dwarf2_cleanup_debug_info): Likewise. * elf.c (_bfd_elf_slurp_version_tables): Likewise. * elf32-frv.c (elf32_frv_relocate_section): Likewise. * elf32-v850.c (v850_elf_perform_relocation): Likewise. * opncls.c (bfd_calc_gnu_debuglink_crc32): Likewise. * plugin.c (add_symbols): Likewise. * reloc.c (bfd_check_overflow): Likewise. * vms-lib.c (_bfd_vms_lib_archive_p): Likewise. binutils/ * coffgrok.c (coff_grok): Remove trailing redundant `;'. * resrc.c (open_input_stream): Likewise. gas/ * config/atof-ieee.c (gen_to_words): Remove trailing redundant `;'. * config/atof-vax.c (flonum_gen2vax): Likewise. * config/tc-d10v.c (write_2_short): Likewise. * config/tc-i386-intel.c (i386_intel_simplify): Likewise. * config/tc-s390.c (tc_s390_force_relocation): Likewise. * config/tc-v850.c (md_parse_option): Likewise. * config/tc-xtensa.c (find_address_of_next_align_frag): Likewise. * dwarf2dbg.c (out_header): Likewise. * symbols.c (dollar_label_name): Likewise. (fb_label_name): Likewise. ld/ * testplug.c (record_add_file): Remove trailing redundant `;'. opcodes/ * aarch64-opc.h (gen_mask): Remove trailing redundant `;'. * ia64-gen.c (fetch_insn_class): Likewise.
* gas/ChangeLog:jwlemke2012-08-011-9/+7
| | | | | | | | | | | | | | | | | | | | | | 2012-08-01 James Lemke <jwlemke@codesourcery.com> * gas/dwarf2dbg.c (out_set_addr): Allow for non-constant value of DWARF2_LINE_MIN_INSN_LENGTH * gas/config/tc-ppc.c (ppc_dwarf2_line_min_insn_length): Declare and initialize. (md_apply_fix): Branch addr can be a multiple of 2 or 4. * gas/config/tc-ppc.h (DWARF2_LINE_MIN_INSN_LENGTH): Now a variable reference. gas/testsuite/ChangeLog: 2012-08-01 James Lemke <jwlemke@codesourcery.com> * gas/cfi/cfi-ppc-1.d: Allow for code alignment of 2 or 4. ld/ChangeLog: 2012-08-01 James Lemke <jwlemke@codesourcery.com> * ld/testsuite/ld-gc/pr13683.d: XFAIL for powerpc*-*-eabivle.
* * dwarf2dbg.c (DWARF2_USE_FIXED_ADVANCE_PC): Enable when usingNick Clifton2012-06-281-5/+33
| | | | | | | | | | | | | | | | | | | | linker relaxation. (dwarf2_gen_line_info): Generate real, local, labels for line numbers. (dwarf2dbg_convert_frag): Do not finalize the computation of the frag's symbol value when linker relaxation is enabled. (ADDR_DELTA_LIMIT): Define. (size_fixed_inc_line_addr): Use ADDR_DELTA_LIMIT. (emit_fixed_inc_line_addr): Likewise. * write.c (fixup_segment): If the subtraction of two symbols cannot be resolved but is valid, then prevent bogus range warnings by pre-biasing add_number. * config/tc-h8300.h (DWARF2_USE_FIXED_ADVANCE_PC): Define to 0. * gas/lns/lns.exp: Use alternate lns-common test for targets enabling linker relaxation. * gas/lns/lns-big-delta.d: Allow for output from architectures with 32-bit addresses.
* gas: Make dwarf2dbg.c versions specific and add DW_AT_high_pc case for DWARF 4+.mark2012-04-301-4/+24
| | | | | | | | | | | | * dwarf2dbg.c (DWARF2_ARANGES_VERSION): New define to 2. (DWARF2_LINE_VERSION): Likewise. (out_debug_line): Use DWARF2_LINE_VERSION not DWARF2_VERSION. (out_debug_aranges): Use DWARF2_ARANGES_VERSION not DWARF2_VERSION. (out_debug_abbrev): Use DW_FORM_data for DW_AT_high_pc when DWARF2_VERSION >= 4. (out_debug_info): Use difference between start and end as data value for DW_AT_high_pc when DWARF2_VERSION >= 4. * config/tc-ia64.h (DWARF2_LINE_VERSION): Override it.
* gas/Richard Sandiford2011-09-081-1/+1
| | | | | | | | | | PR gas/13167 * dwarf2dbg.c (dwarf2_flush_pending_lines): Use symbol_temp_new_now. gas/testsuite/ PR gas/13167 * gas/ia64/pr13167.d, gas/ia64/pr13167.s: New test. * gas/ia64/ia64.exp: Run it.
* gas/Richard Sandiford2011-09-051-13/+46
| | | | | | | | | | | | | | | | | PR gas/13024 * dwarf2dbg.c (pending_lines, pending_lines_tail): New variables. (dwarf2_gen_line_info_1): Delete. (dwarf2_push_line, dwarf2_flush_pending_lines): New functions. (dwarf2_gen_line_info, dwarf2_emit_label): Use them. (dwarf2_consume_line_info): Call dwarf2_flush_pending_lines. (dwarf2_directive_loc): Push previous .locs instead of generating them immediately. gas/testsuite/ * gas/mips/loc-swap-2.s, gas/mips/loc-swap-2.d, gas/mips/micromips@loc-swap-2.d, gas/mips/mips16@loc-swap-2.d: New test. * gas/mips/mips.exp: Run it.
* * dwarf2dbg.c (out_debug_line): Ignore non-normal segments, with aNick Clifton2011-07-281-1/+5
| | | | | | | | warning. * doc/as.texinfo (Offset): Document .offset directive. testsuite/ * gas/elf/warn-2.s: New.
* 2011-03-31 Tristan Gingold <gingold@adacore.com>Tristan Gingold2011-03-311-3/+7
| | | | | | | | * dwarf2dbg.c (DWARF2_VERSION): Define. (out_debug_line): Use it. (out_debug_aranges): Ditto. (out_debug_info): Ditto. * config/tc-ia64.h (DWARF2_VERSION): Override it.
* 2011-03-10 Michael Snyder <msnyder@vmware.com>Michael Snyder2011-03-101-3/+0
| | | | | | Revert the following change: * dwarf2dbg.c (out_file_list): Free malloced 'dir'. (out_debug_info): Free malloced 'dirname' and 'comp_dir'.
* 2011-03-09 Michael Snyder <msnyder@vmware.com>Michael Snyder2011-03-101-1/+4
| | | | | | | * dwarf2dbg.c (out_file_list): Free malloced 'dir'. (out_debug_info): Free malloced 'dirname' and 'comp_dir'. (emit_fixed_inc_line_addr): Assign instead of conditional in assert.
* ChangeLog binutils/Kai Tietz2011-02-281-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2011-02-28 Kai Tietz <kai.tietz@onevision.com> * debug.c (debug_start_source): Use filename_(n)cmp. * ieee.c (ieee_finish_compilation_unit): Likewise. (ieee_lineno): Likewise. * nlmconv.c (main): Likewise. * objcopy.c (strip_main): Likewise. (copy_main): Likewise. * objdump.c (show_line): Likewise. (dump_reloc_set): Likewise. * srconv.c (main): Likewise. * wrstabs.c (stab_lineno): Likewise. ChangeLog gas/ 2011-02-28 Kai Tietz <kai.tietz@onevision.com> * depend.c (register_dependency): Use filename_(n)cmp. * dwarf2dbg.c (get_filenum): Likewise. * ecoff.c (add_file): Likewise. (ecoff_generate_asm_lineno): Likewise. * input-scrub.c (new_logical_line_flags): Likewise. * listing.c (file_info): Likewise. (listing_newline): Likewise. * remap.c (remap_debug_filename): Likewise. * stabs.c (generate_asm_file): Likewise. (stabs_generate_asm_lineno): Likewise.
* Don't generate .debug_line section if it isn't empty.H.J. Lu2010-07-051-8/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | binutils/testsuite/ 2010-07-05 H.J. Lu <hongjiu.lu@intel.com> PR gas/10531 PR gas/11789 * binutils-all/objdump.W: Remove bogus line debug info. gas/ 2010-07-05 Jim Wilson <wilson@codesourcery.com> PR gas/10531 PR gas/11789 * dwarf2dbg.c (dwarf2_finish): Don't generate .debug_line section if it isn't empty. gas/testsuite/ 2010-07-05 H.J. Lu <hongjiu.lu@intel.com> PR gas/10531 PR gas/11789 * gas/i386/dw2-compress-1.d: Remove bogus line debug info. * gas/elf/dwarf2-1.d: New. * gas/elf/dwarf2-1.s: Likewise. * gas/elf/dwarf2-2.d: Likewise. * gas/elf/dwarf2-2.s: Likewise. * gas/elf/dwarf2-3.d: Likewise. * gas/elf/dwarf2-3.s: Likewise. * gas/i386/debug1.d: Likewise. * gas/i386/debug1.s: Likewise. * gas/elf/elf.exp: Run dwarf2-1, dwarf2-2 and dwarf2-3. * gas/i386/i386.exp: Run debug1 for both 32bit and 64bit.
* Add -Wshadow to the gcc command line options used when compiling the binutils.Nick Clifton2009-12-111-95/+95
| | | | Fix up all warnings generated by the addition of this switch.
* * po/bfd.pot: Updated by the Translation project.Nick Clifton2009-09-111-12/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * po/binutils.pot: Updated by the Translation project. * po/gold.pot: Updated by the Translation project. * po/gold.pot: Updated by the Translation project. * po/gprof.pot: Updated by the Translation project. * po/sv.po: Updated Swedish translation. * po/ld.pot: Updated by the Translation project. * po/fi.po: Updated Finnish translation. * po/ld.pot: Updated by the Translation project. * po/fi.po: Updated Finnish translation. Updated sources to compile cleanly with -Wc++-compat: * basic_blocks.c: Add casts. * cg_dfn.c: Add cast. * corefile.c: Add casts. * gmon_io.c: Add casts. * hist.c: Add cast. * source.c: Add cast. * sym_ids.c (struct match): Moved to top level. Updated soruces in ld/* to compile cleanly with -Wc++-compat: * ld.h (enum endian_enum,enum symbolic_enum,enum dynamic_list_enum): Move to top level. * ldcref.c: Add casts. * ldctor.c: Add casts. * ldexp.c * ldexp.h (enum node_tree_enum,enum phase_enum): Move to top level. * ldlang.c: Add casts. (lang_insert_orphan): Use enum name instead of integer. * ldlang.h (enum statement_enum): Move to top level. * ldmain.c: Add casts. * ldwrite.c: Add casts. * lexsup.c: Add casts. (enum control_enum): Move to top level. * mri.c: Add casts. (mri_draw_tree): Use enum name instead of integer. Updated sources to compile cleanly with -Wc++-compat: * basic_blocks.c: Add casts. * cg_dfn.c: Add cast. * corefile.c: Add casts. * gmon_io.c: Add casts. * hist.c: Add cast. * source.c: Add cast. * sym_ids.c (struct match): Moved to top level. * as.c (main): Call dwarf2_init. * config/obj-elf.c (struct group_list): New field. (build_group_lists): Use hash lookup. (free_section_idx): New function. (elf_frob_file): Adjust. * dwarf2dbg.c (all_segs_hash, last_seg_ptr): New variables. (get_line_subseg): Adjust. (dwarf2_init): New function. * dwarf2dbg.h (dwarf2_init): New declaration.
* update copyright datesAlan Modra2009-09-021-1/+1
|
* bfdTom Tromey2009-07-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.am (dwarf2.lo): Use dwarf2.h, not elf/dwarf2.h. (elf-eh-frame.lo): Likewise. (elf32-bfin.lo): Likewise. (elf32-frv.lo): Likewise. (elf32-xc16x.lo): Likewise. * Makefile.in: Rebuild. * dwarf2.c: Included dwarf.h, not elf/dwarf2.h. * elf-eh-frame.c: Likewise. * elf32-bfin.c: Likewise. * elf32-frv.c: Likewise. * elf32-xc16x.c: Likewise. binutils * Makefile.am (dwarf.o): Refer to dwarf2.h, not elf/dwarf2.h. * Makefile.in: Rebuild. * dwarf.c: Include dwarf2.h, not elf/dwarf2.h. gas * Makefile.am (DEPTC_alpha_ecoff): Refer to dwarf2.h, not elf/dwarf2.h. (DEPTC_alpha_elf): Likewise. (DEPTC_alpha_evax): Likewise. (DEPTC_arm_elf): Likewise. (DEPTC_hppa_elf): Likewise. (DEPTC_i386_aout): Likewise. (DEPTC_i386_coff): Likewise. (DEPTC_i386_elf): Likewise. (DEPTC_m68k_aout): Likewise. (DEPTC_m68k_coff): Likewise. (DEPTC_m68k_elf): Likewise. (DEPTC_mips_coff): Likewise. (DEPTC_mips_ecoff): Likewise. (DEPTC_mips_elf): Likewise. (DEPTC_ppc_coff): Likewise. (DEPTC_ppc_elf): Likewise. (DEPTC_s390_elf): Likewise. (DEPTC_sh_coff): Likewise. (DEPTC_sh_elf): Likewise. (DEPTC_sh64_elf): Likewise. (DEPTC_sparc_aout): Likewise. (DEPTC_sparc_coff): Likewise. (DEPTC_sparc_elf): Likewise. (as.o): Likewise. (dwarf2dbg.o): Likewise. (dw2gencfi.o): Likewise. (ehopt.o): Likewise. (read.o): Likewise. * Makefile.in: Rebuild. * dw2gencfi.h: Include dwarf2.h, not elf/dwarf2.h. * dwarf2dbg.c: Likewise. * ehopt.c: Likewise. gdb * dwarf2-frame.c: Include dwarf2.h, not elf/dwarf2.h. * dwarf2expr.c: Likewise. * dwarf2loc.c: Likewise. * dwarf2read.c: Likewise. * sh-tdep.c: Likewise. * xtensa-tdep.c: Likewise. include * dwarf2.h: New file, moved from elf/. include/elf * dwarf2.h: Move to `..'.
* * gas/app, gas/as.c, gas/as.h, gas/atof-generic.c, gas/cgen.c,Nick Clifton2009-06-221-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | gas/config/atof-ieee.c, gas/config/obj-aout.c, gas/config/obj-coff.c, gas/config/obj-ecoff.c, gas/config/obj-elf.c, gas/config/obj-som.c, gas/config/tc-alpha.c, gas/config/tc-arc.c, gas/config/tc-arm.c, gas/config/tc-cr16.c, gas/config/tc-cris.c, gas/config/tc-crx.c, gas/config/tc-d30v.c, gas/config/tc-dlx.c, gas/config/tc-hppa.c, gas/config/tc-i370.c, gas/config/tc-i386-intel.c, gas/config/tc-i386.c, gas/config/tc-i860.c, gas/config/tc-i960.c, gas/config/tc-ia64.c, gas/config/tc-iq2000.c, gas/config/tc-m32c.c, gas/config/tc-m32r.c, gas/config/tc-m68hc11.c, gas/config/tc-m68k.c, gas/config/tc-maxq.c, gas/config/tc-mcore.c, gas/config/tc-mep.c, gas/config/tc-mips.c, gas/config/tc-mmix.c, gas/config/tc-mn10300.c, gas/config/tc-moxie.c, gas/config/tc-ns32k.c, gas/config/tc-pj.c, gas/config/tc-ppc.c, gas/config/tc-s390.c, gas/config/tc-score.c, gas/config/tc-score7.c, gas/config/tc-sh.c, gas/config/tc-sparc.c, gas/config/tc-spu.c, gas/config/tc-tic30.c, gas/config/tc-vax.c, gas/config/tc-xtensa.c, gas/config/xtensa-relax.c, gas/dw2gencfi.c, gas/dwarf2dbg.c, gas/ehopt.c, gas/expr.c, gas/frags.c, gas/input-file.c, gas/read.c, gas/sb.c, gas/subsegs.c, gas/symbols.c, gas/write.c: Change the name of the gas macro `assert' to `gas_assert'.
* * NEWS: Add item about discriminator support.Cary Coutant2009-04-241-2/+35
| | | | | | | | | | | | | * dwarf2dbg.h (struct dwarf2_line_info): Add discriminator field. * dwarf2dbg.c (current): Add discriminator field. (dwarf2_where): Copy discriminator value. (dwarf2_consume_line_info): Set discriminator to 0. (dwarf2_directive_loc): Process discriminator sub-op. (out_leb128): New function. (process_entries): Output DW_LNE_set_discriminator. * doc/as.texinfo: Add discriminator operand to .loc directive. * testsuite/gas/lns/lns-common-1.d: Add test for discriminator. * testsuite/gas/lns/lns-common-1.s: Likewise.
* 2009-03-03 Tristan Gingold <gingold@adacore.com>Tristan Gingold2009-03-031-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Eric Botcazou <ebotcazou@adacore.com> Douglas B Rupp <rupp@gnat.com> * doc/as.texinfo (Overview): Mention -replace/-noreplace options for Alpha. * doc/c-alpha.texi (Alpha Options): Document -replace/-noreplace. * config/tc-alpha.h (TC_VALIDATE_FIX_SUB): Define to 1 (evax). (OBJ_SYMFIELD_TYPE): Remove. (tc_canonicalize_symbol_name): Define to evax_shorten_name. (TC_IMPLICIT_LCOMM_ALIGNMENT): For alignment to 3 on evax. (tc_frob_file_before_fix): Do not defined on evax. * config/tc-alpha.c: Always includes dwarf2dbg.h. Include vms.h if OBJ_EVAX. (struct alpha_fixup): Add xtrasym and procsym (evax only). (enum alpha_macro_arg): Remove trailing comma. (md_longopts): Add replace and noreplace arguments (evax only). (alpha_evax_proc_hash): New variable. (alpha_link_section): Make it global. (alpha_ctors_section, alpha_dtors_section): Removed. (alpha_ctors_symbol, alpha_dtors_symbol): Ditto. (alpha_lit8_section): Ifndef'ed on evax. (alpha_lit8_symbol): Ditto. (alpha_prologue_label): New variable. (alpha_linkage_symbol): New variable (evax only). (alpha_flag_replace): Ditto. (struct alpha_evax_procs): Add handler and handler_data field. (alpha_evax_proc): Now of type pointer. (alpha_linkage_fixup_root, alpha_linkage_fixup_tail): New variables. (struct alpha_reloc_tag): Add sym and psym fields (evax only). (get_alpha_reloc_tag): Initialize sym and psym fields (evax only). (alpha_adjust_relocs): Ifndef'ed on evax. (load_expression): Add opname argument. Implement LDA/BSR optimization for evax. (emit_lda): Adjust for new prototype of load_expression. (emit_ir_load): Ditto. Do not nothing for GP if ..lk symbols. (emit_loadstore): Likewise. (emit_ldXu): Likewise. (emit_stX): Likewise. (emit_jsrjmp): Likewise. Implement LDA/BSR optimization for evax. (emit_ldgp): Avoid warning in evax case. (add_to_link_pool): Make it static. Return symbolic expression rather than number expression for the offset. (s_alpha_text): Create .text symbol for evax if not already created. (s_alpha_comm): Do not create specific section for common symbol. Fill common area with zeros for evax. (s_alpha_prologue): Create alpha_prologue_label. (s_alpha_section_name): New function (evax). (s_alpha_section_word): Likewise. (section_name): New static variabke moved out from ... (s_alpha_section): ... here. Create new sections on demand. (s_alpha_literals): New function (evax). (s_alpha_ent): Create alpha_evax_proc instance and insert it in the alpha_evax_proc_hash table. (s_alpha_handler): New function (evax). (s_alpha_frame): Adjust for new type of alpha_evax_proc. (s_alpha_prologue): New function (evax). (s_alpha_pdesc): Adjust for new type of alpha_evax_proc and new handling of procedures with hash table. Add support for condition handlers. (s_alpha_linkage): Create linkage_fixup instance and chain it. (s_alpha_fp_save): Adjust for new type of alpha_evax_proc. (s_alpha_mask): Likewise. (s_alpha_fmask): Likewise. (s_alpha_end): Clear alpha_evax_proc. (s_alpha_align): Increase max_alignment to 16. (alpha_print_token): Call print_expr_1 instead of print_expr. (md_pseudo_table): Add "section", "literals", "handler" and "handler_data" (evax). Do not ignore "prologue" on evax. Fix indentation. (md_begin): Create hash table for alpha_evax_proc_hash. (md_parse_option): Handle OPTION_REPLACE and OPTION_NOREPLACE. (md_show_usage): Mention -replace/-noreplace for evax. (md_apply_fix): Handle evax relocs (_NOP, _LDA, _BSR and _BOH). (alpha_force_relocation): Likewise. (alpha_fix_adjustable): Likewise. Add BFD_RELOC_16 case. (tc_gen_reloc): Likewise. Add BFD_RELOC_ALPHA_LINKAGE for evax. (emit_insn): New cases for evax specific relocs. (assemble_insn): Fix indentation. Take care of -MDISP in operand table. * config/obj-evax.h (struct alpha_linkage_fixups): New struct. (OBJ_SYMFIELD_TYPE): New macro. (obj_symbol_new_hook): Define. (obj_frob_symbol, obj_frob_file_before_adjust): Ditto. (obj_frob_file_before_fix): Ditto. (PDSC_S_M_HANDLER_VALID): New macro. (PDSC_S_M_HANDLER_DATA_VALID): Ditto. (TC_IMPLICIT_LCOMM_ALIGNMENT): Remove. Add prototypes for functions declared in obj-evax.c * config/obj-evax.c: Include subsegs.h, struc-symbol.h, safe-ctype.h. (s_evax_weak): Convert to ansi-C. (evax_symbol_new_hook): New function. (evax_frob_symbol): Ditto. (evax_frob_file_before_adjust): Ditto. (evax_frob_file_before_fix): Ditto. (evax_shorten_name): Ditto. (crc32): Ditto. (encode_32): Ditto. (encode_16): Ditto. (decode_16): Ditto. (shorten_identifier): Ditto. (is_truncated_identifier): Ditto. * dwarf2dbg.c (out_debug_info): Do not append trailing slash on VMS. * as.c (close_output_file): Remove #ifndef OBJ_VMS. (main): Ditto.
* * include/elf/ia64.h (SHT_IA_64_VMS_DISPLAY_NAME_INFO,Nick Clifton2009-01-151-4/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | EF_IA_64_ARCHVER_1): New macros. Minor reformatting. * bfd/Makefile.am (BFD32_BACKENDS): Add new object vmsutil.lo (BFD32_BACKENDS_CFILES): Add new file vmsutil.c (vmsutil.lo): Add dependency rule * bfd/Makefile.in: Regenerate * bfd/config.bfd (ia64*-*-*vms*): Add case. * bfd/configure.in (bfd_elf64_ia64_vms_vec): Add case. * bfd/configure: Regenerate * bfd/vmsutil.[ch]: New files * bfd/elf-bfd.h (struct bfd_elf_special_section): Change type of attr to bfd_vma. * bfd/elfxx-ia64.c (elfNN_vms_post_process_headers, elfNN_vms_section_processing, elfNN_vms_final_write_processing, elfNN_vms_close_and_cleanup, elfNN_vms_section_from_shdr, elfNN_vms_object_p): New functions * bfd/targets.c (bfd_elf64_ia64_vms_vec): New target. * gas/configure.tgt(ia64-*-*vms*): New target. * gas/dwarf2dbg.h (dwarf2_loc_mark_labels): Make extern. * gas/tc.h (md_number_to_chars): Declare iff undefined. * gas/config/obj-elf.c (obj_elf_change_section): Change type of arg attr to bfd_vma. (obj_elf_parse_section_letters): Return a bfd_vma. Change type of variables attr, md_attr to bfd_vma. (obj_elf_section_word): Likewise. (obj_elf_section): Change type of variable attr to bfd_vma * gas/config/obj-elf.h (obj_elf_change_section): Change type of arg attr to bfd_vma * gas/config/tc-ia64.c (bfdver.h,time.h): Include. (ia64_elf_section_letter): Now returns a bfd_vma. Handle VMS specific attributes. (ia64_elf_section_flags): Arg attr now a bfd_vma. (ia64_init): Don't turn on dependency checking for VMS. (ia64_target_format): Check for VMS flag bit. (do_alias): Hande decc$ functions. (get_vms_time): New function. (ia64_vms_note): New function. * gas/config/tc-ia64.h (ia64_elf_section_letter): Now returns a bfd_vma. (ia64_elf_section_flags): Arg attr now a bfd_vma. (tc_init_after_args): Define for VMS. * gas/config/tc-alpha.c (alpha_elf_section_letter): Return a bfd_vma. (alpha_elf_section_flags): Change type of arg attr to bfd_vma. * gas/config/tc-alpha.h: Likewise. * gas/config/tc-i386.c (x86_64_section_letter): Return a bfd_vma. (x86_64_section_word): Return a bfd_vma. * gas/config/tc-i386.h: Likewise. * gas/config/tc-ip2k.c (ip2k_elf_section_flags): Change type of arg attr to bfd_vma. * gas/config/tc-ip2k.h: Likewise. * gas/config/tc-mep.c (mep_elf_section_letter): Return a bfd_vma. (mep_elf_section_flags): Change type of arg attr to bfd_vma. * gas/config/tc-mep.h: Likewise. * gas/config/tc-ppc.c (ppc_section_letter): Return a bfd_vma. (ppc_section_word): Return a bfd_vma. (ppc_section_flags): Change type of arg attr to bfd_vma. * gas/config/tc-ppc.h: Likewise. * gas/config/te-vms.h (DWARF2_DIR_SHOULD_END_WITH_SEPARATOR, DWAR2_FILE_TIME_NAME, DWARF2_FILE_SIZE_NAME, DWARF2_FILEN_NAME): New file with new macros * gas/dwarf2dbg.c (get_filenum, out_file_list): Default and call new macros.
* PR gas/6656Alan Modra2008-08-051-1/+6
| | | | | | * dwarf2dbg.c (dwarf2_directive_file): Disable gas generated debug info if we see compiler generated debug info. (dwarf2_directive_loc): Likewise. Remove redundant debug_type test.
* * dwarf2dbg.c: Remove superfluous forward function declarations.Alan Modra2008-08-041-126/+69
| | | | | | | | | | | | | | (DWARF2_FORMAT): Add section arg. (out_header): New function, split out from.. (out_debug_line): ..here. (out_debug_aranges): Use out_header. (out_debug_abbrev): Add info_seg and line_seg args. Use DW_FORM_data8 (for DW_AT_stmt_list) if line_seg is 64-bit. (out_debug_info): Use out_header. Output 8 byte DW_AT_stmt_list if line_seg is 64-bit. (dwarf2_finish): Adjust out_debug_abbrev call. * config/tc-mips.h (DWARF2_FORMAT, mips_dwarf2_format): Add sec arg. * config/tc-mips.c (mips_dwarf2_format): Likewise.
* * dwarf2dbg.c (dwarf2_emit_insn): Simplify test before dwarf2_whereAlan Modra2008-04-071-32/+21
| | | | | | | | | call. Delete out of date comment. (dwarf2_consume_line_info): Always clear dwarf2_loc_directive_seen. (dwarf2_emit_label): Don't emit unless there has been a previous .file or we are outputting assembler generated debug. dwarf2_consume_line_info after emitting line info, not before. (out_debug_info): Simplify files_in_use test.
* gas/Bob Wilson2008-01-091-48/+107
| | | | | | | | | | | | | | | | | | | * dwarf2dbg.c (out_sleb128): Delete. (size_fixed_inc_line_addr, emit_fixed_inc_line_addr): New. (out_fixed_inc_line_addr): Delete. (relax_inc_line_addr, dwarf2dbg_estimate_size_before_relax): Call new size_fixed_inc_line_addr if DWARF2_USE_FIXED_ADVANCE_PC is set. (dwarf2dbg_convert_frag): Likewise for emit_fixed_inc_line_addr. (process_entries): Remove calls to out_fixed_inc_line_addr. When DWARF2_USE_FIXED_ADVANCE_PC is set, call relax_inc_line_addr. * read.h (emit_expr_fix): New prototype. * read.c (emit_expr): Move code to emit_expr_fix and use it here. (emit_expr_fix): New. testsuite/ * gas/lns/lns.exp: Run new lns-big-delta test for targets that set DWARF2_USE_FIXED_ADVANCE_PC. * gas/lns/lns-big-delta.s: New. * gas/lns/lns-big-delta.d: New.
* * dwarf2dbg.h (dwarf2_loc_directive_seen): New.Bob Wilson2007-11-191-5/+5
| | | | | | | * dwarf2dbg.c (loc_directive_seen): Make external and rename to... (dwarf2_loc_directive_seen): ...this. (dwarf2_emit_insn, dwarf2_consume_line_info) (dwarf2_emit_label, dwarf2_directive_loc): Use new name.
* * dwarf2dbg.c (dwarf2_emit_label): Use dwarf2_consume_line_info.Bob Wilson2007-11-191-8/+2
|
* * dwarf2dbg.c (dwarf2_consume_line_info): New.Bob Wilson2007-11-191-6/+16
| | | | | | | | | | | | (dwarf2_emit_insn): Use it here. (dwarf2_directive_loc): Fix check for consecutive .loc directives when debug_type is DEBUG_DWARF2. * dwarf2dbg.h (dwarf2_consume_line_info): New prototype. * config/tc-ia64.c (ia64_flush_insns): Call dwarf2_consume_line_info. (md_assemble): Likewise. testsuite/ * gas/lns/lns.exp: Run lns-common-1 with alternate source for ia64. * gas/lns/lns-common-1-ia64.s: New file.
* * dwarf2dbg.c (dwarf2_directive_loc): Emit duplicate .loc directives.Daniel Jacobowitz2007-08-291-0/+5
| | | | | * gas/lns/lns-duplicate.d, gas/lns/lns-duplicate.s: New. * gas/lns/lns.exp: Run lns-duplicate.
* 2007-08-24 Joseph Myers <joseph@codesourcery.com>Joseph Myers2007-08-241-6/+10
| | | | | | | | | | | | | | | | Paul Brook <paul@codesourcery.com> * remap.c: New. * as.h (remap_debug_filename, add_debug_prefix_map): Declare. * as.c (show_usage): Document --debug-prefix-map option. (parse_args): Handle --debug-prefix-map. * dwarf2dbg.c (out_file_list, out_debug_info): Remap debug paths. * stabs.c (stabs_generate_asm_file): Remap debug paths. * Makefile.am (GAS_CFILES): Add remap.c (GENERIC_OBJS): Add remap.o. Regenerate dependencies. * Makefile.in: Regenerate. * doc/as.texinfo (--debug-prefix-map): Document.
* Switch to GPLv3Nick Clifton2007-07-031-2/+2
|
* * dwarf2dbg.c (out_debug_info): Use TC_DWARF2_EMIT_OFFSET to emit a disjoint ↵Nick Clifton2006-10-131-7/+3
| | | | DW_AT range.
* gas/ChangeLog:Bob Wilson2006-08-081-1/+64
| | | | | | | | | | | | * dwarf2dbg.c (DWARF2_USE_FIXED_ADVANCE_PC): New. (out_sleb128): New. (out_fixed_inc_line_addr): New. (process_entries): Use out_fixed_inc_line_addr when DWARF2_USE_FIXED_ADVANCE_PC is set. * config/tc-xtensa.h (DWARF2_USE_FIXED_ADVANCE_PC): Define. gas/testsuite/ChangeLog: * gas/lns/lns-common-1-alt.d: New file. * gas/lns/lns.exp: Use lns-common-1-alt.d for xtensa targets.
* * dwarf2dbg.c (out_debug_info): Add new parameter ranges_seg and emitNick Clifton2006-08-081-7/+81
| | | | | | | DW_AT_ranges when code in compilation unit is not contiguous. (out_debug_abbrev): Emit DW_AT_ranges abbreviation if code in is not contiguous. (dwarf2_finish): Create and pass ranges_seg to out_debug_info. (out_debug_ranges): New function to emit .debug_ranges section when code is not contiguous.
* remove some duplicate #include's.Alan Modra2006-06-071-1/+0
|
* PR gas/2582Nick Clifton2006-05-051-2/+25
| | | | | | | | | * dwarf2dbg.c (INSERT_DIR_SEPARATOR): New macro. Handles the insertion of a directory separator character into a string at a given offset. Uses heuristics to decide when to use a backslash character rather than a forward-slash character. (dwarf2_directive_loc): Use the macro. (out_debug_info): Likewise.
* * subsegs.h (struct frchain): Delete frch_seg.Alan Modra2006-05-031-19/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (frchain_root): Delete. (seg_info): Define as macro. * subsegs.c (frchain_root): Delete. (abs_seg_info, und_seg_info, absolute_frchain): Delete. (subsegs_begin, subseg_change): Adjust for above. (subseg_set_rest): Likewise. Add new frchain structs to seginfo rather than to one big list. (subseg_get): Don't special case abs, und sections. (subseg_new, subseg_force_new): Don't set frchainP here. (seg_info): Delete. (subsegs_print_statistics): Adjust frag chain control list traversal. * debug.c (dmp_frags): Likewise. * dwarf2dbg.c (first_frag_for_seg): Don't start looking for frag at frchain_root. Make use of known frchain ordering. (last_frag_for_seg): Likewise. (get_frag_fix): Likewise. Add seg param. (process_entries, out_debug_aranges): Adjust get_frag_fix calls. * write.c (chain_frchains_together_1): Adjust for struct frchain. (SUB_SEGMENT_ALIGN): Likewise. (subsegs_finish): Adjust frchain list traversal. * config/tc-xtensa.c (xtensa_cleanup_align_frags): Likewise. (xtensa_fix_target_frags, xtensa_mark_narrow_branches): Likewise. (xtensa_mark_zcl_first_insns, xtensa_fix_a0_b_retw_frags): Likewise. (xtensa_fix_b_j_loop_end_frags): Likewise. (xtensa_fix_close_loop_end_frags): Likewise. (xtensa_fix_short_loop_frags, xtensa_sanity_check): Likewise. (retrieve_segment_info): Delete frch_seg initialisation.
* * dwarf2dbg.c (get_line_subseg): Attach new struct line_seg to endAlan Modra2006-04-281-4/+4
| | | | of list rather than beginning.
* * dwarf2dbg.c (get_filenum): Don't inadvertently decrease files_in_use.Alan Modra2006-02-281-2/+3
|
* * dwarf2dbg.c (process_entries): Fix uninitialized variable warning.Richard Henderson2005-09-201-2/+3
|
* * dwarf2dbg.c (struct line_entry): Replace frag and frag_ofsRichard Henderson2005-09-201-74/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with label. (dwarf2_loc_mark_labels): New. (dwarf2_gen_line_info_1): Split out of ... (dwarf2_gen_line_info): ... here. Create the temp symbol here. (dwarf2_emit_label): New. (dwarf2_directive_loc_mark_labels): New. (out_set_addr): Take a symbol instead of frag+ofs. (relax_inc_line_addr): Likewise. (emit_inc_line_addr): Assert delta non-negative. (process_entries): Remove dead code. Update to work with temp symbols instead of frag+ofs. * dwarf2dbg.h (dwarf2_directive_loc_mark_labels): Declare. (dwarf2_emit_label, dwarf2_loc_mark_labels): Declare. * config/obj-elf.c (elf_pseudo_tab): Add loc_mark_labels. * config/obj-elf.h (obj_frob_label): New. * config/tc-alpha.c (alpha_define_label): Call dwarf2_emit_label. * config/tc-arm.c, config/tc-hppa.c, config/tc-m68k.c, config/tc-mips.c, config/tc-ppc.c, config/tc-sh.c, config/tc-xtensa.c: Similarly in the respective tc_frob_label implementation functions. * config/tc-i386.c (md_pseudo_table): Move file and loc to non-elf section; add loc_mark_labels. * config/tc-ia64.c (struct label_fix): Add dw2_mark_labels. (ia64_flush_insns): Check for marked labels; emit line entry if so. (emit_one_bundle): Similarly. (ia64_frob_label): Record marked labels. * config/tc-m68hc11.h (tc_frob_label): Remove. * config/tc-ms1.c (md_pseudo_table): Remove file and loc. * config/tc-sh.h (tc_frob_label): Pass sym to sh_frob_label. * config/tc-sh64.h (tc_frob_label): Likewise. * doc/as.texinfo (LNS directives): Docuement .loc_mark_blocks.
* * dwarf2dbg.c (dwarf2_where): Set line->isa.Richard Henderson2005-09-071-56/+77
| | | | | | | | | | | (dwarf2_set_isa): New. (dwarf2_directive_loc): Rearrange to allow all options on one line. * dwarf2dbg.h (dwarf2_set_isa): Declare. * doc/as.texinfo: Update .loc documentation. * gas/lns/lns-common-1.d: Don't match header or special opcode numbers. * gas/lns/lns-common-1.s: Update for syntax change. * gas/lns/lns-diag-1.[sl]: Likewise.
* * dwarf2dbg.c: Include safe-ctype.h.Richard Henderson2005-09-071-59/+146
| | | | | | | | | | | | | | | | | | | | (DWARF2_LINE_OPCODE_BASE): Bump to 13. (current): Initialize. (dwarf2_emit_insn): Clear DWARF2_FLAG_BASIC_BLOCK, DWARF2_FLAG_PROLOGUE_END, DWARF2_FLAG_EPILOGUE_BEGIN. (dwarf2_directive_file): Cope with invalid filename. (dwarf2_directive_loc): Add handling for basic_block, prologue_end, epilogue_begin, is_stmt, isa. (emit_inc_line_addr): Move line_delta == 0, addr_delta == 0 special case down lower. (process_entries): Handle isa, DWARF2_FLAG_PROLOGUE_END, and DWARF2_FLAG_EPILOGUE_BEGIN. (out_debug_line): Emit sizes for DW_LNS_set_prologue_end, DW_LNS_set_epilogue_begin, DW_LNS_set_isa. * dwarf2dbg.h (DWARF2_FLAG_IS_STMT): Rename from DWARF2_FLAG_BEGIN_STMT. (DWARF2_FLAG_BASIC_BLOCK): Rename from DWARF2_FLAG_BEGIN_BLOCK. (DWARF2_FLAG_PROLOGUE_END, DWARF2_FLAG_EPILOGUE_BEGIN): New. (struct dwarf2_line_info): Add isa member. * doc/as.texinfo (LNS directives): New node.
* * README-vms: Delete.Alan Modra2005-08-111-53/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config-gas.com: Delete. * makefile.vms: Delete. * vmsconf.sh: Delete. * config/atof-tahoe.c: Delete. * config/m88k-opcode.h: Delete. * config/obj-bout.c: Delete. * config/obj-bout.h: Delete. * config/obj-hp300.c: Delete. * config/obj-hp300.h: Delete. * config/tc-a29k.c: Delete. * config/tc-a29k.h: Delete. * config/tc-h8500.c: Delete. * config/tc-h8500.h: Delete. * config/tc-m88k.c: Delete. * config/tc-m88k.h: Delete. * config/tc-tahoe.c: Delete. * config/tc-tahoe.h: Delete. * config/tc-tic80.c: Delete. * config/tc-tic80.h: Delete. * config/tc-w65.c: Delete. * config/tc-w65.h: Delete. * config/te-aux.h: Delete. * config/te-delt88.h: Delete. * config/te-delta.h: Delete. * config/te-dpx2.h: Delete. * config/te-hp300.h: Delete. * config/te-ic960.h: Delete. * config/vms-a-conf.h: Delete. * doc/c-a29k.texi: Delete. * doc/c-h8500.texi: Delete. * doc/c-m88k.texi: Delete. * README: Remove obsolete examples, and list of supported targets. * Makefile.am: Remove a29k, h8500, m88k, tahoe, tic80, w65, bout and hp300 support. (DEP_FLAGS): Don't define BFD_ASSEMBLER. * configure.in: Remove --enable-bfd-assembler, need_bfd, primary_bfd_gas. * configure.tgt: Remove a29k, h8300-coff, h8500-*, i960 non-elf, m68k non bfd, m88k, or32-coff, tic80-*, vax non-bfd, w65k-*, *-nindy. * as.c: Remove all non-BFD_ASSEMBLER code, support for above targets. * as.h: Likewise. * dw2gencfi.c: Likewise. * dwarf2dbg.c: Likewise. * ehopt.c: Likewise. * input-file.c: Likewise. * listing.c: Likewise. * literal.c: Likewise. * messages.c: Likewise. * obj.h: Likewise. * output-file.c: Likewise. * read.c: Likewise. * stabs.c: Likewise. * struc-symbol.h: Likewise. * subsegs.c: Likewise. * subsegs.h: Likewise. * symbols.c: Likewise. * symbols.h: Likewise. * tc.h: Likewise. * write.c: Likewise. * write.h: Likewise. * config/aout_gnu.h: Likewise. * config/obj-aout.c: Likewise. * config/obj-aout.h: Likewise. * config/obj-coff.c: Likewise. * config/obj-coff.h: Likewise. * config/obj-evax.h: Likewise. * config/obj-ieee.h: Likewise. * config/tc-arm.c: Likewise. * config/tc-arm.h: Likewise. * config/tc-avr.c: Likewise. * config/tc-avr.h: Likewise. * config/tc-crx.h: Likewise. * config/tc-d10v.h: Likewise. * config/tc-d30v.h: Likewise. * config/tc-dlx.h: Likewise. * config/tc-fr30.h: Likewise. * config/tc-frv.h: Likewise. * config/tc-h8300.c: Likewise. * config/tc-h8300.h: Likewise. * config/tc-hppa.h: Likewise. * config/tc-i370.h: Likewise. * config/tc-i386.c: Likewise. * config/tc-i386.h: Likewise. * config/tc-i860.h: Likewise. * config/tc-i960.c: Likewise. * config/tc-i960.h: Likewise. * config/tc-ip2k.h: Likewise. * config/tc-iq2000.h: Likewise. * config/tc-m32c.h: Likewise. * config/tc-m32r.h: Likewise. * config/tc-m68hc11.h: Likewise. * config/tc-m68k.c: Likewise. * config/tc-m68k.h: Likewise. * config/tc-maxq.c: Likewise. * config/tc-maxq.h: Likewise. * config/tc-mcore.c: Likewise. * config/tc-mcore.h: Likewise. * config/tc-mn10200.h: Likewise. * config/tc-mn10300.c: Likewise. * config/tc-mn10300.h: Likewise. * config/tc-ms1.h: Likewise. * config/tc-msp430.c: Likewise. * config/tc-msp430.h: Likewise. * config/tc-ns32k.c: Likewise. * config/tc-ns32k.h: Likewise. * config/tc-openrisc.h: Likewise. * config/tc-or32.c: Likewise. * config/tc-or32.h: Likewise. * config/tc-ppc.c: Likewise. * config/tc-ppc.h: Likewise. * config/tc-s390.h: Likewise. * config/tc-sh.c: Likewise. * config/tc-sh.h: Likewise. * config/tc-sparc.c: Likewise. * config/tc-tic30.c: Likewise. * config/tc-tic30.h: Likewise. * config/tc-tic4x.c: Likewise. * config/tc-tic4x.h: Likewise. * config/tc-tic54x.c: Likewise. * config/tc-tic54x.h: Likewise. * config/tc-v850.h: Likewise. * config/tc-vax.c: Likewise. * config/tc-vax.h: Likewise. * config/tc-xstormy16.h: Likewise. * config/tc-xtensa.h: Likewise. * config/tc-z8k.c: Likewise. * config/tc-z8k.h: Likewise. * config/vms-a-conf.h * doc/Makefile.am: Likewise. * doc/all.texi: Likewise. * doc/as.texinfo: Likewise. * doc/Makefile.in: Regenerate. * Makefile.in: Regenerate. * configure: Regenerate. * config.in: Regenerate. * po/POTFILES.in: Regenerate.
* Update the address and phone number of the FSFNick Clifton2005-05-051-2/+2
|
* update copyright datesAlan Modra2005-03-031-1/+2
|
* * dwarf2dbg.c (dwarf2_finish): Correct logic for determining whenNathan Sidwell2005-01-271-13/+22
| | | | | | to emit .debug_line and other debug sections. * as.h (seg_not_empty_p): Declare. * subsegs.c (seg_not_empty_p): New predicate.
* * dwarf2dbg.c (dwarf2_finish): Don't write a .debug_line sectionBob Wilson2004-11-221-3/+2
| | | | without a corresponding .debug_info section.