CVS commit: src/external/bsd/elftoolchain/dist/libdwarf
Module Name:src Committed By: christos Date: Wed Mar 27 21:53:06 UTC 2024 Modified Files: src/external/bsd/elftoolchain/dist/libdwarf: libdwarf_reloc.c Log Message: Don't try to compile the arch-specific relocation code if we don't have the built-in headers (for tools) To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 \ src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_reloc.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_reloc.c diff -u src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_reloc.c:1.5 src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_reloc.c:1.6 --- src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_reloc.c:1.5 Sun Mar 3 12:37:32 2024 +++ src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_reloc.c Wed Mar 27 17:53:06 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: libdwarf_reloc.c,v 1.5 2024/03/03 17:37:32 christos Exp $ */ +/* $NetBSD: libdwarf_reloc.c,v 1.6 2024/03/27 21:53:06 christos Exp $ */ /*- * Copyright (c) 2010 Kai Wang @@ -28,7 +28,7 @@ #include "_libdwarf.h" -__RCSID("$NetBSD: libdwarf_reloc.c,v 1.5 2024/03/03 17:37:32 christos Exp $"); +__RCSID("$NetBSD: libdwarf_reloc.c,v 1.6 2024/03/27 21:53:06 christos Exp $"); ELFTC_VCSID("Id: libdwarf_reloc.c 3741 2019-06-07 06:32:01Z jkoshy"); Dwarf_Unsigned @@ -36,7 +36,7 @@ _dwarf_get_reloc_type(Dwarf_P_Debug dbg, { assert(dbg != NULL); - +#ifdef BUILTIN_ELF_HEADERS switch (dbg->dbgp_isa) { case DW_ISA_AARCH64: return (is64 ? R_AARCH64_ABS64 : R_AARCH64_ABS32); @@ -59,6 +59,7 @@ _dwarf_get_reloc_type(Dwarf_P_Debug dbg, default: break; } +#endif return (0); /* NOT REACHED */ } @@ -66,6 +67,7 @@ int _dwarf_get_reloc_size(Dwarf_Debug dbg, Dwarf_Unsigned rel_type) { +#ifdef BUILTIN_ELF_HEADERS switch (dbg->dbg_machine) { case EM_NONE: break; @@ -127,6 +129,7 @@ _dwarf_get_reloc_size(Dwarf_Debug dbg, D default: break; } +#endif /* unknown relocation. */ return (0);
CVS commit: src/external/bsd/elftoolchain/dist/libdwarf
Module Name:src Committed By: christos Date: Wed Mar 27 21:53:06 UTC 2024 Modified Files: src/external/bsd/elftoolchain/dist/libdwarf: libdwarf_reloc.c Log Message: Don't try to compile the arch-specific relocation code if we don't have the built-in headers (for tools) To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 \ src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_reloc.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/external/bsd/elftoolchain/dist/libdwarf
Module Name:src Committed By: jkoshy Date: Sun May 1 17:20:47 UTC 2022 Modified Files: src/external/bsd/elftoolchain/dist/libdwarf: dwarf_abbrev.c dwarf_arange.c dwarf_attr.c dwarf_attrval.c dwarf_cu.c dwarf_dealloc.c dwarf_die.c dwarf_dump.c dwarf_errmsg.c dwarf_finish.c dwarf_form.c dwarf_frame.c dwarf_funcs.m4 dwarf_init.c dwarf_lineno.c dwarf_loclist.c dwarf_macinfo.c dwarf_pro_arange.c dwarf_pro_attr.c dwarf_pro_die.c dwarf_pro_expr.c dwarf_pro_finish.c dwarf_pro_frame.c dwarf_pro_funcs.m4 dwarf_pro_init.c dwarf_pro_lineno.c dwarf_pro_macinfo.c dwarf_pro_pubnames.m4 dwarf_pro_reloc.c dwarf_pro_sections.c dwarf_pro_types.m4 dwarf_pro_vars.m4 dwarf_pro_weaks.m4 dwarf_pubnames.m4 dwarf_pubtypes.m4 dwarf_ranges.c dwarf_reloc.c dwarf_sections.c dwarf_seterror.c dwarf_str.c dwarf_types.m4 dwarf_vars.m4 dwarf_weaks.m4 libdwarf.c libdwarf_abbrev.c libdwarf_arange.c libdwarf_attr.c libdwarf_die.c libdwarf_elf_access.c libdwarf_elf_init.c libdwarf_error.c libdwarf_frame.c libdwarf_info.c libdwarf_init.c libdwarf_lineno.c libdwarf_loc.c libdwarf_loclist.c libdwarf_macinfo.c libdwarf_nametbl.c libdwarf_ranges.c libdwarf_reloc.c libdwarf_rw.c libdwarf_sections.c libdwarf_str.c Log Message: Remove trailing whitespace from upstream revision strings to reduce diffs against upstream. No functional change. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_abbrev.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_arange.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attr.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_cu.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_dealloc.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_die.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_dump.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_errmsg.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_finish.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_form.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_frame.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_funcs.m4 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_init.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_lineno.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_loclist.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_macinfo.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_arange.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_attr.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_die.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_expr.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_finish.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_frame.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_funcs.m4 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_init.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_lineno.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_macinfo.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_pubnames.m4 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_reloc.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_sections.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_types.m4 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_vars.m4 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_weaks.m4 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pubnames.m4 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pubtypes.m4 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_ranges.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_reloc.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_seterror.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_str.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_types.m4 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_vars.m4 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_weaks.m4 \ src/external/bsd/elftoolchain/dist/libdwarf/libdwarf.c \ src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_abbrev.c \ src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_arange.c \ src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_attr.c \ src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_die.c \ src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_elf_access.c \ src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_error.c \ src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_frame.c \ src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_info.c \
CVS commit: src/external/bsd/elftoolchain/dist/libdwarf
Module Name:src Committed By: jkoshy Date: Sun May 1 17:20:47 UTC 2022 Modified Files: src/external/bsd/elftoolchain/dist/libdwarf: dwarf_abbrev.c dwarf_arange.c dwarf_attr.c dwarf_attrval.c dwarf_cu.c dwarf_dealloc.c dwarf_die.c dwarf_dump.c dwarf_errmsg.c dwarf_finish.c dwarf_form.c dwarf_frame.c dwarf_funcs.m4 dwarf_init.c dwarf_lineno.c dwarf_loclist.c dwarf_macinfo.c dwarf_pro_arange.c dwarf_pro_attr.c dwarf_pro_die.c dwarf_pro_expr.c dwarf_pro_finish.c dwarf_pro_frame.c dwarf_pro_funcs.m4 dwarf_pro_init.c dwarf_pro_lineno.c dwarf_pro_macinfo.c dwarf_pro_pubnames.m4 dwarf_pro_reloc.c dwarf_pro_sections.c dwarf_pro_types.m4 dwarf_pro_vars.m4 dwarf_pro_weaks.m4 dwarf_pubnames.m4 dwarf_pubtypes.m4 dwarf_ranges.c dwarf_reloc.c dwarf_sections.c dwarf_seterror.c dwarf_str.c dwarf_types.m4 dwarf_vars.m4 dwarf_weaks.m4 libdwarf.c libdwarf_abbrev.c libdwarf_arange.c libdwarf_attr.c libdwarf_die.c libdwarf_elf_access.c libdwarf_elf_init.c libdwarf_error.c libdwarf_frame.c libdwarf_info.c libdwarf_init.c libdwarf_lineno.c libdwarf_loc.c libdwarf_loclist.c libdwarf_macinfo.c libdwarf_nametbl.c libdwarf_ranges.c libdwarf_reloc.c libdwarf_rw.c libdwarf_sections.c libdwarf_str.c Log Message: Remove trailing whitespace from upstream revision strings to reduce diffs against upstream. No functional change. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_abbrev.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_arange.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attr.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_cu.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_dealloc.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_die.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_dump.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_errmsg.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_finish.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_form.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_frame.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_funcs.m4 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_init.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_lineno.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_loclist.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_macinfo.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_arange.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_attr.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_die.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_expr.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_finish.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_frame.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_funcs.m4 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_init.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_lineno.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_macinfo.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_pubnames.m4 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_reloc.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_sections.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_types.m4 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_vars.m4 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pro_weaks.m4 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pubnames.m4 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_pubtypes.m4 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_ranges.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_reloc.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_seterror.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_str.c \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_types.m4 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_vars.m4 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_weaks.m4 \ src/external/bsd/elftoolchain/dist/libdwarf/libdwarf.c \ src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_abbrev.c \ src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_arange.c \ src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_attr.c \ src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_die.c \ src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_elf_access.c \ src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_error.c \ src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_frame.c \ src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_info.c \
CVS commit: src/external/bsd/elftoolchain/dist/libdwarf
Module Name:src Committed By: jkoshy Date: Mon Mar 14 20:50:48 UTC 2022 Modified Files: src/external/bsd/elftoolchain/dist/libdwarf: dwarf.3 dwarf_add_AT_comp_dir.3 dwarf_add_AT_const_value_string.3 dwarf_add_AT_dataref.3 dwarf_add_AT_flag.3 dwarf_add_AT_location_expr.3 dwarf_add_AT_name.3 dwarf_add_AT_producer.3 dwarf_add_AT_ref_address.3 dwarf_add_AT_reference.3 dwarf_add_AT_signed_const.3 dwarf_add_AT_string.3 dwarf_add_AT_targ_address.3 dwarf_add_arange.3 dwarf_add_die_to_debug.3 dwarf_add_directory_decl.3 dwarf_add_expr_addr.3 dwarf_add_expr_gen.3 dwarf_add_fde_inst.3 dwarf_add_file_decl.3 dwarf_add_frame_cie.3 dwarf_add_frame_fde.3 dwarf_add_funcname.3 dwarf_add_line_entry.3 dwarf_add_pubname.3 dwarf_add_typename.3 dwarf_add_varname.3 dwarf_add_weakname.3 dwarf_attr.3 dwarf_attrlist.3 dwarf_attroffset.3 dwarf_attrval_signed.3 dwarf_child.3 dwarf_dealloc.3 dwarf_def_macro.3 dwarf_die_abbrev_code.3 dwarf_die_link.3 dwarf_diename.3 dwarf_dieoffset.3 dwarf_end_macro_file.3 dwarf_errmsg.3 dwarf_errno.3 dwarf_expand_frame_instructions.3 dwarf_expr_current_offset.3 dwarf_expr_into_block.3 dwarf_fde_cfa_offset.3 dwarf_find_macro_value_start.3 dwarf_finish.3 dwarf_formaddr.3 dwarf_formblock.3 dwarf_formexprloc.3 dwarf_formflag.3 dwarf_formref.3 dwarf_formsig8.3 dwarf_formstring.3 dwarf_formudata.3 dwarf_get_AT_name.3 dwarf_get_abbrev.3 dwarf_get_abbrev_children_flag.3 dwarf_get_abbrev_code.3 dwarf_get_abbrev_entry.3 dwarf_get_abbrev_tag.3 dwarf_get_address_size.3 dwarf_get_arange.3 dwarf_get_arange_info.3 dwarf_get_aranges.3 dwarf_get_cie_index.3 dwarf_get_cie_info.3 dwarf_get_cie_of_fde.3 dwarf_get_cu_die_offset.3 dwarf_get_die_infotypes_flag.3 dwarf_get_elf.3 dwarf_get_fde_at_pc.3 dwarf_get_fde_info_for_all_regs.3 dwarf_get_fde_info_for_all_regs3.3 dwarf_get_fde_info_for_cfa_reg3.3 dwarf_get_fde_info_for_reg.3 dwarf_get_fde_info_for_reg3.3 dwarf_get_fde_instr_bytes.3 dwarf_get_fde_list.3 dwarf_get_fde_n.3 dwarf_get_fde_range.3 dwarf_get_form_class.3 dwarf_get_funcs.3 dwarf_get_globals.3 dwarf_get_loclist_entry.3 dwarf_get_macro_details.3 dwarf_get_pubtypes.3 dwarf_get_ranges.3 dwarf_get_relocation_info.3 dwarf_get_relocation_info_count.3 dwarf_get_section_bytes.3 dwarf_get_section_max_offsets.3 dwarf_get_str.3 dwarf_get_types.3 dwarf_get_vars.3 dwarf_get_weaks.3 dwarf_hasattr.3 dwarf_hasform.3 dwarf_highpc.3 dwarf_init.3 dwarf_lineno.3 dwarf_lne_end_sequence.3 dwarf_lne_set_address.3 dwarf_loclist.3 dwarf_loclist_from_expr.3 dwarf_new_die.3 dwarf_new_expr.3 dwarf_new_fde.3 dwarf_next_cu_header.3 dwarf_next_types_section.3 dwarf_object_init.3 dwarf_producer_init.3 dwarf_producer_set_isa.3 dwarf_reset_section_bytes.3 dwarf_set_frame_cfa_value.3 dwarf_set_reloc_application.3 dwarf_seterrarg.3 dwarf_srcfiles.3 dwarf_srclines.3 dwarf_start_macro_file.3 dwarf_tag.3 dwarf_transform_to_disk_form.3 dwarf_undef_macro.3 dwarf_vendor_ext.3 dwarf_whatattr.3 Log Message: Sync libdwarf's manual pages with upstream [r3964]. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/external/bsd/elftoolchain/dist/libdwarf/dwarf.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_AT_comp_dir.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_AT_const_value_string.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_AT_dataref.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_AT_flag.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_AT_location_expr.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_AT_name.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_AT_producer.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_AT_ref_address.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_AT_reference.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_AT_signed_const.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_AT_string.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_AT_targ_address.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_arange.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_die_to_debug.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_directory_decl.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_expr_addr.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_expr_gen.3 \
CVS commit: src/external/bsd/elftoolchain/dist/libdwarf
Module Name:src Committed By: jkoshy Date: Thu Nov 26 22:51:35 UTC 2020 Modified Files: src/external/bsd/elftoolchain/dist/libdwarf: dwarf.3 dwarf_add_AT_comp_dir.3 dwarf_add_AT_const_value_string.3 dwarf_add_AT_dataref.3 dwarf_add_AT_flag.3 dwarf_add_AT_location_expr.3 dwarf_add_AT_name.3 dwarf_add_AT_producer.3 dwarf_add_AT_ref_address.3 dwarf_add_AT_reference.3 dwarf_add_AT_signed_const.3 dwarf_add_AT_string.3 dwarf_add_AT_targ_address.3 dwarf_add_arange.3 dwarf_add_die_to_debug.3 dwarf_add_directory_decl.3 dwarf_add_expr_addr.3 dwarf_add_expr_gen.3 dwarf_add_fde_inst.3 dwarf_add_file_decl.3 dwarf_add_frame_cie.3 dwarf_add_frame_fde.3 dwarf_add_funcname.3 dwarf_add_line_entry.3 dwarf_add_pubname.3 dwarf_add_typename.3 dwarf_add_varname.3 dwarf_add_weakname.3 dwarf_attr.3 dwarf_attrlist.3 dwarf_attroffset.3 dwarf_attrval_signed.3 dwarf_child.3 dwarf_dealloc.3 dwarf_def_macro.3 dwarf_die_abbrev_code.3 dwarf_die_link.3 dwarf_diename.3 dwarf_dieoffset.3 dwarf_end_macro_file.3 dwarf_errmsg.3 dwarf_errno.3 dwarf_expand_frame_instructions.3 dwarf_expr_current_offset.3 dwarf_expr_into_block.3 dwarf_fde_cfa_offset.3 dwarf_find_macro_value_start.3 dwarf_finish.3 dwarf_formaddr.3 dwarf_formblock.3 dwarf_formexprloc.3 dwarf_formflag.3 dwarf_formref.3 dwarf_formsig8.3 dwarf_formstring.3 dwarf_formudata.3 dwarf_get_AT_name.3 dwarf_get_abbrev.3 dwarf_get_abbrev_children_flag.3 dwarf_get_abbrev_code.3 dwarf_get_abbrev_entry.3 dwarf_get_abbrev_tag.3 dwarf_get_address_size.3 dwarf_get_arange.3 dwarf_get_arange_info.3 dwarf_get_aranges.3 dwarf_get_cie_index.3 dwarf_get_cie_info.3 dwarf_get_cie_of_fde.3 dwarf_get_cu_die_offset.3 dwarf_get_die_infotypes_flag.3 dwarf_get_elf.3 dwarf_get_fde_at_pc.3 dwarf_get_fde_info_for_all_regs.3 dwarf_get_fde_info_for_all_regs3.3 dwarf_get_fde_info_for_cfa_reg3.3 dwarf_get_fde_info_for_reg.3 dwarf_get_fde_info_for_reg3.3 dwarf_get_fde_instr_bytes.3 dwarf_get_fde_list.3 dwarf_get_fde_n.3 dwarf_get_fde_range.3 dwarf_get_form_class.3 dwarf_get_funcs.3 dwarf_get_globals.3 dwarf_get_loclist_entry.3 dwarf_get_macro_details.3 dwarf_get_pubtypes.3 dwarf_get_ranges.3 dwarf_get_relocation_info.3 dwarf_get_relocation_info_count.3 dwarf_get_section_bytes.3 dwarf_get_section_max_offsets.3 dwarf_get_str.3 dwarf_get_types.3 dwarf_get_vars.3 dwarf_get_weaks.3 dwarf_hasattr.3 dwarf_hasform.3 dwarf_highpc.3 dwarf_init.3 dwarf_lineno.3 dwarf_lne_end_sequence.3 dwarf_lne_set_address.3 dwarf_loclist.3 dwarf_loclist_from_expr.3 dwarf_new_die.3 dwarf_new_expr.3 dwarf_new_fde.3 dwarf_next_cu_header.3 dwarf_next_types_section.3 dwarf_object_init.3 dwarf_producer_init.3 dwarf_producer_set_isa.3 dwarf_reset_section_bytes.3 dwarf_set_frame_cfa_value.3 dwarf_set_reloc_application.3 dwarf_seterrarg.3 dwarf_srcfiles.3 dwarf_srclines.3 dwarf_start_macro_file.3 dwarf_tag.3 dwarf_transform_to_disk_form.3 dwarf_undef_macro.3 dwarf_vendor_ext.3 dwarf_whatattr.3 Log Message: Sync libdwarf's manual pages with upstream. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/external/bsd/elftoolchain/dist/libdwarf/dwarf.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_AT_comp_dir.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_AT_const_value_string.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_AT_dataref.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_AT_flag.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_AT_location_expr.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_AT_name.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_AT_producer.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_AT_ref_address.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_AT_reference.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_AT_signed_const.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_AT_string.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_AT_targ_address.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_arange.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_die_to_debug.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_directory_decl.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_expr_addr.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_add_expr_gen.3 \
CVS commit: src/external/bsd/elftoolchain/dist/libdwarf
Module Name:src Committed By: christos Date: Sat Feb 10 23:46:44 UTC 2018 Modified Files: src/external/bsd/elftoolchain/dist/libdwarf: dwarf_attrval.c Log Message: remove more unreachable code. To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c diff -u src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c:1.9 src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c:1.10 --- src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c:1.9 Sat Feb 10 18:39:29 2018 +++ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c Sat Feb 10 18:46:44 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: dwarf_attrval.c,v 1.9 2018/02/10 23:39:29 christos Exp $ */ +/* $NetBSD: dwarf_attrval.c,v 1.10 2018/02/10 23:46:44 christos Exp $ */ /*- * Copyright (c) 2007 John Birrell (j...@freebsd.org) @@ -28,7 +28,7 @@ #include "_libdwarf.h" -__RCSID("$NetBSD: dwarf_attrval.c,v 1.9 2018/02/10 23:39:29 christos Exp $"); +__RCSID("$NetBSD: dwarf_attrval.c,v 1.10 2018/02/10 23:46:44 christos Exp $"); ELFTC_VCSID("Id: dwarf_attrval.c 3159 2015-02-15 21:43:27Z emaste "); int @@ -201,13 +201,9 @@ dwarf_attrval_unsigned(Dwarf_Die die, Dw *valp = at->u[0].u64; break; default: - if (at->at_die != die) - dwarf_dealloc(dbg, at->at_die, DW_DLA_DIE); DWARF_SET_ERROR(dbg, err, DW_DLE_ATTR_FORM_BAD); return (DW_DLV_ERROR); } - if (at->at_die != die) - dwarf_dealloc(dbg, at->at_die, DW_DLA_DIE); return (DW_DLV_OK); }
CVS commit: src/external/bsd/elftoolchain/dist/libdwarf
Module Name:src Committed By: christos Date: Sat Feb 10 23:46:44 UTC 2018 Modified Files: src/external/bsd/elftoolchain/dist/libdwarf: dwarf_attrval.c Log Message: remove more unreachable code. To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/external/bsd/elftoolchain/dist/libdwarf
Module Name:src Committed By: christos Date: Sat Feb 10 23:39:29 UTC 2018 Modified Files: src/external/bsd/elftoolchain/dist/libdwarf: dwarf_attrval.c Log Message: Convert to full recursive attr/die lookup instead of one level since gcc 6 creates indirect attributes that point to indirect attributes. The code is smaller this way too :-) To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/external/bsd/elftoolchain/dist/libdwarf
Module Name:src Committed By: christos Date: Sat Feb 10 23:39:29 UTC 2018 Modified Files: src/external/bsd/elftoolchain/dist/libdwarf: dwarf_attrval.c Log Message: Convert to full recursive attr/die lookup instead of one level since gcc 6 creates indirect attributes that point to indirect attributes. The code is smaller this way too :-) To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c diff -u src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c:1.8 src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c:1.9 --- src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c:1.8 Thu Mar 31 11:53:33 2016 +++ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c Sat Feb 10 18:39:29 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: dwarf_attrval.c,v 1.8 2016/03/31 15:53:33 christos Exp $ */ +/* $NetBSD: dwarf_attrval.c,v 1.9 2018/02/10 23:39:29 christos Exp $ */ /*- * Copyright (c) 2007 John Birrell (j...@freebsd.org) @@ -28,7 +28,7 @@ #include "_libdwarf.h" -__RCSID("$NetBSD: dwarf_attrval.c,v 1.8 2016/03/31 15:53:33 christos Exp $"); +__RCSID("$NetBSD: dwarf_attrval.c,v 1.9 2018/02/10 23:39:29 christos Exp $"); ELFTC_VCSID("Id: dwarf_attrval.c 3159 2015-02-15 21:43:27Z emaste "); int @@ -141,23 +141,13 @@ dwarf_attrval_signed(Dwarf_Die die, Dwar return (DW_DLV_OK); } -static Dwarf_Attribute -dwarf_indirect_find(Dwarf_Debug dbg, Dwarf_Die die, Dwarf_Half attr, -Dwarf_Unsigned val) -{ - Dwarf_Die die1; - - if ((die1 = _dwarf_die_find(die, val)) == NULL) - return NULL; - - return _dwarf_attr_find(die1, attr); -} - int dwarf_attrval_unsigned(Dwarf_Die die, Dwarf_Half attr, Dwarf_Unsigned *valp, Dwarf_Error *err) { Dwarf_Attribute at; Dwarf_Debug dbg; + Dwarf_Die die1; + int rv; dbg = die != NULL ? die->die_dbg : NULL; @@ -167,13 +157,7 @@ dwarf_attrval_unsigned(Dwarf_Die die, Dw } *valp = 0; - - if ((at = _dwarf_attr_find(die, attr)) == NULL && attr != DW_AT_type) { - DWARF_SET_ERROR(dbg, err, DW_DLE_NO_ENTRY); - return (DW_DLV_NO_ENTRY); - } - - if (at == NULL && + if ((at = _dwarf_attr_find(die, attr)) == NULL && ((at = _dwarf_attr_find(die, DW_AT_specification)) != NULL || (at = _dwarf_attr_find(die, DW_AT_abstract_origin)) != NULL)) { switch (at->at_form) { @@ -182,8 +166,15 @@ dwarf_attrval_unsigned(Dwarf_Die die, Dw case DW_FORM_ref4: case DW_FORM_ref8: case DW_FORM_ref_udata: - at = dwarf_indirect_find(dbg, die, attr, at->u[0].u64); - break; + if ((die1 = _dwarf_die_find(die, at->u[0].u64)) == NULL) + { +at = NULL; +break; + } + rv = dwarf_attrval_unsigned(die1, attr, valp, err); + if (die != die1) +dwarf_dealloc(dbg, die1, DW_DLA_DIE); + return rv; default: DWARF_SET_ERROR(dbg, err, DW_DLE_ATTR_FORM_BAD); return (DW_DLV_ERROR);
CVS commit: src/external/bsd/elftoolchain/dist/libdwarf
Module Name:src Committed By: christos Date: Thu Nov 30 19:45:53 UTC 2017 Modified Files: src/external/bsd/elftoolchain/dist/libdwarf: dwarf.h Log Message: add more DW_ATE_ constants To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/external/bsd/elftoolchain/dist/libdwarf/dwarf.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/bsd/elftoolchain/dist/libdwarf/dwarf.h diff -u src/external/bsd/elftoolchain/dist/libdwarf/dwarf.h:1.3 src/external/bsd/elftoolchain/dist/libdwarf/dwarf.h:1.4 --- src/external/bsd/elftoolchain/dist/libdwarf/dwarf.h:1.3 Fri Feb 19 21:43:41 2016 +++ src/external/bsd/elftoolchain/dist/libdwarf/dwarf.h Thu Nov 30 14:45:53 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: dwarf.h,v 1.3 2016/02/20 02:43:41 christos Exp $ */ +/* $NetBSD: dwarf.h,v 1.4 2017/11/30 19:45:53 christos Exp $ */ /*- * Copyright (c) 2007 John Birrell (j...@freebsd.org) @@ -436,22 +436,42 @@ #define DW_OP_GNU_addr_index 0xfb #define DW_OP_GNU_const_index 0xfc -#define DW_ATE_address 0x1 -#define DW_ATE_boolean 0x2 -#define DW_ATE_complex_float 0x3 -#define DW_ATE_float 0x4 -#define DW_ATE_signed 0x5 -#define DW_ATE_signed_char 0x6 -#define DW_ATE_unsigned 0x7 -#define DW_ATE_unsigned_char 0x8 -#define DW_ATE_imaginary_float 0x9 -#define DW_ATE_packed_decimal 0xa -#define DW_ATE_numeric_string 0xb -#define DW_ATE_edited 0xc -#define DW_ATE_signed_fixed 0xd -#define DW_ATE_unsigned_fixed 0xe -#define DW_ATE_decimal_float 0xf -#define DW_ATE_lo_user 0x80 +#define DW_ATE_address 0x01 +#define DW_ATE_boolean 0x02 +#define DW_ATE_complex_float 0x03 +#define DW_ATE_float 0x04 +#define DW_ATE_signed 0x05 +#define DW_ATE_signed_char 0x06 +#define DW_ATE_unsigned 0x07 +#define DW_ATE_unsigned_char 0x08 +#define DW_ATE_imaginary_float 0x09 +#define DW_ATE_packed_decimal 0x0a +#define DW_ATE_numeric_string 0x0b +#define DW_ATE_edited 0x0c +#define DW_ATE_signed_fixed 0x0d +#define DW_ATE_unsigned_fixed 0x0e +#define DW_ATE_decimal_float 0x0f +#define DW_ATE_UTF 0x10 + +#define DW_ATE_lo_user 0x80 + +#define DW_ATE_HP_float80 0x80 /* FP (80 bit) */ +#define DW_ATE_HP_complex_float80 0x81 /* Complex FP (80 bit) */ +#define DW_ATE_HP_float128 0x82 /* FP (128 bit) */ +#define DW_ATE_HP_complex_float128 0x83 /* Complex FP (128 bit) */ +#define DW_ATE_HP_floathpintel 0x84 /* FP (82 bit IA64) */ +#define DW_ATE_HP_imaginary_float80 0x85 +#define DW_ATE_HP_imaginary_float128 0x86 +#define DW_ATE_HP_VAX_float 0x88 /* FP (F, G) */ +#define DW_ATE_HP_VAX_float_d 0x89 /* FP (D) */ +#define DW_ATE_HP_packed_decimal 0x8a /* Cobol */ +#define DW_ATE_HP_zoned_decimal 0x8b /* Cobol */ +#define DW_ATE_HP_edited 0x8c /* Cobol */ +#define DW_ATE_HP_signed_fixed 0x8d /* Cobol */ +#define DW_ATE_HP_unsigned_fixed 0x8e /* Cobol */ +#define DW_ATE_HP_VAX_complex_float 0x8f /* Complex FP (F, G) */ +#define DW_ATE_HP_VAX_complex_float_d 0x90 /* Complex FP (D) */ + #define DW_ATE_hi_user 0xff #define DW_ACCESS_public 0x01
CVS commit: src/external/bsd/elftoolchain/dist/libdwarf
Module Name:src Committed By: christos Date: Thu Nov 30 19:45:53 UTC 2017 Modified Files: src/external/bsd/elftoolchain/dist/libdwarf: dwarf.h Log Message: add more DW_ATE_ constants To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/external/bsd/elftoolchain/dist/libdwarf/dwarf.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/external/bsd/elftoolchain/dist/libdwarf
Module Name:src Committed By: christos Date: Thu Mar 31 15:53:33 UTC 2016 Modified Files: src/external/bsd/elftoolchain/dist/libdwarf: dwarf_attrval.c Log Message: Delay freeing the die where the indirect attribute is found. Found by jemalloc J, see: https://mail-index.netbsd.org/current-users/2016/03/28/msg029130.html To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c diff -u src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c:1.7 src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c:1.8 --- src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c:1.7 Fri Mar 18 10:58:18 2016 +++ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c Thu Mar 31 11:53:33 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: dwarf_attrval.c,v 1.7 2016/03/18 14:58:18 christos Exp $ */ +/* $NetBSD: dwarf_attrval.c,v 1.8 2016/03/31 15:53:33 christos Exp $ */ /*- * Copyright (c) 2007 John Birrell (j...@freebsd.org) @@ -28,7 +28,7 @@ #include "_libdwarf.h" -__RCSID("$NetBSD: dwarf_attrval.c,v 1.7 2016/03/18 14:58:18 christos Exp $"); +__RCSID("$NetBSD: dwarf_attrval.c,v 1.8 2016/03/31 15:53:33 christos Exp $"); ELFTC_VCSID("Id: dwarf_attrval.c 3159 2015-02-15 21:43:27Z emaste "); int @@ -146,14 +146,11 @@ dwarf_indirect_find(Dwarf_Debug dbg, Dwa Dwarf_Unsigned val) { Dwarf_Die die1; - Dwarf_Attribute at; if ((die1 = _dwarf_die_find(die, val)) == NULL) return NULL; - at = _dwarf_attr_find(die1, attr); - dwarf_dealloc(dbg, die1, DW_DLA_DIE); - return at; + return _dwarf_attr_find(die1, attr); } int @@ -213,9 +210,13 @@ dwarf_attrval_unsigned(Dwarf_Die die, Dw *valp = at->u[0].u64; break; default: + if (at->at_die != die) + dwarf_dealloc(dbg, at->at_die, DW_DLA_DIE); DWARF_SET_ERROR(dbg, err, DW_DLE_ATTR_FORM_BAD); return (DW_DLV_ERROR); } + if (at->at_die != die) + dwarf_dealloc(dbg, at->at_die, DW_DLA_DIE); return (DW_DLV_OK); }
CVS commit: src/external/bsd/elftoolchain/dist/libdwarf
Module Name:src Committed By: christos Date: Thu Mar 31 15:53:33 UTC 2016 Modified Files: src/external/bsd/elftoolchain/dist/libdwarf: dwarf_attrval.c Log Message: Delay freeing the die where the indirect attribute is found. Found by jemalloc J, see: https://mail-index.netbsd.org/current-users/2016/03/28/msg029130.html To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/external/bsd/elftoolchain/dist/libdwarf
Module Name:src Committed By: christos Date: Thu Mar 17 19:02:38 UTC 2016 Modified Files: src/external/bsd/elftoolchain/dist/libdwarf: dwarf_attrval.c Log Message: remove unused label. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/external/bsd/elftoolchain/dist/libdwarf
Module Name:src Committed By: christos Date: Thu Mar 17 18:52:26 UTC 2016 Modified Files: src/external/bsd/elftoolchain/dist/libdwarf: dwarf_attrval.c Log Message: Handle DW_AT_specification better; also don't core-dump if at == NULL. XXX: Is that right? To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/external/bsd/elftoolchain/dist/libdwarf
Module Name:src Committed By: christos Date: Thu Mar 17 18:52:26 UTC 2016 Modified Files: src/external/bsd/elftoolchain/dist/libdwarf: dwarf_attrval.c Log Message: Handle DW_AT_specification better; also don't core-dump if at == NULL. XXX: Is that right? To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c diff -u src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c:1.4 src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c:1.5 --- src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c:1.4 Fri Feb 19 21:43:41 2016 +++ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c Thu Mar 17 14:52:26 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: dwarf_attrval.c,v 1.4 2016/02/20 02:43:41 christos Exp $ */ +/* $NetBSD: dwarf_attrval.c,v 1.5 2016/03/17 18:52:26 christos Exp $ */ /*- * Copyright (c) 2007 John Birrell (j...@freebsd.org) @@ -28,7 +28,7 @@ #include "_libdwarf.h" -__RCSID("$NetBSD: dwarf_attrval.c,v 1.4 2016/02/20 02:43:41 christos Exp $"); +__RCSID("$NetBSD: dwarf_attrval.c,v 1.5 2016/03/17 18:52:26 christos Exp $"); ELFTC_VCSID("Id: dwarf_attrval.c 3159 2015-02-15 21:43:27Z emaste "); int @@ -141,12 +141,25 @@ dwarf_attrval_signed(Dwarf_Die die, Dwar return (DW_DLV_OK); } +static Dwarf_Attribute +dwarf_indirect_find(Dwarf_Debug dbg, Dwarf_Die die, Dwarf_Half attr, +Dwarf_Unsigned val) +{ + Dwarf_Die die1; + Dwarf_Attribute at; + + if ((die1 = _dwarf_die_find(die, val)) == NULL) + return NULL; + + at = _dwarf_attr_find(die1, attr); + dwarf_dealloc(dbg, die1, DW_DLA_DIE); + return at; +} + int dwarf_attrval_unsigned(Dwarf_Die die, Dwarf_Half attr, Dwarf_Unsigned *valp, Dwarf_Error *err) { Dwarf_Attribute at; - Dwarf_Die die1; - Dwarf_Unsigned val; Dwarf_Debug dbg; dbg = die != NULL ? die->die_dbg : NULL; @@ -163,7 +176,6 @@ dwarf_attrval_unsigned(Dwarf_Die die, Dw return (DW_DLV_NO_ENTRY); } - die1 = NULL; if (at == NULL && (at = _dwarf_attr_find(die, DW_AT_abstract_origin)) != NULL) { switch (at->at_form) { @@ -172,14 +184,7 @@ dwarf_attrval_unsigned(Dwarf_Die die, Dw case DW_FORM_ref4: case DW_FORM_ref8: case DW_FORM_ref_udata: - val = at->u[0].u64; - if ((die1 = _dwarf_die_find(die, val)) == NULL || - (at = _dwarf_attr_find(die1, attr)) == NULL) { -if (die1 != NULL) - dwarf_dealloc(dbg, die1, DW_DLA_DIE); -DWARF_SET_ERROR(dbg, err, DW_DLE_NO_ENTRY); -return (DW_DLV_NO_ENTRY); - } + at = dwarf_indirect_find(dbg, die, attr, at->u[0].u64); break; default: DWARF_SET_ERROR(dbg, err, DW_DLE_ATTR_FORM_BAD); @@ -187,6 +192,16 @@ dwarf_attrval_unsigned(Dwarf_Die die, Dw } } + if (at == NULL && + (at = _dwarf_attr_find(die, DW_AT_specification)) != NULL) { + at = dwarf_indirect_find(dbg, die, attr, at->u[0].u64); + } + + if (at == NULL) { + DWARF_SET_ERROR(dbg, err, DW_DLE_NO_ENTRY); + return (DW_DLV_NO_ENTRY); + } + switch (at->at_form) { case DW_FORM_addr: case DW_FORM_data1: @@ -202,14 +217,10 @@ dwarf_attrval_unsigned(Dwarf_Die die, Dw *valp = at->u[0].u64; break; default: - if (die1 != NULL) - dwarf_dealloc(dbg, die1, DW_DLA_DIE); + out: DWARF_SET_ERROR(dbg, err, DW_DLE_ATTR_FORM_BAD); return (DW_DLV_ERROR); } - if (die1 != NULL) - dwarf_dealloc(dbg, die1, DW_DLA_DIE); - return (DW_DLV_OK); }
CVS commit: src/external/bsd/elftoolchain/dist/libdwarf
Module Name:src Committed By: christos Date: Thu Mar 17 19:02:38 UTC 2016 Modified Files: src/external/bsd/elftoolchain/dist/libdwarf: dwarf_attrval.c Log Message: remove unused label. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c diff -u src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c:1.5 src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c:1.6 --- src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c:1.5 Thu Mar 17 14:52:26 2016 +++ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c Thu Mar 17 15:02:38 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: dwarf_attrval.c,v 1.5 2016/03/17 18:52:26 christos Exp $ */ +/* $NetBSD: dwarf_attrval.c,v 1.6 2016/03/17 19:02:38 christos Exp $ */ /*- * Copyright (c) 2007 John Birrell (j...@freebsd.org) @@ -28,7 +28,7 @@ #include "_libdwarf.h" -__RCSID("$NetBSD: dwarf_attrval.c,v 1.5 2016/03/17 18:52:26 christos Exp $"); +__RCSID("$NetBSD: dwarf_attrval.c,v 1.6 2016/03/17 19:02:38 christos Exp $"); ELFTC_VCSID("Id: dwarf_attrval.c 3159 2015-02-15 21:43:27Z emaste "); int @@ -217,7 +217,6 @@ dwarf_attrval_unsigned(Dwarf_Die die, Dw *valp = at->u[0].u64; break; default: - out: DWARF_SET_ERROR(dbg, err, DW_DLE_ATTR_FORM_BAD); return (DW_DLV_ERROR); }
CVS commit: src/external/bsd/elftoolchain/dist/libdwarf
Module Name:src Committed By: christos Date: Fri Mar 18 14:58:18 UTC 2016 Modified Files: src/external/bsd/elftoolchain/dist/libdwarf: dwarf_attrval.c Log Message: tidy up: parse DW_AT_specification like DW_AT_abstract_origin To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/external/bsd/elftoolchain/dist/libdwarf
Module Name:src Committed By: christos Date: Fri Mar 18 14:58:18 UTC 2016 Modified Files: src/external/bsd/elftoolchain/dist/libdwarf: dwarf_attrval.c Log Message: tidy up: parse DW_AT_specification like DW_AT_abstract_origin To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c diff -u src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c:1.6 src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c:1.7 --- src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c:1.6 Thu Mar 17 15:02:38 2016 +++ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c Fri Mar 18 10:58:18 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: dwarf_attrval.c,v 1.6 2016/03/17 19:02:38 christos Exp $ */ +/* $NetBSD: dwarf_attrval.c,v 1.7 2016/03/18 14:58:18 christos Exp $ */ /*- * Copyright (c) 2007 John Birrell (j...@freebsd.org) @@ -28,7 +28,7 @@ #include "_libdwarf.h" -__RCSID("$NetBSD: dwarf_attrval.c,v 1.6 2016/03/17 19:02:38 christos Exp $"); +__RCSID("$NetBSD: dwarf_attrval.c,v 1.7 2016/03/18 14:58:18 christos Exp $"); ELFTC_VCSID("Id: dwarf_attrval.c 3159 2015-02-15 21:43:27Z emaste "); int @@ -177,7 +177,8 @@ dwarf_attrval_unsigned(Dwarf_Die die, Dw } if (at == NULL && - (at = _dwarf_attr_find(die, DW_AT_abstract_origin)) != NULL) { + ((at = _dwarf_attr_find(die, DW_AT_specification)) != NULL || + (at = _dwarf_attr_find(die, DW_AT_abstract_origin)) != NULL)) { switch (at->at_form) { case DW_FORM_ref1: case DW_FORM_ref2: @@ -192,11 +193,6 @@ dwarf_attrval_unsigned(Dwarf_Die die, Dw } } - if (at == NULL && - (at = _dwarf_attr_find(die, DW_AT_specification)) != NULL) { - at = dwarf_indirect_find(dbg, die, attr, at->u[0].u64); - } - if (at == NULL) { DWARF_SET_ERROR(dbg, err, DW_DLE_NO_ENTRY); return (DW_DLV_NO_ENTRY);
CVS commit: src/external/bsd/elftoolchain/dist/libdwarf
Module Name:src Committed By: hannken Date: Mon Mar 7 14:32:02 UTC 2016 Modified Files: src/external/bsd/elftoolchain/dist/libdwarf: libdwarf_elf_init.c Log Message: Relocation of type SHT_REL must use the current value as addend. Fixes ctfconvert for i386 where section .debug_info uses this relocation. Ok: Christos Zoulas To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 \ src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_elf_init.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/external/bsd/elftoolchain/dist/libdwarf
Module Name:src Committed By: hannken Date: Mon Mar 7 14:32:02 UTC 2016 Modified Files: src/external/bsd/elftoolchain/dist/libdwarf: libdwarf_elf_init.c Log Message: Relocation of type SHT_REL must use the current value as addend. Fixes ctfconvert for i386 where section .debug_info uses this relocation. Ok: Christos Zoulas To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 \ src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_elf_init.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_elf_init.c diff -u src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_elf_init.c:1.3 src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_elf_init.c:1.4 --- src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_elf_init.c:1.3 Sat Feb 20 02:43:41 2016 +++ src/external/bsd/elftoolchain/dist/libdwarf/libdwarf_elf_init.c Mon Mar 7 14:32:02 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: libdwarf_elf_init.c,v 1.3 2016/02/20 02:43:41 christos Exp $ */ +/* $NetBSD: libdwarf_elf_init.c,v 1.4 2016/03/07 14:32:02 hannken Exp $ */ /*- * Copyright (c) 2009 Kai Wang @@ -28,7 +28,7 @@ #include "_libdwarf.h" -__RCSID("$NetBSD: libdwarf_elf_init.c,v 1.3 2016/02/20 02:43:41 christos Exp $"); +__RCSID("$NetBSD: libdwarf_elf_init.c,v 1.4 2016/03/07 14:32:02 hannken Exp $"); ELFTC_VCSID("Id: libdwarf_elf_init.c 3161 2015-02-15 21:43:36Z emaste "); static const char *debug_name[] = { @@ -54,7 +54,8 @@ static const char *debug_name[] = { static void _dwarf_elf_write_reloc(Dwarf_Debug dbg, Elf_Data *symtab_data, int endian, -void *buf, uint64_t offset, GElf_Xword r_info, GElf_Sxword r_addend) +void *buf, uint64_t offset, GElf_Xword r_info, GElf_Sxword r_addend, +int is_rel) { GElf_Sym sym; int size; @@ -63,6 +64,14 @@ _dwarf_elf_write_reloc(Dwarf_Debug dbg, return; if ((size = _dwarf_get_reloc_size(dbg, GELF_R_TYPE(r_info))) == 0) return; /* Unknown or non-absolute relocation. */ + if (is_rel) { + uint64_t roffset = offset; + + if (endian == ELFDATA2MSB) + r_addend = _dwarf_read_msb(buf, , size); + else + r_addend = _dwarf_read_lsb(buf, , size); + } if (endian == ELFDATA2MSB) _dwarf_write_msb(buf, , sym.st_value + r_addend, size); else @@ -79,7 +88,7 @@ _dwarf_elf_apply_rel_reloc(Dwarf_Debug d j = 0; while (gelf_getrel(rel_data, j++, ) != NULL) _dwarf_elf_write_reloc(dbg, symtab_data, endian, buf, - rel.r_offset, rel.r_info, 0); + rel.r_offset, rel.r_info, 0, 1); } static void @@ -92,7 +101,7 @@ _dwarf_elf_apply_rela_reloc(Dwarf_Debug j = 0; while (gelf_getrela(rel_data, j++, ) != NULL) _dwarf_elf_write_reloc(dbg, symtab_data, endian, buf, - rela.r_offset, rela.r_info, rela.r_addend); + rela.r_offset, rela.r_info, rela.r_addend, 0); } static int
CVS commit: src/external/bsd/elftoolchain/dist/libdwarf
Module Name:src Committed By: martin Date: Wed Jan 14 09:29:28 UTC 2015 Modified Files: src/external/bsd/elftoolchain/dist/libdwarf: dwarf_attrval.c Log Message: Add missing break, following upstream. Reported by Henning Petersen in PR bin/49567. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/external/bsd/elftoolchain/dist/libdwarf
Module Name:src Committed By: martin Date: Wed Jan 14 09:29:28 UTC 2015 Modified Files: src/external/bsd/elftoolchain/dist/libdwarf: dwarf_attrval.c Log Message: Add missing break, following upstream. Reported by Henning Petersen in PR bin/49567. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c diff -u src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c:1.2 src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c:1.3 --- src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c:1.2 Sun Mar 9 16:58:03 2014 +++ src/external/bsd/elftoolchain/dist/libdwarf/dwarf_attrval.c Wed Jan 14 09:29:27 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: dwarf_attrval.c,v 1.2 2014/03/09 16:58:03 christos Exp $ */ +/* $NetBSD: dwarf_attrval.c,v 1.3 2015/01/14 09:29:27 martin Exp $ */ /*- * Copyright (c) 2007 John Birrell (j...@freebsd.org) @@ -28,7 +28,7 @@ #include _libdwarf.h -__RCSID($NetBSD: dwarf_attrval.c,v 1.2 2014/03/09 16:58:03 christos Exp $); +__RCSID($NetBSD: dwarf_attrval.c,v 1.3 2015/01/14 09:29:27 martin Exp $); ELFTC_VCSID(Id: dwarf_attrval.c 2072 2011-10-27 03:26:49Z jkoshy ); int @@ -128,6 +128,7 @@ dwarf_attrval_signed(Dwarf_Die die, Dwar break; case DW_FORM_data4: *valp = (int32_t) at-u[0].s64; + break; case DW_FORM_data8: case DW_FORM_sdata: *valp = at-u[0].s64;