Date: Mon, 22 Apr 2019 08:59:28 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 232983] readelf: does not decode DT_FLAGS/DT_FLAGS_1 Message-ID: <bug-232983-227-keYbTHbirY@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-232983-227@https.bugs.freebsd.org/bugzilla/> References: <bug-232983-227@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D232983 --- Comment #3 from commit-hook@freebsd.org --- A commit references this bug: Author: ngie Date: Mon Apr 22 08:58:38 UTC 2019 New revision: 346536 URL: https://svnweb.freebsd.org/changeset/base/346536 Log: 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_CT= L. Relnotes: Yes Changes: _U stable/12/ stable/12/contrib/elftoolchain/README.rst stable/12/contrib/elftoolchain/addr2line/addr2line.1 stable/12/contrib/elftoolchain/addr2line/addr2line.c stable/12/contrib/elftoolchain/ar/ar.1 stable/12/contrib/elftoolchain/ar/ar.5 stable/12/contrib/elftoolchain/ar/ar.c stable/12/contrib/elftoolchain/ar/ar.h stable/12/contrib/elftoolchain/ar/ranlib.1 stable/12/contrib/elftoolchain/ar/read.c stable/12/contrib/elftoolchain/ar/write.c stable/12/contrib/elftoolchain/common/native-elf-format stable/12/contrib/elftoolchain/cxxfilt/c++filt.1 stable/12/contrib/elftoolchain/elfcopy/elfcopy.1 stable/12/contrib/elftoolchain/elfcopy/elfcopy.h stable/12/contrib/elftoolchain/elfcopy/mcs.1 stable/12/contrib/elftoolchain/elfcopy/sections.c stable/12/contrib/elftoolchain/elfcopy/segments.c stable/12/contrib/elftoolchain/elfcopy/strip.1 stable/12/contrib/elftoolchain/libdwarf/dwarf.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_AT_comp_dir.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_AT_const_value_string.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_AT_dataref.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_AT_flag.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_AT_location_expr.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_AT_name.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_AT_producer.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_AT_ref_address.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_AT_reference.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_AT_signed_const.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_AT_string.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_AT_targ_address.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_arange.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_die_to_debug.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_directory_decl.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_expr_addr.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_expr_gen.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_fde_inst.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_file_decl.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_frame_cie.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_frame_fde.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_funcname.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_line_entry.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_pubname.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_typename.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_varname.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_add_weakname.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_attr.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_attrlist.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_attroffset.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_attrval_signed.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_child.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_dealloc.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_def_macro.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_die_abbrev_code.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_die_link.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_diename.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_dieoffset.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_end_macro_file.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_errmsg.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_errno.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_expand_frame_instructions.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_expr_current_offset.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_expr_into_block.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_fde_cfa_offset.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_find_macro_value_start.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_finish.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_formaddr.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_formblock.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_formexprloc.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_formflag.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_formref.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_formsig8.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_formstring.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_formudata.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_AT_name.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_abbrev.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_abbrev_children_flag.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_abbrev_code.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_abbrev_entry.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_abbrev_tag.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_address_size.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_arange.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_arange_info.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_aranges.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_cie_index.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_cie_info.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_cie_of_fde.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_cu_die_offset.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_die_infotypes_flag.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_elf.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_fde_at_pc.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_fde_info_for_all_regs.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_fde_info_for_all_regs3.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_fde_info_for_cfa_reg3.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_fde_info_for_reg.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_fde_info_for_reg3.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_fde_instr_bytes.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_fde_list.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_fde_n.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_fde_range.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_form_class.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_funcs.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_globals.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_loclist_entry.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_macro_details.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_pubtypes.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_ranges.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_relocation_info.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_relocation_info_count.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_section_bytes.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_section_max_offsets.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_str.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_types.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_vars.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_get_weaks.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_hasattr.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_hasform.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_highpc.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_init.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_lineno.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_lne_end_sequence.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_lne_set_address.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_loclist.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_loclist_from_expr.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_new_die.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_new_expr.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_new_fde.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_next_cu_header.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_next_types_section.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_object_init.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_producer_init.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_producer_set_isa.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_reset_section_bytes.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_set_frame_cfa_value.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_set_reloc_application.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_seterrarg.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_srcfiles.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_srclines.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_start_macro_file.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_tag.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_transform_to_disk_form.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_undef_macro.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_vendor_ext.3 stable/12/contrib/elftoolchain/libdwarf/dwarf_whatattr.3 stable/12/contrib/elftoolchain/libelf/Makefile stable/12/contrib/elftoolchain/libelf/_libelf.h stable/12/contrib/elftoolchain/libelf/elf.3 stable/12/contrib/elftoolchain/libelf/elf_begin.3 stable/12/contrib/elftoolchain/libelf/elf_cntl.3 stable/12/contrib/elftoolchain/libelf/elf_data.c stable/12/contrib/elftoolchain/libelf/elf_end.3 stable/12/contrib/elftoolchain/libelf/elf_errmsg.3 stable/12/contrib/elftoolchain/libelf/elf_fill.3 stable/12/contrib/elftoolchain/libelf/elf_flagdata.3 stable/12/contrib/elftoolchain/libelf/elf_getarhdr.3 stable/12/contrib/elftoolchain/libelf/elf_getarsym.3 stable/12/contrib/elftoolchain/libelf/elf_getbase.3 stable/12/contrib/elftoolchain/libelf/elf_getdata.3 stable/12/contrib/elftoolchain/libelf/elf_getident.3 stable/12/contrib/elftoolchain/libelf/elf_getphdrnum.3 stable/12/contrib/elftoolchain/libelf/elf_getphnum.3 stable/12/contrib/elftoolchain/libelf/elf_getscn.3 stable/12/contrib/elftoolchain/libelf/elf_getshdrnum.3 stable/12/contrib/elftoolchain/libelf/elf_getshdrstrndx.3 stable/12/contrib/elftoolchain/libelf/elf_getshnum.3 stable/12/contrib/elftoolchain/libelf/elf_getshstrndx.3 stable/12/contrib/elftoolchain/libelf/elf_hash.3 stable/12/contrib/elftoolchain/libelf/elf_kind.3 stable/12/contrib/elftoolchain/libelf/elf_memory.3 stable/12/contrib/elftoolchain/libelf/elf_next.3 stable/12/contrib/elftoolchain/libelf/elf_open.3 stable/12/contrib/elftoolchain/libelf/elf_rand.3 stable/12/contrib/elftoolchain/libelf/elf_rawfile.3 stable/12/contrib/elftoolchain/libelf/elf_scn.c stable/12/contrib/elftoolchain/libelf/elf_strptr.3 stable/12/contrib/elftoolchain/libelf/elf_update.3 stable/12/contrib/elftoolchain/libelf/elf_update.c stable/12/contrib/elftoolchain/libelf/elf_version.3 stable/12/contrib/elftoolchain/libelf/gelf.3 stable/12/contrib/elftoolchain/libelf/gelf_checksum.3 stable/12/contrib/elftoolchain/libelf/gelf_fsize.3 stable/12/contrib/elftoolchain/libelf/gelf_getcap.3 stable/12/contrib/elftoolchain/libelf/gelf_getclass.3 stable/12/contrib/elftoolchain/libelf/gelf_getdyn.3 stable/12/contrib/elftoolchain/libelf/gelf_getehdr.3 stable/12/contrib/elftoolchain/libelf/gelf_getmove.3 stable/12/contrib/elftoolchain/libelf/gelf_getphdr.3 stable/12/contrib/elftoolchain/libelf/gelf_getrel.3 stable/12/contrib/elftoolchain/libelf/gelf_getrela.3 stable/12/contrib/elftoolchain/libelf/gelf_getshdr.3 stable/12/contrib/elftoolchain/libelf/gelf_getsym.3 stable/12/contrib/elftoolchain/libelf/gelf_getsyminfo.3 stable/12/contrib/elftoolchain/libelf/gelf_getsymshndx.3 stable/12/contrib/elftoolchain/libelf/gelf_mips64el.c stable/12/contrib/elftoolchain/libelf/gelf_newehdr.3 stable/12/contrib/elftoolchain/libelf/gelf_newphdr.3 stable/12/contrib/elftoolchain/libelf/gelf_update_ehdr.3 stable/12/contrib/elftoolchain/libelf/gelf_xlate.c stable/12/contrib/elftoolchain/libelf/gelf_xlatetof.3 stable/12/contrib/elftoolchain/libelf/libelf_convert.m4 stable/12/contrib/elftoolchain/libelf/libelf_ehdr.c stable/12/contrib/elftoolchain/libelf/libelf_elfmachine.c stable/12/contrib/elftoolchain/libelf/libelf_phdr.c stable/12/contrib/elftoolchain/libelf/libelf_xlate.c stable/12/contrib/elftoolchain/libelftc/elftc.3 stable/12/contrib/elftoolchain/libelftc/elftc_bfd_find_target.3 stable/12/contrib/elftoolchain/libelftc/elftc_copyfile.3 stable/12/contrib/elftoolchain/libelftc/elftc_demangle.3 stable/12/contrib/elftoolchain/libelftc/elftc_reloc_type_str.3 stable/12/contrib/elftoolchain/libelftc/elftc_reloc_type_str.c stable/12/contrib/elftoolchain/libelftc/elftc_set_timestamps.3 stable/12/contrib/elftoolchain/libelftc/elftc_string_table_create.3 stable/12/contrib/elftoolchain/libelftc/elftc_timestamp.3 stable/12/contrib/elftoolchain/libelftc/elftc_version.3 stable/12/contrib/elftoolchain/nm/nm.1 stable/12/contrib/elftoolchain/readelf/readelf.1 stable/12/contrib/elftoolchain/readelf/readelf.c stable/12/contrib/elftoolchain/strings/strings.c stable/12/lib/libelf/Makefile stable/12/lib/libelftc/elftc_version.c --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-232983-227-keYbTHbirY>