FreeBSD/src edfc6b8 (r346536)contrib/elftoolchain README.rst, contrib/elftoolchain/addr2line addr2line.1 addr2line.c

MFC r339473,r340075,r342918,r343592,r343593,r343614,r343665,r343669:

MFC a number of changes to elftoolchain/readelf(1). This brings the copy of
elftoolchain more in line with the version in ^/head and partially fixes
the issue with `sys.kern.coredump_phnum_test.coredump_phnum` on ^/stable/12.

Tested with:    make tinderbox

r339473 (by emaste):

libelf: also test for 64-bit ELF in _libelf_is_mips64el

Although _libelf_is_mips64el is only called in contexts where we've
already checked that e_class is ELFCLASS64 but this may change in the
future.  Add a safety belt so that we don't access an invalid e_ehdr64
union member if it does.

r340075 (by emaste):

readelf: decode R_MIPS_HIGHER and R_MIPS_HIGHEST relocation types

r342918 (by emaste):

Update to ELF Tool Chain r3668

Highlights:
- Make sure that only TLS sections are sorted into TLS segment.
- Fixed multiple errors in "Section to Segment mapping".
- Man page updates
- ar improvements
- elfcopy: avoid filter_reloc uninitialized variable for rela
- elfcopy: avoid stripping relocations from static binaries
- readelf: avoid printing directory in front of absolute path
- readelf: add NT_FREEBSD_FEATURE_CTL FreeBSD note type
- test improvements

NOTES:

Some of these changes originated in FreeBSD and simply reduce diffs
between contrib and vendor.

ELF Tool Chain ar is not (currently) used in FreeBSD, and there are
improvements in both FreeBSD and ELF Tool Chain ar that are not in
the other.

r343592 (by emaste):

readelf: decode flag bits in DT_FLAGS/DT_FLAGS_1

Decode d_val when the tag is DT_FLAGS or DT_FLAGS_1 based on the
information at:

https://docs.oracle.com/cd/E23824_01/html/819-0690/chapter6-42444.html

PR:             232983

r343593 (by emaste):

readelf: fix i386 build

Use %jx and (uintmax_t) cast.

PR:             232983
MFC with:       r343592

r343614 (by emaste):

readelf: dump elf note data

Output format is compatible with GNU readelf's handling of unknown note
types (modulo a GNU char signedness bug); future changes will add type-
specific decoding.

Relnotes:       Yes

r343665 (by emaste):

readelf: use table-based DT_FLAGS and DT_FLAGS_1 decoding

Fewer lines of code and more maintainable.

r343669 (by emaste):

readelf: decode FreeBSD note types

Decode NT_FREEBSD_ABI_TAG, NT_FREEBSD_ARCH_TAG, and NT_FREEBSD_FEATURE_CTL.

Relnotes:       Yes
DeltaFile
+126-0contrib/elftoolchain/README.rst
+119-4contrib/elftoolchain/readelf/readelf.c
+34-34contrib/elftoolchain/libdwarf/dwarf_get_ranges.3
+63-0contrib/elftoolchain/libelf/libelf_elfmachine.c
+46-16contrib/elftoolchain/libelf/gelf_xlatetof.3
+30-30contrib/elftoolchain/libdwarf/dwarf_get_fde_info_for_reg3.3
+30-30contrib/elftoolchain/libdwarf/dwarf_expand_frame_instructions.3
+29-29contrib/elftoolchain/libdwarf/dwarf_get_relocation_info.3
+26-26contrib/elftoolchain/libdwarf/dwarf.3
+37-15contrib/elftoolchain/ar/read.c
+24-24contrib/elftoolchain/libdwarf/dwarf_get_loclist_entry.3
+24-24contrib/elftoolchain/libdwarf/dwarf_child.3
+23-23contrib/elftoolchain/libdwarf/dwarf_get_abbrev.3
+23-23contrib/elftoolchain/libdwarf/dwarf_srclines.3
+23-23contrib/elftoolchain/libdwarf/dwarf_new_die.3
+22-22contrib/elftoolchain/libdwarf/dwarf_get_aranges.3
+22-22contrib/elftoolchain/libdwarf/dwarf_get_str.3
+21-21contrib/elftoolchain/libdwarf/dwarf_loclist.3
+21-21contrib/elftoolchain/libdwarf/dwarf_get_fde_list.3
+21-21contrib/elftoolchain/libdwarf/dwarf_get_abbrev_entry.3
+20-21contrib/elftoolchain/libdwarf/dwarf_producer_init.3
+20-20contrib/elftoolchain/libdwarf/dwarf_get_section_bytes.3
+20-20contrib/elftoolchain/libdwarf/dwarf_add_line_entry.3
+19-19contrib/elftoolchain/libdwarf/dwarf_get_macro_details.3
+21-16contrib/elftoolchain/libelf/elf.3
+18-18contrib/elftoolchain/libdwarf/dwarf_get_arange_info.3
+22-11contrib/elftoolchain/libelf/elf_update.c
+16-16contrib/elftoolchain/libdwarf/dwarf_next_types_section.3
+16-16contrib/elftoolchain/libdwarf/dwarf_new_expr.3
+21-10contrib/elftoolchain/ar/write.c
+15-11contrib/elftoolchain/ar/ar.c
+13-13contrib/elftoolchain/libelftc/elftc_copyfile.3
+12-9contrib/elftoolchain/ar/ar.1
+12-8contrib/elftoolchain/libelf/gelf_xlate.c
+10-10contrib/elftoolchain/libelf/elf_getshstrndx.3
+13-4contrib/elftoolchain/libelf/libelf_convert.m4
+8-8contrib/elftoolchain/libelf/gelf.3
+7-7contrib/elftoolchain/libdwarf/dwarf_init.3
+8-5contrib/elftoolchain/libelf/_libelf.h
+7-6contrib/elftoolchain/libelf/libelf_ehdr.c
+6-6contrib/elftoolchain/libdwarf/dwarf_producer_set_isa.3
+8-4contrib/elftoolchain/libelf/elf_getscn.3
+6-6contrib/elftoolchain/libelftc/elftc.3
+6-5contrib/elftoolchain/libdwarf/dwarf_highpc.3
+6-5contrib/elftoolchain/libdwarf/dwarf_diename.3
+5-5contrib/elftoolchain/libelf/elf_open.3
+6-4contrib/elftoolchain/libelftc/elftc_version.3
+6-4contrib/elftoolchain/libelf/libelf_xlate.c
+4-5contrib/elftoolchain/libdwarf/dwarf_get_abbrev_children_flag.3
+4-5contrib/elftoolchain/libelf/elf_getphdrnum.3
+4-4contrib/elftoolchain/libdwarf/dwarf_get_fde_instr_bytes.3
+4-4contrib/elftoolchain/libelf/elf_data.c
+4-4contrib/elftoolchain/libdwarf/dwarf_get_address_size.3
+4-4contrib/elftoolchain/libdwarf/dwarf_set_reloc_application.3
+4-4contrib/elftoolchain/libdwarf/dwarf_loclist_from_expr.3
+4-4contrib/elftoolchain/libdwarf/dwarf_get_funcs.3
+4-4contrib/elftoolchain/libdwarf/dwarf_get_fde_range.3
+4-4contrib/elftoolchain/libdwarf/dwarf_finish.3
+5-3contrib/elftoolchain/ar/ar.5
+4-4contrib/elftoolchain/libelf/libelf_phdr.c
+4-4contrib/elftoolchain/libelf/elf_scn.c
+4-4contrib/elftoolchain/libdwarf/dwarf_get_abbrev_code.3
+4-3contrib/elftoolchain/libdwarf/dwarf_attrlist.3
+4-3contrib/elftoolchain/libdwarf/dwarf_attr.3
+3-4contrib/elftoolchain/libdwarf/dwarf_object_init.3
+4-3contrib/elftoolchain/libdwarf/dwarf_get_AT_name.3
+4-3contrib/elftoolchain/libelf/gelf_newehdr.3
+3-3contrib/elftoolchain/libdwarf/dwarf_get_fde_info_for_reg.3
+3-3contrib/elftoolchain/libdwarf/dwarf_get_fde_info_for_all_regs3.3
+3-3contrib/elftoolchain/libdwarf/dwarf_get_fde_info_for_all_regs.3
+3-3contrib/elftoolchain/libdwarf/dwarf_get_elf.3
+3-3contrib/elftoolchain/libdwarf/dwarf_add_fde_inst.3
+3-3contrib/elftoolchain/libdwarf/dwarf_def_macro.3
+3-3contrib/elftoolchain/libdwarf/dwarf_get_arange.3
+3-3contrib/elftoolchain/libdwarf/dwarf_get_abbrev_tag.3
+3-3contrib/elftoolchain/libdwarf/dwarf_fde_cfa_offset.3
+3-3contrib/elftoolchain/libdwarf/dwarf_undef_macro.3
+3-3contrib/elftoolchain/libdwarf/dwarf_add_AT_dataref.3
+3-3contrib/elftoolchain/libdwarf/dwarf_new_fde.3
+3-3contrib/elftoolchain/libelftc/elftc_demangle.3
+3-3contrib/elftoolchain/libdwarf/dwarf_get_fde_info_for_cfa_reg3.3
+3-3contrib/elftoolchain/libelf/gelf_getphdr.3
+3-3contrib/elftoolchain/libdwarf/dwarf_get_cie_of_fde.3
+3-3contrib/elftoolchain/ar/ar.h
+3-3contrib/elftoolchain/libelf/elf_getdata.3
+2-3contrib/elftoolchain/libelf/elf_getshnum.3
+2-3contrib/elftoolchain/libdwarf/dwarf_end_macro_file.3
+2-3contrib/elftoolchain/libelf/elf_getshdrstrndx.3
+2-3contrib/elftoolchain/libelf/elf_getshdrnum.3
+2-3contrib/elftoolchain/libelftc/elftc_string_table_create.3
+2-3contrib/elftoolchain/libelf/elf_getphnum.3
+2-3contrib/elftoolchain/libdwarf/dwarf_start_macro_file.3
+2-3contrib/elftoolchain/libdwarf/dwarf_next_cu_header.3
+2-3contrib/elftoolchain/libdwarf/dwarf_seterrarg.3
+2-2contrib/elftoolchain/libelf/elf_update.3
+2-2contrib/elftoolchain/libelf/elf_version.3
+2-2contrib/elftoolchain/libelf/gelf_checksum.3
+2-2contrib/elftoolchain/libelf/gelf_fsize.3
+2-2contrib/elftoolchain/libelf/gelf_getcap.3
+2-2contrib/elftoolchain/libelf/gelf_getclass.3
+2-2contrib/elftoolchain/libelf/gelf_getdyn.3
+2-2contrib/elftoolchain/libelf/gelf_getehdr.3
+2-2contrib/elftoolchain/libelf/gelf_getmove.3
+2-2contrib/elftoolchain/libelf/gelf_getrel.3
+2-2contrib/elftoolchain/libelf/gelf_getrela.3
+2-2contrib/elftoolchain/libelf/gelf_getshdr.3
+2-2contrib/elftoolchain/libelf/gelf_getsym.3
+2-2contrib/elftoolchain/libelf/gelf_getsyminfo.3
+2-2contrib/elftoolchain/libelf/gelf_newphdr.3
+2-2contrib/elftoolchain/libelf/gelf_update_ehdr.3
+2-2contrib/elftoolchain/libelf/gelf_getsymshndx.3
+2-2contrib/elftoolchain/addr2line/addr2line.1
+2-2contrib/elftoolchain/ar/ranlib.1
+2-2contrib/elftoolchain/common/native-elf-format
+2-2contrib/elftoolchain/cxxfilt/c++filt.1
+2-2contrib/elftoolchain/elfcopy/elfcopy.1
+2-2contrib/elftoolchain/elfcopy/mcs.1
+2-2contrib/elftoolchain/elfcopy/strip.1
+2-2contrib/elftoolchain/libdwarf/dwarf_add_AT_comp_dir.3
+2-2contrib/elftoolchain/libdwarf/dwarf_add_AT_const_value_string.3
+2-2contrib/elftoolchain/libdwarf/dwarf_add_AT_flag.3
+2-2contrib/elftoolchain/libdwarf/dwarf_add_AT_location_expr.3
+2-2contrib/elftoolchain/libdwarf/dwarf_add_AT_name.3
+2-2contrib/elftoolchain/libdwarf/dwarf_add_AT_producer.3
+2-2contrib/elftoolchain/libdwarf/dwarf_add_AT_ref_address.3
+2-2contrib/elftoolchain/libdwarf/dwarf_add_AT_reference.3
+2-2contrib/elftoolchain/libdwarf/dwarf_add_AT_signed_const.3
+2-2contrib/elftoolchain/libdwarf/dwarf_add_AT_string.3
+2-2contrib/elftoolchain/libdwarf/dwarf_add_AT_targ_address.3
+2-2contrib/elftoolchain/libdwarf/dwarf_add_arange.3
+2-2contrib/elftoolchain/libdwarf/dwarf_add_die_to_debug.3
+2-2contrib/elftoolchain/libdwarf/dwarf_add_directory_decl.3
+2-2contrib/elftoolchain/libdwarf/dwarf_add_expr_addr.3
+2-2contrib/elftoolchain/libdwarf/dwarf_add_expr_gen.3
+2-2contrib/elftoolchain/libdwarf/dwarf_add_file_decl.3
+2-2contrib/elftoolchain/libdwarf/dwarf_add_frame_cie.3
+2-2contrib/elftoolchain/libdwarf/dwarf_add_frame_fde.3
+2-2contrib/elftoolchain/libdwarf/dwarf_add_funcname.3
+2-2contrib/elftoolchain/libdwarf/dwarf_add_pubname.3
+2-2contrib/elftoolchain/libdwarf/dwarf_add_typename.3
+2-2contrib/elftoolchain/libdwarf/dwarf_add_varname.3
+2-2contrib/elftoolchain/libdwarf/dwarf_add_weakname.3
+2-2contrib/elftoolchain/libdwarf/dwarf_attroffset.3
+2-2contrib/elftoolchain/libdwarf/dwarf_attrval_signed.3
+2-2contrib/elftoolchain/libdwarf/dwarf_dealloc.3
+2-2contrib/elftoolchain/libdwarf/dwarf_die_abbrev_code.3
+2-2contrib/elftoolchain/libdwarf/dwarf_die_link.3
+2-2contrib/elftoolchain/libdwarf/dwarf_dieoffset.3
+2-2contrib/elftoolchain/libdwarf/dwarf_errmsg.3
+2-2contrib/elftoolchain/libdwarf/dwarf_errno.3
+2-2contrib/elftoolchain/libdwarf/dwarf_expr_current_offset.3
+2-2contrib/elftoolchain/libdwarf/dwarf_expr_into_block.3
+2-2contrib/elftoolchain/libdwarf/dwarf_find_macro_value_start.3
+2-2contrib/elftoolchain/libdwarf/dwarf_formaddr.3
+2-2contrib/elftoolchain/libdwarf/dwarf_formblock.3
+2-2contrib/elftoolchain/libdwarf/dwarf_formexprloc.3
+2-2contrib/elftoolchain/libdwarf/dwarf_formflag.3
+2-2contrib/elftoolchain/libdwarf/dwarf_formref.3
+2-2contrib/elftoolchain/libdwarf/dwarf_formsig8.3
+2-2contrib/elftoolchain/libdwarf/dwarf_formstring.3
+2-2contrib/elftoolchain/libdwarf/dwarf_formudata.3
+2-2contrib/elftoolchain/libdwarf/dwarf_get_cie_index.3
+2-2contrib/elftoolchain/libdwarf/dwarf_get_cie_info.3
+2-2contrib/elftoolchain/libdwarf/dwarf_get_cu_die_offset.3
+2-2contrib/elftoolchain/libdwarf/dwarf_get_die_infotypes_flag.3
+2-2contrib/elftoolchain/libdwarf/dwarf_get_fde_at_pc.3
+2-2contrib/elftoolchain/libdwarf/dwarf_get_fde_n.3
+2-2contrib/elftoolchain/libdwarf/dwarf_get_form_class.3
+2-2contrib/elftoolchain/libdwarf/dwarf_get_globals.3
+2-2contrib/elftoolchain/libdwarf/dwarf_get_pubtypes.3
+2-2contrib/elftoolchain/libdwarf/dwarf_get_relocation_info_count.3
+2-2contrib/elftoolchain/libdwarf/dwarf_get_section_max_offsets.3
+2-2contrib/elftoolchain/libdwarf/dwarf_get_types.3
+2-2contrib/elftoolchain/libdwarf/dwarf_get_vars.3
+2-2contrib/elftoolchain/libdwarf/dwarf_get_weaks.3
+2-2contrib/elftoolchain/libdwarf/dwarf_hasattr.3
+2-2contrib/elftoolchain/libdwarf/dwarf_hasform.3
+2-2contrib/elftoolchain/libdwarf/dwarf_lineno.3
+2-2contrib/elftoolchain/libdwarf/dwarf_lne_end_sequence.3
+2-2contrib/elftoolchain/libdwarf/dwarf_lne_set_address.3
+2-2contrib/elftoolchain/libdwarf/dwarf_reset_section_bytes.3
+2-2contrib/elftoolchain/libdwarf/dwarf_set_frame_cfa_value.3
+2-2contrib/elftoolchain/libdwarf/dwarf_srcfiles.3
+2-2contrib/elftoolchain/libdwarf/dwarf_tag.3
+2-2contrib/elftoolchain/libdwarf/dwarf_transform_to_disk_form.3
+2-2contrib/elftoolchain/libdwarf/dwarf_vendor_ext.3
+2-2contrib/elftoolchain/libdwarf/dwarf_whatattr.3
+2-2contrib/elftoolchain/libelf/elf_begin.3
+2-2contrib/elftoolchain/libelf/elf_cntl.3
+2-2contrib/elftoolchain/libelf/elf_end.3
+2-2contrib/elftoolchain/libelf/elf_errmsg.3
+2-2contrib/elftoolchain/libelf/elf_fill.3
+2-2contrib/elftoolchain/libelf/elf_flagdata.3
+2-2contrib/elftoolchain/libelf/elf_getarhdr.3
+2-2contrib/elftoolchain/libelf/elf_getarsym.3
+2-2contrib/elftoolchain/libelf/elf_getbase.3
+2-2contrib/elftoolchain/libelf/elf_getident.3
+2-2contrib/elftoolchain/libelf/elf_hash.3
+2-2contrib/elftoolchain/libelf/elf_kind.3
+2-2contrib/elftoolchain/libelf/elf_memory.3
+2-2contrib/elftoolchain/libelf/elf_next.3
+2-2contrib/elftoolchain/libelf/elf_rand.3
+2-2contrib/elftoolchain/libelf/elf_rawfile.3
+2-2contrib/elftoolchain/libelf/elf_strptr.3
+2-2contrib/elftoolchain/libelftc/elftc_bfd_find_target.3
+2-2contrib/elftoolchain/libelftc/elftc_reloc_type_str.3
+2-2contrib/elftoolchain/libelftc/elftc_set_timestamps.3
+2-2contrib/elftoolchain/libelftc/elftc_timestamp.3
+2-2contrib/elftoolchain/nm/nm.1
+2-2contrib/elftoolchain/readelf/readelf.1
+2-1contrib/elftoolchain/libelf/Makefile
+1-1contrib/elftoolchain/elfcopy/sections.c
+1-1contrib/elftoolchain/strings/strings.c
+1-1contrib/elftoolchain/elfcopy/elfcopy.h
+1-1contrib/elftoolchain/libelf/gelf_mips64el.c
+1-1contrib/elftoolchain/addr2line/addr2line.c
+2-0contrib/elftoolchain/libelftc/elftc_reloc_type_str.c
+1-1contrib/elftoolchain/elfcopy/segments.c
+1-1lib/libelftc/elftc_version.c
+1-0lib/libelf/Makefile
+1,503-1,089220 files

UnifiedSplitRaw