CVS commit: src/external/bsd/elftoolchain/dist/libdwarf

2024-03-27 Thread Christos Zoulas
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

2024-03-27 Thread Christos Zoulas
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

2022-05-01 Thread Joseph Koshy
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

2022-05-01 Thread Joseph Koshy
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

2022-03-14 Thread Joseph Koshy
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

2020-11-26 Thread Joseph Koshy
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

2018-02-10 Thread Christos Zoulas
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

2018-02-10 Thread Christos Zoulas
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

2018-02-10 Thread Christos Zoulas
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

2018-02-10 Thread Christos Zoulas
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

2017-11-30 Thread Christos Zoulas
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

2017-11-30 Thread Christos Zoulas
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

2016-03-31 Thread Christos Zoulas
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

2016-03-31 Thread Christos Zoulas
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

2016-03-19 Thread Christos Zoulas
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

2016-03-19 Thread Christos Zoulas
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

2016-03-19 Thread Christos Zoulas
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

2016-03-19 Thread Christos Zoulas
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

2016-03-18 Thread Christos Zoulas
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

2016-03-18 Thread Christos Zoulas
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

2016-03-07 Thread Juergen Hannken-Illjes
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

2016-03-07 Thread Juergen Hannken-Illjes
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

2015-01-14 Thread Martin Husemann
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

2015-01-14 Thread Martin Husemann
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;