1# -*- rpm-spec-*- 2Summary: A collection of utilities and DSOs to handle ELF files and DWARF data 3Name: elfutils 4Version: @PACKAGE_VERSION@ 5Release: 1 6URL: http://elfutils.org/ 7License: GPLv3+ and (GPLv2+ or LGPLv3+) 8Group: Development/Tools 9Source: ftp://sourceware.org/pub/elfutils/%{version}/elfutils-%{version}.tar.bz2 10Obsoletes: libelf libelf-devel 11Requires: elfutils-libelf = %{version}-%{release} 12Requires: glibc >= 2.7 13Requires: libstdc++ 14Requires: default-yama-scope 15 16# ExcludeArch: xxx 17 18BuildRoot: %{_tmppath}/%{name}-root 19BuildRequires: gcc >= 4.1.2-33 20BuildRequires: glibc >= 2.7 21BuildRequires: bison >= 1.875 22BuildRequires: flex >= 2.5.4a 23BuildRequires: bzip2 24BuildRequires: m4 25BuildRequires: gettext 26BuildRequires: zlib-devel 27BuildRequires: bzip2-devel 28BuildRequires: xz-devel 29BuildRequires: gcc-c++ 30 31%define _gnu %{nil} 32%define _programprefix eu- 33 34%description 35 36Elfutils is a collection of utilities, including stack (to show 37backtraces), nm (for listing symbols from object files), size 38(for listing the section sizes of an object or archive file), 39strip (for discarding symbols), readelf (to see the raw ELF file 40structures), elflint (to check for well-formed ELF files) and 41elfcompress (to compress or decompress ELF sections). 42Also included are helper libraries which implement DWARF, ELF, 43and machine-specific ELF handling and process introspection. 44 45%package devel 46Summary: Development libraries to handle compiled objects. 47Group: Development/Tools 48License: GPLv2+ or LGPLv3+ 49Requires: elfutils = %{version}-%{release} 50Requires: elfutils-libelf-devel = %{version}-%{release} 51 52%description devel 53The elfutils-devel package contains the libraries to create 54applications for handling compiled objects. libebl provides some 55higher-level ELF access functionality. libdw provides access to 56the DWARF debugging information. libasm provides a programmable 57assembler interface. 58 59%package devel-static 60Summary: Static archives to handle compiled objects. 61Group: Development/Tools 62License: GPLv2+ or LGPLv3+ 63Requires: elfutils-devel = %{version}-%{release} 64 65%description devel-static 66The elfutils-devel-static archive contains the static archives 67with the code the handle compiled objects. 68 69%package libelf 70Summary: Library to read and write ELF files. 71Group: Development/Tools 72License: GPLv2+ or LGPLv3+ 73 74%description libelf 75The elfutils-libelf package provides a DSO which allows reading and 76writing ELF files on a high level. Third party programs depend on 77this package to read internals of ELF files. The programs of the 78elfutils package use it also to generate new ELF files. 79 80%package libelf-devel 81Summary: Development support for libelf 82Group: Development/Tools 83License: GPLv2+ or LGPLv3+ 84Requires: elfutils-libelf = %{version}-%{release} 85Conflicts: libelf-devel 86 87%description libelf-devel 88The elfutils-libelf-devel package contains the libraries to create 89applications for handling compiled objects. libelf allows you to 90access the internals of the ELF object file format, so you can see the 91different sections of an ELF file. 92 93%package libelf-devel-static 94Summary: Static archive of libelf 95Group: Development/Tools 96License: GPLv2+ or LGPLv3+ 97Requires: elfutils-libelf-devel = %{version}-%{release} 98Conflicts: libelf-devel 99 100%description libelf-devel-static 101The elfutils-libelf-static package contains the static archive 102for libelf. 103 104%package default-yama-scope 105Summary: Default yama attach scope sysctl setting 106Group: Development/Tools 107License: GPLv2+ or LGPLv3+ 108Provides: default-yama-scope 109BuildArch: noarch 110 111%description default-yama-scope 112Yama sysctl setting to enable default attach scope settings 113enabling programs to use ptrace attach, access to 114/proc/PID/{mem,personality,stack,syscall}, and the syscalls 115process_vm_readv and process_vm_writev which are used for 116interprocess services, communication and introspection 117(like synchronisation, signaling, debugging, tracing and 118profiling) of processes. 119 120%prep 121%setup -q 122 123%build 124%configure --program-prefix=%{_programprefix} 125make 126 127%install 128rm -rf ${RPM_BUILD_ROOT} 129mkdir -p ${RPM_BUILD_ROOT}%{_prefix} 130 131%makeinstall 132 133chmod +x ${RPM_BUILD_ROOT}%{_prefix}/%{_lib}/lib*.so* 134chmod +x ${RPM_BUILD_ROOT}%{_prefix}/%{_lib}/elfutils/lib*.so* 135 136# XXX Nuke unpackaged files 137{ cd ${RPM_BUILD_ROOT} 138 rm -f .%{_includedir}/elfutils/libasm.h 139 rm -f .%{_libdir}/libasm.so 140 rm -f .%{_libdir}/libasm.a 141} 142 143install -Dm0644 config/10-default-yama-scope.conf ${RPM_BUILD_ROOT}%{_sysctldir}/10-default-yama-scope.conf 144 145%check 146make check 147 148%clean 149rm -rf ${RPM_BUILD_ROOT} 150 151%post -p /sbin/ldconfig 152 153%postun -p /sbin/ldconfig 154 155%post libelf -p /sbin/ldconfig 156 157%postun libelf -p /sbin/ldconfig 158 159%post default-yama-scope 160%sysctl_apply 10-default-yama-scope.conf 161 162%files 163%defattr(-,root,root) 164%doc COPYING COPYING-GPLV2 COPYING-LGPLV3 README TODO CONTRIBUTING 165%{_bindir}/eu-elflint 166%{_bindir}/eu-nm 167%{_bindir}/eu-readelf 168%{_bindir}/eu-size 169%{_bindir}/eu-strip 170%{_bindir}/eu-findtextrel 171%{_bindir}/eu-addr2line 172%{_bindir}/eu-elfcmp 173%{_bindir}/eu-ranlib 174%{_bindir}/eu-strings 175%{_bindir}/eu-objdump 176%{_bindir}/eu-ar 177%{_bindir}/eu-unstrip 178%{_bindir}/eu-make-debug-archive 179%{_bindir}/eu-elfcompress 180%{_libdir}/libasm-%{version}.so 181%{_libdir}/libdw-%{version}.so 182%{_libdir}/libasm.so.* 183%{_libdir}/libdw.so.* 184%dir %{_libdir}/elfutils 185%{_libdir}/elfutils/lib*.so 186 187%files devel 188%defattr(-,root,root) 189%{_includedir}/dwarf.h 190%dir %{_includedir}/elfutils 191%{_includedir}/elfutils/elf-knowledge.h 192%{_includedir}/elfutils/known-dwarf.h 193#%{_includedir}/elfutils/libasm.h 194%{_includedir}/elfutils/libebl.h 195%{_includedir}/elfutils/libdw.h 196%{_includedir}/elfutils/libdwfl.h 197%{_includedir}/elfutils/libdwelf.h 198%{_includedir}/elfutils/version.h 199%{_libdir}/libebl.a 200#%{_libdir}/libasm.so 201%{_libdir}/libdw.so 202%{_libdir}/pkgconfig/libdw.pc 203 204%files devel-static 205%{_libdir}/libdw.a 206#%{_libdir}/libasm.a 207 208%files libelf 209%defattr(-,root,root) 210%{_libdir}/libelf-%{version}.so 211%{_libdir}/libelf.so.* 212%{_datadir}/locale/*/LC_MESSAGES/elfutils.mo 213 214%files libelf-devel 215%defattr(-,root,root) 216%{_includedir}/libelf.h 217%{_includedir}/gelf.h 218%{_includedir}/nlist.h 219%{_includedir}/elfutils/version.h 220%{_libdir}/libelf.so 221%{_libdir}/pkgconfig/libelf.pc 222 223%files libelf-devel-static 224%{_libdir}/libelf.a 225 226%files default-yama-scope 227%{_sysctldir}/10-default-yama-scope.conf 228 229%changelog 230* Thu Feb 14 2019 Mark Wielaard <mark@klomp.org> 0.176-1 231- build: Add new --enable-install-elfh option. 232 Do NOT use this for system installs (it overrides glibc elf.h). 233- backends: riscv improved core file and return value location support. 234- Fixes CVE-2019-7146, CVE-2019-7148, CVE-2019-7149, CVE-2019-7150, 235 CVE-2019-7664, CVE-2019-7665. 236 237* Wed Nov 14 2018 Mark Wielaard <mark@klomp.org> 0.175-1 238- readelf: Handle mutliple .debug_macro sections. 239 Recognize and parse GNU Property notes, NT_VERSION notes and 240 GNU Build Attribute ELF Notes. 241- strip: Handle SHT_GROUP correctly. 242 Add strip --reloc-debug-sections-only option. 243 Handle relocations against GNU compressed sections. 244- libdwelf: New function dwelf_elf_begin. 245- libcpu: Recognize bpf jump variants BPF_JLT, BPF_JLE, BPF_JSLT 246 and BPF_JSLE. 247- backends: RISCV handles ADD/SUB relocations. 248 Handle SHT_X86_64_UNWIND. 249- Fixes CVE-2018-18310, CVE-2018-18520 and CVE-2018-18521. 250 251* Fri Sep 14 2018 Mark Wielaard <mark@klomp> 0.174-1 252- libelf, libdw and all tools now handle extended shnum and shstrndx 253 correctly. 254- elfcompress: Don't rewrite input file if no section data needs 255 updating. Try harder to keep same file mode bits (suid) on rewrite. 256- strip: Handle mixed (out of order) allocated/non-allocated sections. 257- unstrip: Handle SHT_GROUP sections. 258- backends: RISCV and M68K now have backend implementations to 259 generate CFI based backtraces. 260- Fixes CVE-2018-16062, CVE-2018-16402 and CVE-2018-16403. 261 262* Fri Jun 29 2018 Mark Wielaard,,, <mark@klomp.org> 0.173-1 263- More fixes for crashes and hangs found by afl-fuzz. In particular 264 various functions now detect and break infinite loops caused by bad 265 DIE tree cycles. 266- readelf: Will now lookup the size and signedness of constant value 267 types to display them correctly (and not just how they were encoded). 268- libdw: New function dwarf_next_lines to read CU-less .debug_line data. 269 dwarf_begin_elf now accepts ELF files containing just .debug_line 270 or .debug_frame sections (which can be read without needing a DIE 271 tree from the .debug_info section). 272 Removed dwarf_getscn_info, which was never implemented. 273- backends: Handle BPF simple relocations. 274 The RISCV backends now handles ABI specific CFI and knows about 275 RISCV register types and names. 276 277* Mon Jun 11 2018 Mark Wielaard <mark@klomp.org> 0.172-1 278- No functional changes compared to 0.171. 279- Various bug fixes in libdw and eu-readelf dealing with bad DWARF5 280 data. Thanks to running the afl fuzzer on eu-readelf and various 281 testcases. 282- eu-readelf -N is ~15% faster. 283 284* Fri Jun 01 2018 Mark Wielaard <mark@klomp.org> 0.171-1 285- DWARF5 and split dwarf, including GNU DebugFission, support. 286- readelf: Handle all new DWARF5 sections. 287 --debug-dump=info+ will show split unit DIEs when found. 288 --dwarf-skeleton can be used when inspecting a .dwo file. 289 Recognizes GNU locviews with --debug-dump=loc. 290- libdw: New functions dwarf_die_addr_die, dwarf_get_units, 291 dwarf_getabbrevattr_data and dwarf_cu_info. 292 libdw will now try to resolve the alt file on first use 293 when not set yet with dwarf_set_alt. 294 dwarf_aggregate_size() now works with multi-dimensional arrays. 295- libdwfl: Use process_vm_readv when available instead of ptrace. 296- backends: Add a RISC-V backend. 297 298* Wed Aug 2 2017 Mark Wielaard <mark@klomp.org> 0.170-1 299- libdw: Added new DWARF5 attribute, tag, character encoding, 300 language code, calling convention, defaulted member function 301 and macro constants to dwarf.h. 302 New functions dwarf_default_lower_bound and dwarf_line_file. 303 dwarf_peel_type now handles DWARF5 immutable, packed and shared tags. 304 dwarf_getmacros now handles DWARF5 .debug_macro sections. 305- strip: Add -R, --remove-section=SECTION and --keep-section=SECTION. 306- backends: The bpf disassembler is now always build on all platforms. 307 308* Fri May 5 2017 Mark Wielaard <mark@klomp.org> 0.169-1 309- backends: Add support for EM_PPC64 GNU_ATTRIBUTES. 310 Frame pointer unwinding fallback support for i386, x86_64, aarch64. 311- translations: Update Polish translation. 312 313* Tue Dec 27 2016 Mark Wielaard <mark@klomp.org> 0.168-1 314- http://elfutils.org/ is now hosted at http://sourceware.org/elfutils/ 315- libelf: gelf_newehdr and gelf_newehdr now return void *. 316- libdw: dwarf.h corrected the DW_LANG_PLI constant name (was DW_LANG_PL1). 317- readelf: Add optional --symbols[=SECTION] argument to select section name. 318 319* Thu Aug 4 2016 Mark Wielaard <mjw@redhat.com> 0.167-1 320- libasm: Add eBPF disassembler for EM_BPF files. 321- backends: Add m68k and BPF backends. 322- ld: Removed. 323- dwelf: Add ELF/DWARF string table creation functions. 324 dwelf_strtab_init, dwelf_strtab_add, dwelf_strtab_add_len, 325 dwelf_strtab_finalize, dwelf_strent_off, dwelf_strent_str and 326 dwelf_strtab_free. 327 328* Thu Mar 31 2016 Mark Wielaard <mjw@redhat.com> 0.166-1 329- config: The default program prefix for the installed tools is now 330 eu-. Use configure --program-prefix="" to not use a program prefix. 331 332* Fri Jan 8 2016 Mark Wielaard <mjw@redhat.com> 0.165-1 333- elfcompress: New utility to compress or decompress ELF sections. 334- readelf: Add -z,--decompress option. 335- libelf: Add elf_compress, elf_compress_gnu, elf32_getchdr, 336 elf64_getchdr and gelf_getchdr. 337- libdwelf: New function dwelf_scn_gnu_compressed_size. 338- config: Add libelf and libdw pkg-config files. 339- backends: sparc support for core and live backtraces. 340- translations: Updated Polish translation. 341 342* Thu Oct 15 2015 Mark Wielaard <mjw@redhat.com> 0.164-1 343- strip, unstrip: Handle ELF files with merged strtab/shstrtab 344 tables. Handle missing SHF_INFO_LINK section flags. 345- libelf: Use int64_t for offsets in libelf.h instead of loff_t. 346- libdw: dwarf.h Add preliminary DWARF5 DW_LANG_Haskell. 347- libdwfl: dwfl_standard_find_debuginfo now searches any subdir of 348 the binary path under the debuginfo root when the separate 349 debug file couldn't be found by build-id. 350 dwfl_linux_proc_attach can now be called before any Dwfl_Modules 351 have been reported. 352- backends: Better sparc and sparc64 support. 353- translations: Updated Ukrainian translation. 354- Provide default-yama-scope subpackage. 355 356* Fri Jun 19 2015 Mark Wielaard <mjw@redhat.com> 0.163-1 357- Bug fixes only, no new features. 358 359* Wed Jun 10 2015 Mark Wielaard <mjw@redhat.com> 0.162-1 360- libdw: Install new header elfutils/known-dwarf.h. 361 dwarf.h Add preliminary DWARF5 constants DW_TAG_atomic_type, 362 DW_LANG_Fortran03, DW_LANG_Fortran08. dwarf_peel_type now also 363 handles DW_TAG_atomic_type. 364- addr2line: Input addresses are now always interpreted as 365 hexadecimal numbers, never as octal or decimal numbers. 366 New option -a, --addresses to print address before each entry. 367 New option -C, --demangle to show demangled symbols. 368 New option --pretty-print to print all information on one line. 369- ar: CVE-2014-9447 Directory traversal vulnerability in ar 370 extraction. 371- backends: x32 support. 372 373* Thu Dec 18 2014 Mark Wielaard <mjw@redhat.com> 0.161-1 374- libdw: New function dwarf_peel_type. dwarf_aggregate_size now uses 375 dwarf_peel_type to also provide the sizes of qualified types. 376 dwarf_getmacros will now serve either of .debug_macro and 377 .debug_macinfo transparently. New interfaces dwarf_getmacros_off, 378 dwarf_macro_getsrcfiles, dwarf_macro_getparamcnt, and 379 dwarf_macro_param are available for more generalized inspection of 380 macros and their parameters. 381 dwarf.h: Add DW_AT_GNU_deleted, DW_AT_noreturn, DW_LANG_C11, 382 DW_LANG_C_plus_plus_11 and DW_LANG_C_plus_plus_14. 383 384* Mon Aug 25 2014 Mark Wielaard <mjw@redhat.com> 0.160-1 385- libdw: New functions dwarf_cu_getdwarf, dwarf_cu_die. 386 dwarf.h remove non-existing DW_TAG_mutable_type. 387- libdwfl: Handle LZMA .ko.xz compressed kernel modules. 388- unstrip: New option -F, --force to combining files even if some ELF 389 headers don't seem to match. 390- backends: Handle ARM THUMB functions. Add support for ppc64le ELFv2 abi. 391 392* Sat May 17 2014 Mark Wielaard <mjw@redhat.com> 0.159-1 393- stack: New option -d, --debugname to lookup DWARF debuginfo name 394 for frame. New option -i, --inlines to show inlined frames 395 using DWARF debuginfo. 396- libdwelf: New libdwelf.h header for libdw.so DWARF ELF Low-level 397 Functions. New function dwelf_elf_gnu_debuglink, 398 dwelf_dwarf_gnu_debugaltlink, and dwelf_elf_gnu_build_id. 399- libdw: Support for DWZ multifile forms DW_FORM_GNU_ref_alt and 400 DW_FORM_GNU_strp_alt is now enabled by default and no longer 401 experimental. Added new functions dwarf_getalt and dwarf_setalt 402 to get or set the alternative debug file used for the alt FORMs. 403 The dwfl_linux_proc_find_elf callback will now find ELF from 404 process memory for (deleted) files if the Dwfl has process state 405 attached. 406- libdwfl: The dwfl_build_id_find_debuginfo and 407 dwfl_standard_find_debuginfo functions will now try to 408 resolve and set the alternative debug file. 409- backends: Add CFI unwinding for arm. Relies on .debug_frame. 410 Add arm process initial register state compatible mode to AARCH64. 411 Add aarch64 native and core unwind support. 412- other: All separate elfutils-robustify patches have been merged. 413 CVE-2014-0172 Check overflow before calling malloc to uncompress 414 data. 415 416* Fri Jan 3 2014 Mark Wielaard <mjw@redhat.com> 0.158-1 417- libdwfl: dwfl_core_file_report has new parameter executable. 418 New functions dwfl_module_getsymtab_first_global, 419 dwfl_module_getsym_info and dwfl_module_addrinfo. 420 Added unwinder with type Dwfl_Thread_Callbacks, opaque types 421 Dwfl_Thread and Dwfl_Frame and functions dwfl_attach_state, 422 dwfl_pid, dwfl_thread_dwfl, dwfl_thread_tid, dwfl_frame_thread, 423 dwfl_thread_state_registers, dwfl_thread_state_register_pc, 424 dwfl_getthread_frames, dwfl_getthreads, dwfl_thread_getframes 425 and dwfl_frame_pc. 426- addr2line: New option -x to show the section an address was found in. 427- stack: New utility that uses the new unwinder for processes and cores. 428- backends: Unwinder support for i386, x86_64, s390, s390x, ppc and ppc64. 429 aarch64 support. 430 431* Mon Sep 30 2013 Mark Wielaard <mjw@redhat.com> 0.157-1 432- libdw: Add new functions dwarf_getlocations, dwarf_getlocation_attr 433 and dwarf_getlocation_die. 434- readelf: Show contents of NT_SIGINFO and NT_FILE core notes. 435- addr2line: Support -i, --inlines output option. 436- backends: abi_cfi hook for arm, ppc and s390. 437 438* Thu Jul 25 2013 Jan Kratochvil <jan.kratochvil@redhat.com> 0.156-1 439- lib: New macro COMPAT_VERSION_NEWPROTO. 440- libdw: Handle GNU extension opcodes in dwarf_getlocation. 441- libdwfl: Fix STB_GLOBAL over STB_WEAK preference in 442 dwfl_module_addrsym. Add minisymtab support. Add 443 parameter add_p_vaddr to dwfl_report_elf. Use DT_DEBUG 444 library search first. 445- libebl: Handle new core note types in EBL. 446- backends: Interpret NT_ARM_VFP. Implement core file 447 registers parsing for s390/s390x. 448- readelf: Add --elf-section input option to inspect an embedded ELF 449 file. Add -U, --unresolved-address-offsets output control. 450 Add --debug-dump=decodedline support. Accept version 451 8 .gdb_index section format. Adjust output formatting width. 452 When highpc is in constant form print it also as address. 453 Display raw .debug_aranges. Use libdw only for decodedaranges. 454- elflint: Add __bss_start__ to the list of allowed symbols. 455- tests: Add configure --enable-valgrind option to run all tests 456 under valgrind. Enable automake parallel-tests for make check. 457- translations: Updated Polish translation. 458- Updates for Automake 1.13. 459 460* Fri Aug 24 2012 Mark Wielaard <mjw@redhat.com> 0.155-1 461- libelf: elf*_xlatetomd now works for cross-endian ELF note data. 462 elf_getshdr now works consistently on non-mmaped ELF files after 463 calling elf_cntl(ELF_C_FDREAD). Implement support for 464 ar archives with 64-bit symbol table. 465- libdw: dwarf.h corrected the DW_LANG_ObjC constant name (was 466 DW_LANG_Objc). Any existing sources using the old name will 467 have to be updated. Add DW_MACRO_GNU .debug_macro type 468 encodings constants, DW_ATE_UTF and DW_OP_GNU_parameter_ref to 469 dwarf.h. Experimental support for DWZ multifile forms 470 DW_FORM_GNU_ref_alt and DW_FORM_GNU_strp_alt. Disabled by 471 default. Use configure --enable-dwz to test it. 472- readelf: Add .debug_macro parsing support. Add .gdb_index 473 version 7 parsing support. Recognize DW_OP_GNU_parameter_ref. 474- backends: Add support for Tilera TILE-Gx processor. 475- translations: Updated Ukrainian translation. 476 477* Fri Jun 22 2012 Mark Wielaard <mjw@redhat.com> 0.154-1 478- libelf: [g]elf[32|64]_offscn() do not match SHT_NOBITS sections at 479 OFFSET. 480- libdw: dwarf_highpc function now handles DWARF 4 DW_AT_high_pc 481 constant form. Fix bug using dwarf_next_unit to iterate over 482 .debug_types. 483- elflint: Now accepts gold linker produced executables. 484- The license is now GPLv2/LGPLv3+ for the libraries and GPLv3+ for 485 stand-alone programs. There is now also a formal CONTRIBUTING 486 document describing how to submit patches. 487 488* Thu Feb 23 2012 Mark Wielaard <mjw@redhat.com> 0.153-1 489- libdw: Support reading .zdebug_* DWARF sections compressed via zlib. 490- libdwfl: Speed up dwfl_module_addrsym. 491- nm: Support C++ demangling. 492- ar: Support D modifier for "deterministic output" with no 493 uid/gid/mtime info. The U modifier is the inverse. elfutils 494 can be configured with the --enable-deterministic-archives option 495 to make the D behavior the default when U is not specified. 496- ranlib: Support -D and -U flags with same meaning. 497- readelf: Improve output of -wline. Add support for printing SDT elf 498 notes. Add printing of .gdb_index section. Support for 499 typed DWARF stack, call_site and entry_value. 500- strip: Add --reloc-debug-sections option. Improved SHT_GROUP 501 sections handling. 502 503* Tue Feb 15 2011 <drepper@gmail.com> 0.152-1 504- Various build and warning nits fixed for newest GCC and Autoconf. 505- libdwfl: Yet another prelink-related fix for another regression. 506 Look for Linux kernel images in files named with compression 507 suffixes. 508- elfcmp: New flag --ignore-build-id to ignore differing build ID 509 bits. New flag -l/--verbose to print all differences. 510 511* Wed Jan 12 2011 <drepper@gmail.com> 0.151-1 512- libdwfl: Fix for more prelink cases with separate debug file. 513- strip: New flag --strip-sections to remove section headers entirely. 514 515* Mon Nov 22 2010 <drepper@gmail.com> 0.150-1 516- libdw: Fix for handling huge .debug_aranges section. 517- libdwfl: Fix for handling prelinked DSO with separate debug file. 518- findtextrel: Fix diagnostics to work with usual section ordering. 519- libebl: i386 backend fix for multi-register integer return value 520 location. 521 522* Mon Sep 13 2010 <drepper@redhat.com> 0.149-1 523- libdw: Decode new DW_OP_GNU_implicit_pointer operation; new 524 function dwarf_getlocation_implicit_pointer. 525- libdwfl: New function dwfl_dwarf_line. 526- addr2line: New flag -F/--flags to print more DWARF line information 527 details. 528- strip: -g recognizes .gdb_index as a debugging section. 529 530* Mon Jun 28 2010 <drepper@redhat.com> 0.148-1 531- libdw: Accept DWARF 4 format: new functions dwarf_next_unit, 532 dwarf_offdie_types. New functions dwarf_lineisa, 533 dwarf_linediscriminator, dwarf_lineop_index. 534- libdwfl: Fixes in core-file handling, support cores from PIEs. 535 When working from build IDs, don't open a named file that 536 mismatches. 537- readelf: Handle DWARF 4 formats. 538 539* Mon May 3 2010 Ulrich Drepper <drepper@redhat.com> 0.147-1 540- libdw: Fixes in CFI handling, best possible handling of bogus CFA 541 ops. 542- libdwfl: Ignore R_*_NONE relocs, works around old (binutils) ld -r 543 bugs. 544 545* Wed Apr 21 2010 <drepper@redhat.com> 0.146-1 546- libdwfl: New function dwfl_core_file_report. 547 548* Tue Feb 23 2010 Ulrich Drepper <drepper@redhat.com> 0.145-1 549- Fix build with --disable-dependency-tracking. 550- Fix build with most recent glibc headers. 551- libelf: More robust to bogus section headers. 552- libdw: Fix CFI decoding. 553- libdwfl: Fix address bias returned by CFI accessors. Fix core 554 file module layout identification. 555- readelf: Fix CFI decoding. 556 557* Thu Jan 14 2010 <drepper@redhat.com> 0.144-1 558- libelf: New function elf_getphdrnum. Now support using more than 559 65536 program headers in a file. 560- libdw: New function dwarf_aggregate_size for computing (constant) 561 type sizes, including array_type cases with nontrivial 562 calculation. 563- readelf: Don't give errors for missing info under -a. 564 Handle Linux "VMCOREINFO" notes under -n. 565 566* Mon Sep 21 2009 <drepper@redhat.com> 0.143-1 567- libdw: Various convenience functions for individual attributes now 568 use dwarf_attr_integrate to look up indirect inherited 569 attributes. Location expression handling now supports 570 DW_OP_implicit_value. 571- libdwfl: Support automatic decompression of files in XZ format, 572 and of Linux kernel images made with bzip2 or LZMA (as well 573 as gzip). 574 575* Mon Jun 29 2009 <drepper@redhat.com> 0.142-1 576- libelf: Add elf_getshdrnum alias for elf_getshnum and elf_getshdrstrndx alias 577 for elf_getshstrndx and deprecate original names. Sun screwed up 578 their implementation and asked for a solution. 579- libebl: Add support for STB_GNU_UNIQUE. 580- elflint: Add support for STB_GNU_UNIQUE. 581- readelf: Add -N option, speeds up DWARF printing without address->name lookups. 582- libdw: Add support for decoding DWARF CFI into location description form. 583 Handle some new DWARF 3 expression operations previously omitted. 584 Basic handling of some new encodings slated for DWARF 585 586* Thu Apr 23 2009 Ulrich Drepper <drepper@redhat.com> 0.141-1 587- libebl: sparc backend fixes; some more arm backend support 588- libdwfl: fix dwfl_module_build_id for prelinked DSO case; 589 fixes in core file support; dwfl_module_getsym interface 590 improved for non-address symbols 591- strip: fix infinite loop on strange inputs with -f 592- addr2line: take -j/--section=NAME option for binutils compatibility 593 (same effect as '(NAME)0x123' syntax already supported) 594 595* Mon Feb 16 2009 Ulrich Drepper <drepper@redhat.com> 0.140-1 596- libelf: Fix regression in creation of section header 597- libdwfl: Less strict behavior if DWARF reader ist just used to 598 display data 599 600* Thu Jan 22 2009 Ulrich Drepper <drepper@redhat.com> 0.139-1 601- libcpu: Add Intel SSE4 disassembler support 602- readelf: Implement call frame information and exception handling 603 dumping. Add -e option. Enable it implicitly for -a. 604- elflint: Check PT_GNU_EH_FRAME program header entry. 605- libdwfl: Support automatic gzip/bzip2 decompression of ELF files. 606 607* Wed Dec 31 2008 Roland McGrath <roland@redhat.com> 0.138-1 608- Install <elfutils/version.h> header file for applications to use in 609 source version compatibility checks. 610- libebl: backend fixes for i386 TLS relocs; backend support for 611 NT_386_IOPERM 612- libcpu: disassembler fixes 613- libdwfl: bug fixes 614- libelf: bug fixes 615- nm: bug fixes for handling corrupt input files 616 617* Tue Aug 26 2008 Ulrich Drepper <drepper@redhat.com> 0.137-1 618- Minor fixes for unreleased 0.136 release. 619 620* Mon Aug 25 2008 Ulrich Drepper <drepper@redhat.com> 0.136-1 621- libdwfl: bug fixes; new segment interfaces; all the libdwfl-based 622 tools now support --core=COREFILE option 623 624* Mon May 12 2008 Ulrich Drepper <drepper@redhat.com> 0.135-1 625- libdwfl: bug fixes 626- strip: changed handling of ET_REL files wrt symbol tables and relocs 627 628* Tue Apr 8 2008 Ulrich Drepper <drepper@redhat.com> 0.134-1 629- elflint: backend improvements for sparc, alpha 630- libdwfl, libelf: bug fixes 631 632* Sat Mar 1 2008 Ulrich Drepper <drepper@redhat.com> 0.133-1 633- readelf, elflint, libebl: SHT_GNU_ATTRIBUTE section handling (readelf -A) 634- readelf: core note handling for NT_386_TLS, NT_PPC_SPE, Alpha NT_AUXV 635- libdwfl: bug fixes and optimization in relocation handling 636- elfcmp: bug fix for non-allocated section handling 637- ld: implement newer features of binutils linker. 638 639* Mon Jan 21 2008 Ulrich Drepper <drepper@redhat.com> 0.132-1 640- libcpu: Implement x86 and x86-64 disassembler. 641- libasm: Add interface for disassembler. 642- all programs: add debugging of branch prediction. 643- libelf: new function elf_scnshndx. 644 645* Sun Nov 11 2007 Ulrich Drepper <drepper@redhat.com> 0.131-1 646- libdw: DW_FORM_ref_addr support; dwarf_formref entry point now depreca 647ted; bug fixes for oddly-formatted DWARF 648- libdwfl: bug fixes in offline archive support, symbol table handling; 649 apply partial relocations for dwfl_module_address_section on 650ET_REL 651- libebl: powerpc backend support for Altivec registers 652 653* Mon Oct 15 2007 Ulrich Drepper <drepper@redhat.com> 0.130-1 654- readelf: -p option can take an argument like -x for one section, 655 or no argument (as before) for all SHF_STRINGS sections; 656 new option --archive-index (or -c); improved -n output fo 657r core files, on many machines 658- libelf: new function elf_getdata_rawchunk, replaces gelf_rawchunk; 659 new functions gelf_getnote, gelf_getauxv, gelf_update_auxv 660- readelf, elflint: handle SHT_NOTE sections without requiring phdrs 661- elflint: stricter checks on debug sections 662- libdwfl: new functions dwfl_build_id_find_elf, dwfl_build_id_find_debu 663ginfo, dwfl_module_build_id, dwfl_module_report_build_id; suppo 664rt dynamic symbol tables found via phdrs; dwfl_standard_find_de 665buginfo now uses build IDs when available 666- unstrip: new option --list (or -n) 667- libebl: backend improvements for sparc, alpha, powerpc 668 669* Tue Aug 14 2007 Ulrich Drepper <drepper@redhat.com> 0.129-1 670- readelf: new options --hex-dump (or -x), --strings (or -p) 671- addr2line: new option --symbols (or -S) 672 673* Wed Apr 18 2007 Ulrich Drepper <drepper@redhat.com> 0.127-1 674- libdw: new function dwarf_getsrcdirs 675- libdwfl: new functions dwfl_module_addrsym, dwfl_report_begin_add, 676 dwfl_module_address_section 677 678* Mon Feb 5 2007 Ulrich Drepper <drepper@redhat.com> 0.126-1 679- new program: ar 680 681* Mon Dec 18 2006 Ulrich Drepper <drepper@redhat.com> 0.125-1 682- elflint: Compare DT_GNU_HASH tests. 683- move archives into -static RPMs 684- libelf, elflint: better support for core file handling 685 686* Tue Oct 10 2006 Ulrich Drepper <drepper@redhat.com> 0.124-1 687- libebl: sparc backend support for return value location 688- libebl, libdwfl: backend register name support extended with more info 689- libelf, libdw: bug fixes for unaligned accesses on machines that care 690- readelf, elflint: trivial bugs fixed 691 692* Mon Aug 14 2006 Roland McGrath <roland@redhat.com> 0.123-1 693- libebl: Backend build fixes, thanks to Stepan Kasal. 694- libebl: ia64 backend support for register names, return value location 695- libdwfl: Handle truncated linux kernel module section names. 696- libdwfl: Look for linux kernel vmlinux files with .debug suffix. 697- elflint: Fix checks to permit --hash-style=gnu format. 698 699* Wed Jul 12 2006 Ulrich Drepper <drepper@redhat.com> 0.122-1 700- libebl: add function to test for relative relocation 701- elflint: fix and extend DT_RELCOUNT/DT_RELACOUNT checks 702- elflint, readelf: add support for DT_GNU_HASHlibelf: add elf_gnu_hash 703- elflint, readelf: add support for 64-bit SysV-style hash tables 704- libdwfl: new functions dwfl_module_getsymtab, dwfl_module_getsym. 705 706* Wed Jun 14 2006 <drepper@redhat.com> 0.121-1 707- libelf: bug fixes for rewriting existing files when using mmap. 708- make all installed headers usable in C++ code. 709- readelf: better output format. 710- elflint: fix tests of dynamic section content. 711- ld: Implement --as-needed, --execstack, PT_GNU_STACK. Many small patc 712hes. 713- libdw, libdwfl: handle files without aranges info. 714 715* Tue Apr 4 2006 Ulrich Drepper <drepper@redhat.com> 0.120-1 716- Bug fixes. 717- dwarf.h updated for DWARF 3.0 final specification. 718- libdwfl: New function dwfl_version. 719- The license is now GPL for most files. The libelf, libebl, libdw,and 720libdwfl libraries have additional exceptions. Add reference toOIN. 721 722* Thu Jan 12 2006 Roland McGrath <roland@redhat.com> 0.119-1 723- elflint: more tests. 724- libdwfl: New function dwfl_module_register_names. 725- libebl: New backend hook for register names. 726 727* Tue Dec 6 2005 Ulrich Drepper <drepper@redhat.com> 0.118-1 728- elflint: more tests. 729- libdwfl: New function dwfl_module_register_names. 730- libebl: New backend hook for register names. 731 732* Thu Nov 17 2005 Ulrich Drepper <drepper@redhat.com> 0.117-1 733- libdwfl: New function dwfl_module_return_value_location. 734- libebl: Backend improvements for several CPUs. 735 736* Mon Oct 31 2005 Ulrich Drepper <drepper@redhat.com> 0.116-1 737- libdw: New functions dwarf_ranges, dwarf_entrypc, dwarf_diecu, d 738warf_entry_breakpoints. Removed Dwarf_Func type and functions d 739warf_func_name, dwarf_func_lowpc, dwarf_func_highpc, dwarf_func_ 740entrypc, dwarf_func_die; dwarf_getfuncs callback now uses Dwarf_ 741Die, and dwarf_func_file, dwarf_func_line, dwarf_func_col replac 742ed by dwarf_decl_file, dwarf_decl_line, dwarf_decl_column; dwarf 743_func_inline, dwarf_func_inline_instances now take Dwarf_Die. Ty 744pe Dwarf_Loc renamed to Dwarf_Op; dwarf_getloclist, dwarf_addrlo 745clists renamed dwarf_getlocation, dwarf_getlocation_addr. 746 747* Fri Sep 2 2005 Ulrich Drepper <drepper@redhat.com> 0.115-1 748- libelf: speed-ups of non-mmap reading. 749- strings: New program. 750- Implement --enable-gcov option for configure. 751- libdw: New function dwarf_getscopes_die. 752 753* Wed Aug 24 2005 Ulrich Drepper <drepper@redhat.com> 0.114-1 754- libelf: new function elf_getaroff 755- libdw: Added dwarf_func_die, dwarf_func_inline, dwarf_func_inline_inst 756ances. 757- libdwfl: New functions dwfl_report_offline, dwfl_offline_section_addre 758ss, dwfl_linux_kernel_report_offline. 759- ranlib: new program 760 761* Mon Aug 15 2005 Ulrich Drepper <drepper@redhat.com> 0.114-1 762- libelf: new function elf_getaroff 763- ranlib: new program 764 765* Wed Aug 10 2005 Ulrich Drepper <@redhat.com> 0.113-1 766- elflint: relax a bit. Allow version definitions for defined symbols ag 767ainstDSO versions also for symbols in nobits sections. Allow .rodata 768sectionto have STRINGS and MERGE flag set. 769- strip: add some more compatibility with binutils. 770 771* Sat Aug 6 2005 Ulrich Drepper <@redhat.com> 0.113-1 772- elflint: relax a bit. Allow version definitions for defined symbols ag 773ainstDSO versions also for symbols in nobits sections. Allow .rodata 774sectionto have STRINGS and MERGE flag set. 775 776* Sat Aug 6 2005 Ulrich Drepper <@redhat.com> 0.113-1 777- elflint: relax a bit. Allow version definitions for defined symbols ag 778ainstDSO versions also for symbols in nobits sections. 779 780* Fri Aug 5 2005 Ulrich Drepper <@redhat.com> 0.112-1 781- elfcmp: some more relaxation. 782- elflint: many more tests, especially regarding to symbol versioning. 783- libelf: Add elfXX_offscn and gelf_offscn. 784- libasm: asm_begin interface changes. 785- libebl: Add three new interfaces to directly access machine, class, an 786ddata encoding information. 787- objdump: New program. Just the beginning. 788 789* Thu Jul 28 2005 Ulrich Drepper <@redhat.com> 0.111-1 790- libdw: now contains all of libdwfl. The latter is not installed anymore. 791- elfcmp: little usability tweak, name and index of differing section is 792 printed. 793 794* Sun Jul 24 2005 Ulrich Drepper <@redhat.com> 0.110-1 795- libelf: fix a numbe rof problems with elf_update 796- elfcmp: fix a few bugs. Compare gaps. 797- Fix a few PLT problems and mudflap build issues. 798- libebl: Don't expose Ebl structure definition in libebl.h. It's now p 799rivate. 800 801* Thu Jul 21 2005 Ulrich Drepper <@redhat.com> 0.109-1 802- libebl: Check for matching modules. 803- elflint: Check that copy relocations only happen for OBJECT or NOTYPE 804symbols. 805- elfcmp: New program. 806- libdwfl: New library. 807 808* Mon May 9 2005 Ulrich Drepper <@redhat.com> 0.108-1 809- strip: fix bug introduced in last change 810- libdw: records returned by dwarf_getsrclines are now sorted by address 811 812* Sun May 8 2005 Ulrich Drepper <@redhat.com> 0.108-1 813- strip: fix bug introduced in last change 814 815* Sun May 8 2005 Ulrich Drepper <@redhat.com> 0.107-1 816- readelf: improve DWARF output format 817- strip: support Linux kernel modules 818 819* Fri Apr 29 2005 Ulrich Drepper <drepper@redhat.com> 0.107-1 820- readelf: improve DWARF output format 821 822* Mon Apr 4 2005 Ulrich Drepper <drepper@redhat.com> 0.106-1 823- libdw: Updated dwarf.h from DWARF3 speclibdw: add new funtions dwarf_f 824unc_entrypc, dwarf_func_file, dwarf_func_line,dwarf_func_col, dwarf_ge 825tsrc_file 826 827* Fri Apr 1 2005 Ulrich Drepper <drepper@redhat.com> 0.105-1 828- addr2line: New program 829- libdw: add new functions: dwarf_addrdie, dwarf_macro_*, dwarf_getfuncs 830,dwarf_func_*. 831- findtextrel: use dwarf_addrdie 832 833* Mon Mar 28 2005 Ulrich Drepper <drepper@redhat.com> 0.104-1 834- findtextrel: New program. 835 836* Mon Mar 21 2005 Ulrich Drepper <drepper@redhat.com> 0.103-1 837- libdw: Fix using libdw.h with gcc < 4 and C++ code. Compiler bug. 838 839* Tue Feb 22 2005 Ulrich Drepper <drepper@redhat.com> 0.102-1 840- More Makefile and spec file cleanups. 841 842* Fri Jan 16 2004 Jakub Jelinek <jakub@redhat.com> 0.94-1 843- upgrade to 0.94 844 845* Fri Jan 16 2004 Jakub Jelinek <jakub@redhat.com> 0.93-1 846- upgrade to 0.93 847 848* Thu Jan 8 2004 Jakub Jelinek <jakub@redhat.com> 0.92-1 849- full version 850- macroized spec file for GPL or OSL builds 851- include only libelf under GPL plus wrapper scripts 852 853* Wed Jan 7 2004 Jakub Jelinek <jakub@redhat.com> 0.91-2 854- macroized spec file for GPL or OSL builds 855 856* Wed Jan 7 2004 Ulrich Drepper <drepper@redhat.com> 857- split elfutils-devel into two packages. 858 859* Wed Jan 7 2004 Jakub Jelinek <jakub@redhat.com> 0.91-1 860- include only libelf under GPL plus wrapper scripts 861 862* Tue Dec 23 2003 Jeff Johnson <jbj@redhat.com> 0.89-3 863- readelf, not readline, in %%description (#111214). 864 865* Fri Sep 26 2003 Bill Nottingham <notting@redhat.com> 0.89-1 866- update to 0.89 (fix eu-strip) 867 868* Tue Sep 23 2003 Jakub Jelinek <jakub@redhat.com> 0.86-3 869- update to 0.86 (fix eu-strip on s390x/alpha) 870- libebl is an archive now; remove references to DSO 871 872* Mon Jul 14 2003 Jeff Johnson <jbj@redhat.com> 0.84-3 873- upgrade to 0.84 (readelf/elflint improvements, rawhide bugs fixed). 874 875* Fri Jul 11 2003 Jeff Johnson <jbj@redhat.com> 0.83-3 876- upgrade to 0.83 (fix invalid ELf handle on *.so strip, more). 877 878* Wed Jul 9 2003 Jeff Johnson <jbj@redhat.com> 0.82-3 879- upgrade to 0.82 (strip tests fixed on big-endian). 880 881* Tue Jul 8 2003 Jeff Johnson <jbj@redhat.com> 0.81-3 882- upgrade to 0.81 (strip excludes unused symtable entries, test borked). 883 884* Thu Jun 26 2003 Jeff Johnson <jbj@redhat.com> 0.80-3 885- upgrade to 0.80 (debugedit changes for kernel in progress). 886 887* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com> 888- rebuilt 889 890* Wed May 21 2003 Jeff Johnson <jbj@redhat.com> 0.79-2 891- upgrade to 0.79 (correct formats for size_t, more of libdw "works"). 892 893* Mon May 19 2003 Jeff Johnson <jbj@redhat.com> 0.78-2 894- upgrade to 0.78 (libdwarf bugfix, libdw additions). 895 896* Mon Feb 24 2003 Elliot Lee <sopwith@redhat.com> 897- debuginfo rebuild 898 899* Thu Feb 20 2003 Jeff Johnson <jbj@redhat.com> 0.76-2 900- use the correct way of identifying the section via the sh_info link. 901 902* Sat Feb 15 2003 Jakub Jelinek <jakub@redhat.com> 0.75-2 903- update to 0.75 (eu-strip -g fix) 904 905* Tue Feb 11 2003 Jakub Jelinek <jakub@redhat.com> 0.74-2 906- update to 0.74 (fix for writing with some non-dirty sections) 907 908* Thu Feb 6 2003 Jeff Johnson <jbj@redhat.com> 0.73-3 909- another -0.73 update (with sparc fixes). 910- do "make check" in %%check, not %%install, section. 911 912* Mon Jan 27 2003 Jeff Johnson <jbj@redhat.com> 0.73-2 913- update to 0.73 (with s390 fixes). 914 915* Wed Jan 22 2003 Tim Powers <timp@redhat.com> 916- rebuilt 917 918* Wed Jan 22 2003 Jakub Jelinek <jakub@redhat.com> 0.72-4 919- fix arguments to gelf_getsymshndx and elf_getshstrndx 920- fix other warnings 921- reenable checks on s390x 922 923* Sat Jan 11 2003 Karsten Hopp <karsten@redhat.de> 0.72-3 924- temporarily disable checks on s390x, until someone has 925 time to look at it 926 927* Thu Dec 12 2002 Jakub Jelinek <jakub@redhat.com> 0.72-2 928- update to 0.72 929 930* Wed Dec 11 2002 Jakub Jelinek <jakub@redhat.com> 0.71-2 931- update to 0.71 932 933* Wed Dec 11 2002 Jeff Johnson <jbj@redhat.com> 0.69-4 934- update to 0.69. 935- add "make check" and segfault avoidance patch. 936- elfutils-libelf needs to run ldconfig. 937 938* Tue Dec 10 2002 Jeff Johnson <jbj@redhat.com> 0.68-2 939- update to 0.68. 940 941* Fri Dec 6 2002 Jeff Johnson <jbj@redhat.com> 0.67-2 942- update to 0.67. 943 944* Tue Dec 3 2002 Jeff Johnson <jbj@redhat.com> 0.65-2 945- update to 0.65. 946 947* Mon Dec 2 2002 Jeff Johnson <jbj@redhat.com> 0.64-2 948- update to 0.64. 949 950* Sun Dec 1 2002 Ulrich Drepper <drepper@redhat.com> 0.64 951- split packages further into elfutils-libelf 952 953* Sat Nov 30 2002 Jeff Johnson <jbj@redhat.com> 0.63-2 954- update to 0.63. 955 956* Fri Nov 29 2002 Ulrich Drepper <drepper@redhat.com> 0.62 957- Adjust for dropping libtool 958 959* Sun Nov 24 2002 Jeff Johnson <jbj@redhat.com> 0.59-2 960- update to 0.59 961 962* Thu Nov 14 2002 Jeff Johnson <jbj@redhat.com> 0.56-2 963- update to 0.56 964 965* Thu Nov 7 2002 Jeff Johnson <jbj@redhat.com> 0.54-2 966- update to 0.54 967 968* Sun Oct 27 2002 Jeff Johnson <jbj@redhat.com> 0.53-2 969- update to 0.53 970- drop x86_64 hack, ICE fixed in gcc-3.2-11. 971 972* Sat Oct 26 2002 Jeff Johnson <jbj@redhat.com> 0.52-3 973- get beehive to punch a rhpkg generated package. 974 975* Wed Oct 23 2002 Jeff Johnson <jbj@redhat.com> 0.52-2 976- build in 8.0.1. 977- x86_64: avoid gcc-3.2 ICE on x86_64 for now. 978 979* Tue Oct 22 2002 Ulrich Drepper <drepper@redhat.com> 0.52 980- Add libelf-devel to conflicts for elfutils-devel 981 982* Mon Oct 21 2002 Ulrich Drepper <drepper@redhat.com> 0.50 983- Split into runtime and devel package 984 985* Fri Oct 18 2002 Ulrich Drepper <drepper@redhat.com> 0.49 986- integrate into official sources 987 988* Wed Oct 16 2002 Jeff Johnson <jbj@redhat.com> 0.46-1 989- Swaddle. 990