1# -*- rpm-spec-*- 2Name: elfutils 3Version: @PACKAGE_VERSION@ 4Release: 1 5URL: http://elfutils.org/ 6License: GPLv3+ and (GPLv2+ or LGPLv3+) and GFDL 7Source: ftp://sourceware.org/pub/elfutils/%{version}/elfutils-%{version}.tar.bz2 8Summary: A collection of utilities and DSOs to handle ELF files and DWARF data 9 10Requires: elfutils-libelf = %{version}-%{release} 11Requires: elfutils-libs = %{version}-%{release} 12# Can be a Recommends if rpm supports that 13Requires: elfutils-debuginfod-client = %{version}-%{release} 14 15BuildRequires: gcc 16# For libstdc++ demangle support 17BuildRequires: gcc-c++ 18 19BuildRequires: gettext 20BuildRequires: bison 21BuildRequires: flex 22 23# Compression support 24BuildRequires: zlib-devel 25BuildRequires: bzip2-devel 26BuildRequires: xz-devel 27BuildRequires: libzstd-devel 28 29# For debuginfod 30BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33 31BuildRequires: pkgconfig(libcurl) >= 7.29.0 32BuildRequires: pkgconfig(sqlite3) >= 3.7.17 33BuildRequires: pkgconfig(libarchive) >= 3.1.2 34 35# For tests need to bunzip2 test files. 36BuildRequires: bzip2 37BuildRequires: zstd 38# For the run-debuginfod-find.sh test case in %%check for /usr/sbin/ss etc. 39BuildRequires: iproute 40BuildRequires: procps 41BuildRequires: bsdtar 42BuildRequires: curl 43# For run-debuginfod-response-headers.sh test case 44BuildRequires: socat 45 46%define _gnu %{nil} 47%define _programprefix eu- 48 49%description 50Elfutils is a collection of utilities, including stack (to show 51backtraces), nm (for listing symbols from object files), size 52(for listing the section sizes of an object or archive file), 53strip (for discarding symbols), readelf (to see the raw ELF file 54structures), elflint (to check for well-formed ELF files) and 55elfcompress (to compress or decompress ELF sections). 56 57%package libs 58Summary: Libraries to handle compiled objects 59License: GPLv2+ or LGPLv3+ 60Requires: elfutils-libelf = %{version}-%{release} 61Requires: default-yama-scope 62# Can be a Recommends if rpm supports that 63Requires: elfutils-debuginfod-client = %{version}-%{release} 64 65%description libs 66The elfutils-libs package contains libraries which implement DWARF, ELF, 67and machine-specific ELF handling and process introspection. These 68libraries are used by the programs in the elfutils package. The 69elfutils-devel package enables building other programs using these 70libraries. 71 72%package devel 73Summary: Development libraries to handle compiled objects 74License: GPLv2+ or LGPLv3+ 75Requires: elfutils-libs = %{version}-%{release} 76Requires: elfutils-libelf-devel = %{version}-%{release} 77# Can be a Recommends if rpm supports that 78Requires: elfutils-debuginfod-client-devel = %{version}-%{release} 79 80%description devel 81The elfutils-devel package contains the libraries to create 82applications for handling compiled objects. libdw provides access 83to the DWARF debugging information. libasm provides a programmable 84assembler interface. 85 86%package devel-static 87Summary: Static archives to handle compiled objects 88License: GPLv2+ or LGPLv3+ 89Requires: elfutils-devel = %{version}-%{release} 90Requires: elfutils-libelf-devel-static = %{version}-%{release} 91 92%description devel-static 93The elfutils-devel-static package contains the static archives 94with the code to handle compiled objects. 95 96%package libelf 97Summary: Library to read and write ELF files 98License: GPLv2+ or LGPLv3+ 99 100%description libelf 101The elfutils-libelf package provides a DSO which allows reading and 102writing ELF files on a high level. Third party programs depend on 103this package to read internals of ELF files. The programs of the 104elfutils package use it also to generate new ELF files. 105 106%package libelf-devel 107Summary: Development support for libelf 108License: GPLv2+ or LGPLv3+ 109Requires: elfutils-libelf = %{version}-%{release} 110Conflicts: libelf-devel 111 112%description libelf-devel 113The elfutils-libelf-devel package contains the libraries to create 114applications for handling compiled objects. libelf allows you to 115access the internals of the ELF object file format, so you can see the 116different sections of an ELF file. 117 118%package libelf-devel-static 119Summary: Static archive of libelf 120License: GPLv2+ or LGPLv3+ 121Requires: elfutils-libelf-devel = %{version}-%{release} 122Conflicts: libelf-devel 123 124%description libelf-devel-static 125The elfutils-libelf-static package contains the static archive 126for libelf. 127 128%package default-yama-scope 129Summary: Default yama attach scope sysctl setting 130License: GPLv2+ or LGPLv3+ 131Provides: default-yama-scope 132BuildArch: noarch 133 134%description default-yama-scope 135Yama sysctl setting to enable default attach scope settings 136enabling programs to use ptrace attach, access to 137/proc/PID/{mem,personality,stack,syscall}, and the syscalls 138process_vm_readv and process_vm_writev which are used for 139interprocess services, communication and introspection 140(like synchronisation, signaling, debugging, tracing and 141profiling) of processes. 142 143%package debuginfod-client 144Summary: Library and command line client for build-id HTTP ELF/DWARF server 145License: GPLv3+ and (GPLv2+ or LGPLv3+) 146# For debuginfod-find binary 147Requires: elfutils-libs = %{version}-%{release} 148Requires: elfutils-libelf = %{version}-%{release} 149 150%package debuginfod-client-devel 151Summary: Libraries and headers to build debuginfod client applications 152License: GPLv2+ or LGPLv3+ 153Requires: elfutils-debuginfod-client = %{version}-%{release} 154 155%package debuginfod 156Summary: HTTP ELF/DWARF file server addressed by build-id 157License: GPLv3+ 158Requires: elfutils-libs = %{version}-%{release} 159Requires: elfutils-libelf = %{version}-%{release} 160Requires: elfutils-debuginfod-client = %{version}-%{release} 161BuildRequires: systemd 162Requires(post): systemd 163Requires(preun): systemd 164Requires(postun): systemd 165Requires(pre): shadow-utils 166# To extract .deb files with a bsdtar (= libarchive) subshell 167Requires: bsdtar 168 169%description debuginfod-client 170The elfutils-debuginfod-client package contains shared libraries 171dynamically loaded from -ldw, which use a debuginfod service 172to look up debuginfo and associated data. Also includes a 173command-line frontend. 174 175%description debuginfod-client-devel 176The elfutils-debuginfod-client-devel package contains the libraries 177to create applications to use the debuginfod service. 178 179%description debuginfod 180The elfutils-debuginfod package contains the debuginfod binary 181and control files for a service that can provide ELF/DWARF 182files to remote clients, based on build-id identification. 183The ELF/DWARF file searching functions in libdwfl can query 184such servers to download those files on demand. 185 186%prep 187%setup -q 188 189%build 190%configure --program-prefix=%{_programprefix} --enable-debuginfod --enable-debuginfod-urls 191make -s %{?_smp_mflags} 192 193%install 194rm -rf ${RPM_BUILD_ROOT} 195mkdir -p ${RPM_BUILD_ROOT}%{_prefix} 196 197%make_install 198 199chmod +x ${RPM_BUILD_ROOT}%{_prefix}/%{_lib}/lib*.so* 200mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/cache/debuginfod 201touch ${RPM_BUILD_ROOT}%{_localstatedir}/cache/debuginfod/debuginfod.sqlite 202 203# XXX Nuke unpackaged files 204( cd ${RPM_BUILD_ROOT} 205 rm -f .%{_includedir}/elfutils/libasm.h 206 rm -f .%{_libdir}/libasm.so 207 rm -f .%{_libdir}/libasm.a 208) 209 210install -Dm0644 config/10-default-yama-scope.conf ${RPM_BUILD_ROOT}%{_sysctldir}/10-default-yama-scope.conf 211 212install -Dm0644 config/debuginfod.service ${RPM_BUILD_ROOT}%{_unitdir}/debuginfod.service 213install -Dm0644 config/debuginfod.sysconfig ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/debuginfod 214mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/cache/debuginfod 215touch ${RPM_BUILD_ROOT}%{_localstatedir}/cache/debuginfod/debuginfod.sqlite 216 217%check 218make -s %{?_smp_mflags} check 219 220%post libs -p /sbin/ldconfig 221%postun libs -p /sbin/ldconfig 222%post libelf -p /sbin/ldconfig 223%postun libelf -p /sbin/ldconfig 224%post debuginfod-client -p /sbin/ldconfig 225%postun debuginfod-client -p /sbin/ldconfig 226 227%post default-yama-scope 228# Due to circular dependencies might not be installed yet, so double check. 229# (systemd -> elfutils-libs -> default-yama-scope -> systemd) 230if [ -x /usr/lib/systemd/systemd-sysctl ] ; then 231%sysctl_apply 10-default-yama-scope.conf 232fi 233 234%files 235%license COPYING COPYING-GPLV2 COPYING-LGPLV3 doc/COPYING-GFDL 236%doc README TODO CONTRIBUTING SECURITY 237%{_bindir}/eu-addr2line 238%{_bindir}/eu-ar 239%{_bindir}/eu-elfclassify 240%{_bindir}/eu-elfcmp 241%{_bindir}/eu-elfcompress 242%{_bindir}/eu-elflint 243%{_bindir}/eu-findtextrel 244%{_bindir}/eu-make-debug-archive 245%{_bindir}/eu-nm 246%{_bindir}/eu-objdump 247%{_bindir}/eu-ranlib 248%{_bindir}/eu-readelf 249%{_bindir}/eu-size 250%{_bindir}/eu-stack 251%{_bindir}/eu-strings 252%{_bindir}/eu-strip 253%{_bindir}/eu-unstrip 254%{_mandir}/man1/eu-*.1* 255 256%files libs 257%license COPYING-GPLV2 COPYING-LGPLV3 258%{_libdir}/libasm-%{version}.so 259%{_libdir}/libdw-%{version}.so 260%{_libdir}/libasm.so.* 261%{_libdir}/libdw.so.* 262 263%files devel 264%{_includedir}/dwarf.h 265%dir %{_includedir}/elfutils 266%{_includedir}/elfutils/elf-knowledge.h 267%{_includedir}/elfutils/known-dwarf.h 268#%%{_includedir}/elfutils/libasm.h 269%{_includedir}/elfutils/libdw.h 270%{_includedir}/elfutils/libdwfl.h 271%{_includedir}/elfutils/libdwelf.h 272%{_includedir}/elfutils/version.h 273#%%{_libdir}/libasm.so 274%{_libdir}/libdw.so 275%{_libdir}/pkgconfig/libdw.pc 276 277%files devel-static 278%{_libdir}/libdw.a 279#%%{_libdir}/libasm.a 280 281%files libelf 282%license COPYING-GPLV2 COPYING-LGPLV3 283%{_libdir}/libelf-%{version}.so 284%{_libdir}/libelf.so.* 285%{_datadir}/locale/*/LC_MESSAGES/elfutils.mo 286 287%files libelf-devel 288%{_includedir}/libelf.h 289%{_includedir}/gelf.h 290%{_includedir}/nlist.h 291%{_libdir}/libelf.so 292%{_libdir}/pkgconfig/libelf.pc 293%{_mandir}/man3/elf_*.3* 294 295%files libelf-devel-static 296%{_libdir}/libelf.a 297 298%files default-yama-scope 299%{_sysctldir}/10-default-yama-scope.conf 300 301%files debuginfod-client 302%defattr(-,root,root) 303%{_libdir}/libdebuginfod-%{version}.so 304%{_libdir}/libdebuginfod.so.* 305%{_bindir}/debuginfod-find 306%{_mandir}/man1/debuginfod-find.1* 307%{_mandir}/man7/debuginfod*.7* 308%config(noreplace) %{_sysconfdir}/profile.d/* 309%config(noreplace) %{_sysconfdir}/debuginfod/* 310 311%files debuginfod-client-devel 312%defattr(-,root,root) 313%{_libdir}/pkgconfig/libdebuginfod.pc 314%{_mandir}/man3/debuginfod_*.3* 315%{_mandir}/man7/debuginfod*.7* 316%{_includedir}/elfutils/debuginfod.h 317%{_libdir}/libdebuginfod.so 318 319%files debuginfod 320%defattr(-,root,root) 321%{_bindir}/debuginfod 322%config(noreplace) %{_sysconfdir}/sysconfig/debuginfod 323%{_unitdir}/debuginfod.service 324%{_mandir}/man8/debuginfod*.8* 325%{_mandir}/man7/debuginfod*.7* 326 327%dir %attr(0700,debuginfod,debuginfod) %{_localstatedir}/cache/debuginfod 328%ghost %attr(0600,debuginfod,debuginfod) %{_localstatedir}/cache/debuginfod/debuginfod.sqlite 329 330%pre debuginfod 331getent group debuginfod >/dev/null || groupadd -r debuginfod 332getent passwd debuginfod >/dev/null || \ 333 useradd -r -g debuginfod -d /var/cache/debuginfod -s /sbin/nologin \ 334 -c "elfutils debuginfo server" debuginfod 335exit 0 336 337%post debuginfod 338%systemd_post debuginfod.service 339 340%postun debuginfod 341%systemd_postun_with_restart debuginfod.service 342 343%changelog 344* Fri Nov 3 2023 Mark Wielaard <mark@klomp.org> 0.190-1 345- CONTRIBUTING: Switch from real name policy to known identity policy. 346 Updated ChangeLog policy (no more separate ChangeLog files). 347 There is a SECURITY bug policy now. The default branch is now 'main'. 348- libelf: Add RELR support. 349- libdw: Recognize .debug_[ct]u_index sections. 350- readelf: Support readelf -Ds, --use-dynamic --symbol. 351 Support .gdb_index version 9 352- scrlines: New tool that compiles a list of source files associated 353 with a specified dwarf/elf file. 354- debuginfod: Schema change (reindexing required, sorry!) for a 60% 355 compression in filename representation, which was a large 356 part of the sqlite index; also, more deliberate sqlite 357 -wal management during scanning using the --scan-checkpoint option. 358- backends: Various LoongArch updates. 359 360* Fri Mar 3 2023 Mark Wielaard <mark@klomp.org> 0.189-1 361- configure: eu-nm, eu-addr2line and eu-stack can provide demangled 362 symbols when linked with libstdc++. Use --disable-demangler to disable. 363 A new option --enable-sanitize-memory has been added for msan sanitizer 364 support. 365- libelf: elf_compress now supports ELFCOMPRESS_ZSTD when build 366 against libzstd 367- libdwfl: dwfl_module_return_value_location now returns 0 (no return 368 type) for DIEs that point to a DW_TAG_unspecified_type. 369- elfcompress: -t, --type= now support zstd if libelf has been build 370 with ELFCOMPRESS_ZSTD support. 371- backends: Add support for LoongArch and Synopsys ARCv2 processors. 372 373* Wed Nov 2 2022 Mark Wielaard <mark@klomp.org> 0.188-1 374- readelf: Add -D, --use-dynamic option. 375- debuginfod-client: Add $DEBUGINFOD_HEADERS_FILE setting to supply 376 outgoing HTTP headers. 377 Add new function debuginfod_find_section. 378- debuginfod: Add --disable-source-scan option. 379- libdwfl: Add new function dwfl_get_debuginfod_client. 380 Add new function dwfl_frame_reg. 381 Add new function dwfl_report_offline_memory. 382 383* Mon Apr 25 2022 Mark Wielaard <mark@klomp.org> 0.187-1 384- debuginfod: Support -C option for connection thread pooling. 385- debuginfod-client: Negative cache file are now zero sized instead 386 of no-permission files. 387- addr2line: The -A, --absolute option, which shows file names 388 includingthe full compilation directory is now the 389 default. To get theold behavior use the new option --relative. 390- readelf, elflint: Recognize FDO Packaging Metadata ELF notes 391- libdw, debuginfo-client: Load libcurl lazily only when files need 392 to be fetched remotely. libcurl is now never loaded when 393 DEBUGINFOD_URLS is unset. And whenDEBUGINFOD_URLS is set, 394 libcurl is only loaded when the debuginfod_begin function is 395 called. 396 397* Wed Nov 10 2021 Mark Wielaard <mark@klomp.org> 0.186-1 398- debuginfod-client: Default $DEBUGINFOD_URLS is computed from 399 drop-in files /etc/debuginfod/*.urls rather than 400 hardcoded into the /etc/profile.d/debuginfod* 401 scripts. 402 Add $DEBUGINFOD_MAXSIZE and $DEBUGINFOD_MAXTIME settings 403 for skipping large/slow transfers. 404 Add $DEBUGINFOD_RETRY for retrying aborted lookups. 405- debuginfod: Supply extra HTTP response headers, describing 406 archive/file names that satisfy the requested buildid content. 407 Support -d :memory: option for in-memory databases. 408 Protect against loops in federated server configurations. 409 Add -r option to use -I/-X regexes for grooming stale files. 410 Protect against wasted CPU from duplicate concurrent requests. 411 Limit the duration of groom ops roughly to rescan (-t) times. 412 Add --passive mode for serving from read-only database. 413 Several other performance improvements & prometheus metrics. 414- libdw: Support for the NVIDIA Cuda line map extensions. 415 DW_LNE_NVIDIA_inlined_call and DW_LNE_NVIDIA_set_function_name 416 are defined in dwarf.h. New functions dwarf_linecontext and 417 dwarf_linefunctionname. 418- translations: Update Japanese translation. 419 420* Sat May 22 2021 Mark Wielaard <mark@klomp.org> 0.185-1 421- debuginfod-client: Simplify curl handle reuse so downloads which 422 return an error are retried. 423- elfcompress: Always exit with code 0 when the operation succeeds 424 (even when nothing was done). On error the exit code is 425 now always 1. 426 427* Mon May 10 2021 Mark Wielaard <mark@klomp.org> 0.184-1 428- debuginfod: Use libarchive's bsdtar as the .deb-family file unpacker. 429- debuginfod-client: Client caches negative results. If a query for a 430 file failed with 404, an empty 000 permission 431 file is created in the cache. This will prevent 432 requesting the same file for the next 10 minutes. 433- Client objects now carry long-lived curl handles 434 for outgoing connections. This makes it more 435 efficient for multiple sequential queries, because 436 the TCP connections and/or TLS state info are kept 437 around awhile, avoiding O(100ms) setup latencies. 438- libdw: handle DW_FORM_indirect when reading attributes 439- translations: Update Polish translation. 440 441* Fri Feb 5 2021 Mark Wielaard <mark@klomp.org> 0.183-1 442- debuginfod: New thread-busy metric and more detailed error metrics. 443 New --fdcache-mintmp and tracking of filesystem freespace. 444- debigonfod-client: DEBUGINFOD_SONAME macro added to debuginfod.h can 445 be used to dlopen the libdebuginfod.so library. 446 New function debuginfod_set_verbose_fd and DEBUGINFOD_VERBOSE 447 environment variable. 448- config: profile.sh and profile.csh won't export DEBUGINFOD_URLS 449 unless configured --enable-debuginfod-urls[=URLS] 450- elflint, readelf: Recognize SHF_GNU_RETAIN. 451 Handle SHT_X86_64_UNWIND as valid relocation target type. 452 453* Sat Oct 31 2020 Mark Wielaard <mark@klomp.org> 0.182-1 454- backends: Support for tilegx has been removed. 455- config: New /etc/profile.d files to provide default $DEBUGINFOD_URLS. 456- debuginfod: More efficient package traversal, tolerate various 457 errors during scanning, grooming progress is more visible and 458 interruptible, more prometheus metrics. 459- debuginfod-client: Now supports compressed (kernel) ELF images. 460- libdwfl: Add ZSTD compression support. 461 462* Tue Sep 8 2020 Mark Wielaard <mark@klomp.org> 0.181-1 463- libelf: elf_update now compensates (fixes up) a bad sh_addralign 464 for SHF_COMPRESSED sections. 465- libdebuginfod: configure now takes --enable-libdebuginfod=dummy or 466 --disable-libdebuginfod for bootstrapping. 467 DEBUGINFOD_URLS now accepts "scheme-free" urls 468 (guessing at what the user meant, either http:// or file://) 469- readelf, elflint: Handle aarch64 bti, pac bits in dynamic table and 470 gnu property notes. 471- libdw, readelf: Recognize DW_CFA_AARCH64_negate_ra_state. Allows 472 unwinding on arm64 for code that is compiled for PAC 473 (Pointer Authentication Code) as long as it isn't enabled. 474 475* Thu Jun 11 2020 Mark Wielaard <mark@klomp.org> 0.180-1 476- elflint: Allow SHF_EXCLUDE as generic section flag when --gnu is given. 477- libdw, readelf: Handle GCC LTO .gnu.debuglto_ prefix. 478- libdw: Use correct CU to resolve file names in dwarf_decl_file. 479- libdwfl: Handle debugaltlink in dwfl_standard_find_debuginfo. 480- size: Also obey radix printing for bsd format. 481- nm: Explicitly print weak 'V' or 'T' and common 'C' symbols. 482 483* Mon Mar 30 2020 Mark Wielaard <mark@klomp.org> 0.179-1 484- debuginfod-client: When DEBUGINFOD_PROGRESS is set and the program 485 doesn't install its own debuginfod_progressfn_t show download 486 progress on stderr. 487 DEBUGINFOD_TIMEOUT is now defined as seconds to get at least 100K, 488 defaults to 90 seconds. 489 Default to $XDG_CACHE_HOME/debuginfod_client. 490 New functions debuginfod_set_user_data, debuginfod_get_user_data, 491 debuginfod_get_url and debuginfod_add_http_header. 492 Support for file:// URLs. 493- debuginfod: Uses libarchive directly for reading rpm archives. 494 Support for indexing .deb/.ddeb archives through dpkg-deb or bsdtar. 495 Generic archive support through -Z EXT[=CMD]. Which can be used for 496 example for arch-linux pacman files by using -Z '.tar.zst=zstdcat'. 497 Better logging using User-Agent and X-Forwarded-For headers. 498 More prometheus metrics. 499 Support for eliding dots or extraneous slashes in path names. 500- debuginfod-find: Accept /path/names in place of buildid hex. 501- libelf: Handle PN_XNUM in elf_getphdrnum before shdr 0 is cached. 502 Ensure zlib resource cleanup on failure. 503- libdwfl: dwfl_linux_kernel_find_elf and dwfl_linux_kernel_report_offline 504 now find and handle a compressed vmlinuz image. 505- readelf, elflint: Handle PT_GNU_PROPERTY. 506- translations: Updated Ukrainian translation. 507 508* Tue Nov 26 2019 Mark Wielaard <mark@klomp.org> 0.178-1 509- debuginfod: New server, client tool and library to index and fetch 510 ELF/DWARF files addressed by build-id through HTTP. 511- doc: There are now some manual pages for functions and tools. 512- backends: The libebl libraries are no longer dynamically loaded 513 through dlopen, but are now compiled into libdw.so directly. 514- readelf: -n, --notes now takes an optional "SECTION" argument. 515 -p and -x now also handle section numbers. 516 New option --dyn-sym to show just the dynamic symbol table. 517- libcpu: Add RISC-V disassembler. 518- libdw: Abbrevs and DIEs can now be read concurrently by multiple 519 threads through the same Dwarf handle. 520- libdwfl: Will try to use debuginfod when installed as fallback to 521 retrieve ELF and DWARF debug data files by build-id. 522 523* Tue Aug 13 2019 Mark Wielaard <mark@klomp.org> 0.177-1 524- elfclassify: New tool to analyze ELF objects. 525- readelf: Print DW_AT_data_member_location as decimal offset. 526 Decode DW_AT_discr_list block attributes. 527- libdw: Add DW_AT_GNU_numerator, DW_AT_GNU_denominator and DW_AT_GNU_bias. 528- libdwelf: Add dwelf_elf_e_machine_string. 529 dwelf_elf_begin now only returns NULL when there is an error 530 reading or decompressing a file. If the file is not an ELF file 531 an ELF handle of type ELF_K_NONE is returned. 532- backends: Add support for C-SKY. 533 534* Thu Feb 14 2019 Mark Wielaard <mark@klomp.org> 0.176-1 535- build: Add new --enable-install-elfh option. 536 Do NOT use this for system installs (it overrides glibc elf.h). 537- backends: riscv improved core file and return value location support. 538- Fixes CVE-2019-7146, CVE-2019-7148, CVE-2019-7149, CVE-2019-7150, 539 CVE-2019-7664, CVE-2019-7665. 540 541* Wed Nov 14 2018 Mark Wielaard <mark@klomp.org> 0.175-1 542- readelf: Handle multiple .debug_macro sections. 543 Recognize and parse GNU Property notes, NT_VERSION notes and 544 GNU Build Attribute ELF Notes. 545- strip: Handle SHT_GROUP correctly. 546 Add strip --reloc-debug-sections-only option. 547 Handle relocations against GNU compressed sections. 548- libdwelf: New function dwelf_elf_begin. 549- libcpu: Recognize bpf jump variants BPF_JLT, BPF_JLE, BPF_JSLT 550 and BPF_JSLE. 551- backends: RISCV handles ADD/SUB relocations. 552 Handle SHT_X86_64_UNWIND. 553- Fixes CVE-2018-18310, CVE-2018-18520 and CVE-2018-18521. 554 555* Fri Sep 14 2018 Mark Wielaard <mark@klomp> 0.174-1 556- libelf, libdw and all tools now handle extended shnum and shstrndx 557 correctly. 558- elfcompress: Don't rewrite input file if no section data needs 559 updating. Try harder to keep same file mode bits (suid) on rewrite. 560- strip: Handle mixed (out of order) allocated/non-allocated sections. 561- unstrip: Handle SHT_GROUP sections. 562- backends: RISCV and M68K now have backend implementations to 563 generate CFI based backtraces. 564- Fixes CVE-2018-16062, CVE-2018-16402 and CVE-2018-16403. 565 566* Fri Jun 29 2018 Mark Wielaard,,, <mark@klomp.org> 0.173-1 567- More fixes for crashes and hangs found by afl-fuzz. In particular 568 various functions now detect and break infinite loops caused by bad 569 DIE tree cycles. 570- readelf: Will now lookup the size and signedness of constant value 571 types to display them correctly (and not just how they were encoded). 572- libdw: New function dwarf_next_lines to read CU-less .debug_line data. 573 dwarf_begin_elf now accepts ELF files containing just .debug_line 574 or .debug_frame sections (which can be read without needing a DIE 575 tree from the .debug_info section). 576 Removed dwarf_getscn_info, which was never implemented. 577- backends: Handle BPF simple relocations. 578 The RISCV backends now handles ABI specific CFI and knows about 579 RISCV register types and names. 580 581* Mon Jun 11 2018 Mark Wielaard <mark@klomp.org> 0.172-1 582- No functional changes compared to 0.171. 583- Various bug fixes in libdw and eu-readelf dealing with bad DWARF5 584 data. Thanks to running the afl fuzzer on eu-readelf and various 585 testcases. 586- eu-readelf -N is ~15% faster. 587 588* Fri Jun 01 2018 Mark Wielaard <mark@klomp.org> 0.171-1 589- DWARF5 and split dwarf, including GNU DebugFission, support. 590- readelf: Handle all new DWARF5 sections. 591 --debug-dump=info+ will show split unit DIEs when found. 592 --dwarf-skeleton can be used when inspecting a .dwo file. 593 Recognizes GNU locviews with --debug-dump=loc. 594- libdw: New functions dwarf_die_addr_die, dwarf_get_units, 595 dwarf_getabbrevattr_data and dwarf_cu_info. 596 libdw will now try to resolve the alt file on first use 597 when not set yet with dwarf_set_alt. 598 dwarf_aggregate_size() now works with multi-dimensional arrays. 599- libdwfl: Use process_vm_readv when available instead of ptrace. 600- backends: Add a RISC-V backend. 601 602* Wed Aug 2 2017 Mark Wielaard <mark@klomp.org> 0.170-1 603- libdw: Added new DWARF5 attribute, tag, character encoding, 604 language code, calling convention, defaulted member function 605 and macro constants to dwarf.h. 606 New functions dwarf_default_lower_bound and dwarf_line_file. 607 dwarf_peel_type now handles DWARF5 immutable, packed and shared tags. 608 dwarf_getmacros now handles DWARF5 .debug_macro sections. 609- strip: Add -R, --remove-section=SECTION and --keep-section=SECTION. 610- backends: The bpf disassembler is now always build on all platforms. 611 612* Fri May 5 2017 Mark Wielaard <mark@klomp.org> 0.169-1 613- backends: Add support for EM_PPC64 GNU_ATTRIBUTES. 614 Frame pointer unwinding fallback support for i386, x86_64, aarch64. 615- translations: Update Polish translation. 616 617* Tue Dec 27 2016 Mark Wielaard <mark@klomp.org> 0.168-1 618- http://elfutils.org/ is now hosted at http://sourceware.org/elfutils/ 619- libelf: gelf_newehdr and gelf_newehdr now return void *. 620- libdw: dwarf.h corrected the DW_LANG_PLI constant name (was DW_LANG_PL1). 621- readelf: Add optional --symbols[=SECTION] argument to select section name. 622 623* Thu Aug 4 2016 Mark Wielaard <mjw@redhat.com> 0.167-1 624- libasm: Add eBPF disassembler for EM_BPF files. 625- backends: Add m68k and BPF backends. 626- ld: Removed. 627- dwelf: Add ELF/DWARF string table creation functions. 628 dwelf_strtab_init, dwelf_strtab_add, dwelf_strtab_add_len, 629 dwelf_strtab_finalize, dwelf_strent_off, dwelf_strent_str and 630 dwelf_strtab_free. 631 632* Thu Mar 31 2016 Mark Wielaard <mjw@redhat.com> 0.166-1 633- config: The default program prefix for the installed tools is now 634 eu-. Use configure --program-prefix="" to not use a program prefix. 635 636* Fri Jan 8 2016 Mark Wielaard <mjw@redhat.com> 0.165-1 637- elfcompress: New utility to compress or decompress ELF sections. 638- readelf: Add -z,--decompress option. 639- libelf: Add elf_compress, elf_compress_gnu, elf32_getchdr, 640 elf64_getchdr and gelf_getchdr. 641- libdwelf: New function dwelf_scn_gnu_compressed_size. 642- config: Add libelf and libdw pkg-config files. 643- backends: sparc support for core and live backtraces. 644- translations: Updated Polish translation. 645 646* Thu Oct 15 2015 Mark Wielaard <mjw@redhat.com> 0.164-1 647- strip, unstrip: Handle ELF files with merged strtab/shstrtab 648 tables. Handle missing SHF_INFO_LINK section flags. 649- libelf: Use int64_t for offsets in libelf.h instead of loff_t. 650- libdw: dwarf.h Add preliminary DWARF5 DW_LANG_Haskell. 651- libdwfl: dwfl_standard_find_debuginfo now searches any subdir of 652 the binary path under the debuginfo root when the separate 653 debug file couldn't be found by build-id. 654 dwfl_linux_proc_attach can now be called before any Dwfl_Modules 655 have been reported. 656- backends: Better sparc and sparc64 support. 657- translations: Updated Ukrainian translation. 658- Provide default-yama-scope subpackage. 659 660* Fri Jun 19 2015 Mark Wielaard <mjw@redhat.com> 0.163-1 661- Bug fixes only, no new features. 662 663* Wed Jun 10 2015 Mark Wielaard <mjw@redhat.com> 0.162-1 664- libdw: Install new header elfutils/known-dwarf.h. 665 dwarf.h Add preliminary DWARF5 constants DW_TAG_atomic_type, 666 DW_LANG_Fortran03, DW_LANG_Fortran08. dwarf_peel_type now also 667 handles DW_TAG_atomic_type. 668- addr2line: Input addresses are now always interpreted as 669 hexadecimal numbers, never as octal or decimal numbers. 670 New option -a, --addresses to print address before each entry. 671 New option -C, --demangle to show demangled symbols. 672 New option --pretty-print to print all information on one line. 673- ar: CVE-2014-9447 Directory traversal vulnerability in ar 674 extraction. 675- backends: x32 support. 676 677* Thu Dec 18 2014 Mark Wielaard <mjw@redhat.com> 0.161-1 678- libdw: New function dwarf_peel_type. dwarf_aggregate_size now uses 679 dwarf_peel_type to also provide the sizes of qualified types. 680 dwarf_getmacros will now serve either of .debug_macro and 681 .debug_macinfo transparently. New interfaces dwarf_getmacros_off, 682 dwarf_macro_getsrcfiles, dwarf_macro_getparamcnt, and 683 dwarf_macro_param are available for more generalized inspection of 684 macros and their parameters. 685 dwarf.h: Add DW_AT_GNU_deleted, DW_AT_noreturn, DW_LANG_C11, 686 DW_LANG_C_plus_plus_11 and DW_LANG_C_plus_plus_14. 687 688* Mon Aug 25 2014 Mark Wielaard <mjw@redhat.com> 0.160-1 689- libdw: New functions dwarf_cu_getdwarf, dwarf_cu_die. 690 dwarf.h remove non-existing DW_TAG_mutable_type. 691- libdwfl: Handle LZMA .ko.xz compressed kernel modules. 692- unstrip: New option -F, --force to combining files even if some ELF 693 headers don't seem to match. 694- backends: Handle ARM THUMB functions. Add support for ppc64le ELFv2 abi. 695 696* Sat May 17 2014 Mark Wielaard <mjw@redhat.com> 0.159-1 697- stack: New option -d, --debugname to lookup DWARF debuginfo name 698 for frame. New option -i, --inlines to show inlined frames 699 using DWARF debuginfo. 700- libdwelf: New libdwelf.h header for libdw.so DWARF ELF Low-level 701 Functions. New function dwelf_elf_gnu_debuglink, 702 dwelf_dwarf_gnu_debugaltlink, and dwelf_elf_gnu_build_id. 703- libdw: Support for DWZ multifile forms DW_FORM_GNU_ref_alt and 704 DW_FORM_GNU_strp_alt is now enabled by default and no longer 705 experimental. Added new functions dwarf_getalt and dwarf_setalt 706 to get or set the alternative debug file used for the alt FORMs. 707 The dwfl_linux_proc_find_elf callback will now find ELF from 708 process memory for (deleted) files if the Dwfl has process state 709 attached. 710- libdwfl: The dwfl_build_id_find_debuginfo and 711 dwfl_standard_find_debuginfo functions will now try to 712 resolve and set the alternative debug file. 713- backends: Add CFI unwinding for arm. Relies on .debug_frame. 714 Add arm process initial register state compatible mode to AARCH64. 715 Add aarch64 native and core unwind support. 716- other: All separate elfutils-robustify patches have been merged. 717 CVE-2014-0172 Check overflow before calling malloc to uncompress 718 data. 719 720* Fri Jan 3 2014 Mark Wielaard <mjw@redhat.com> 0.158-1 721- libdwfl: dwfl_core_file_report has new parameter executable. 722 New functions dwfl_module_getsymtab_first_global, 723 dwfl_module_getsym_info and dwfl_module_addrinfo. 724 Added unwinder with type Dwfl_Thread_Callbacks, opaque types 725 Dwfl_Thread and Dwfl_Frame and functions dwfl_attach_state, 726 dwfl_pid, dwfl_thread_dwfl, dwfl_thread_tid, dwfl_frame_thread, 727 dwfl_thread_state_registers, dwfl_thread_state_register_pc, 728 dwfl_getthread_frames, dwfl_getthreads, dwfl_thread_getframes 729 and dwfl_frame_pc. 730- addr2line: New option -x to show the section an address was found in. 731- stack: New utility that uses the new unwinder for processes and cores. 732- backends: Unwinder support for i386, x86_64, s390, s390x, ppc and ppc64. 733 aarch64 support. 734 735* Mon Sep 30 2013 Mark Wielaard <mjw@redhat.com> 0.157-1 736- libdw: Add new functions dwarf_getlocations, dwarf_getlocation_attr 737 and dwarf_getlocation_die. 738- readelf: Show contents of NT_SIGINFO and NT_FILE core notes. 739- addr2line: Support -i, --inlines output option. 740- backends: abi_cfi hook for arm, ppc and s390. 741 742* Thu Jul 25 2013 Jan Kratochvil <jan.kratochvil@redhat.com> 0.156-1 743- lib: New macro COMPAT_VERSION_NEWPROTO. 744- libdw: Handle GNU extension opcodes in dwarf_getlocation. 745- libdwfl: Fix STB_GLOBAL over STB_WEAK preference in 746 dwfl_module_addrsym. Add minisymtab support. Add 747 parameter add_p_vaddr to dwfl_report_elf. Use DT_DEBUG 748 library search first. 749- libebl: Handle new core note types in EBL. 750- backends: Interpret NT_ARM_VFP. Implement core file 751 registers parsing for s390/s390x. 752- readelf: Add --elf-section input option to inspect an embedded ELF 753 file. Add -U, --unresolved-address-offsets output control. 754 Add --debug-dump=decodedline support. Accept version 755 8 .gdb_index section format. Adjust output formatting width. 756 When highpc is in constant form print it also as address. 757 Display raw .debug_aranges. Use libdw only for decodedaranges. 758- elflint: Add __bss_start__ to the list of allowed symbols. 759- tests: Add configure --enable-valgrind option to run all tests 760 under valgrind. Enable automake parallel-tests for make check. 761- translations: Updated Polish translation. 762- Updates for Automake 1.13. 763 764* Fri Aug 24 2012 Mark Wielaard <mjw@redhat.com> 0.155-1 765- libelf: elf*_xlatetomd now works for cross-endian ELF note data. 766 elf_getshdr now works consistently on non-mmaped ELF files after 767 calling elf_cntl(ELF_C_FDREAD). Implement support for 768 ar archives with 64-bit symbol table. 769- libdw: dwarf.h corrected the DW_LANG_ObjC constant name (was 770 DW_LANG_Objc). Any existing sources using the old name will 771 have to be updated. Add DW_MACRO_GNU .debug_macro type 772 encodings constants, DW_ATE_UTF and DW_OP_GNU_parameter_ref to 773 dwarf.h. Experimental support for DWZ multifile forms 774 DW_FORM_GNU_ref_alt and DW_FORM_GNU_strp_alt. Disabled by 775 default. Use configure --enable-dwz to test it. 776- readelf: Add .debug_macro parsing support. Add .gdb_index 777 version 7 parsing support. Recognize DW_OP_GNU_parameter_ref. 778- backends: Add support for Tilera TILE-Gx processor. 779- translations: Updated Ukrainian translation. 780 781* Fri Jun 22 2012 Mark Wielaard <mjw@redhat.com> 0.154-1 782- libelf: [g]elf[32|64]_offscn() do not match SHT_NOBITS sections at 783 OFFSET. 784- libdw: dwarf_highpc function now handles DWARF 4 DW_AT_high_pc 785 constant form. Fix bug using dwarf_next_unit to iterate over 786 .debug_types. 787- elflint: Now accepts gold linker produced executables. 788- The license is now GPLv2/LGPLv3+ for the libraries and GPLv3+ for 789 stand-alone programs. There is now also a formal CONTRIBUTING 790 document describing how to submit patches. 791 792* Thu Feb 23 2012 Mark Wielaard <mjw@redhat.com> 0.153-1 793- libdw: Support reading .zdebug_* DWARF sections compressed via zlib. 794- libdwfl: Speed up dwfl_module_addrsym. 795- nm: Support C++ demangling. 796- ar: Support D modifier for "deterministic output" with no 797 uid/gid/mtime info. The U modifier is the inverse. elfutils 798 can be configured with the --enable-deterministic-archives option 799 to make the D behavior the default when U is not specified. 800- ranlib: Support -D and -U flags with same meaning. 801- readelf: Improve output of -wline. Add support for printing SDT elf 802 notes. Add printing of .gdb_index section. Support for 803 typed DWARF stack, call_site and entry_value. 804- strip: Add --reloc-debug-sections option. Improved SHT_GROUP 805 sections handling. 806 807* Tue Feb 15 2011 <drepper@gmail.com> 0.152-1 808- Various build and warning nits fixed for newest GCC and Autoconf. 809- libdwfl: Yet another prelink-related fix for another regression. 810 Look for Linux kernel images in files named with compression 811 suffixes. 812- elfcmp: New flag --ignore-build-id to ignore differing build ID 813 bits. New flag -l/--verbose to print all differences. 814 815* Wed Jan 12 2011 <drepper@gmail.com> 0.151-1 816- libdwfl: Fix for more prelink cases with separate debug file. 817- strip: New flag --strip-sections to remove section headers entirely. 818 819* Mon Nov 22 2010 <drepper@gmail.com> 0.150-1 820- libdw: Fix for handling huge .debug_aranges section. 821- libdwfl: Fix for handling prelinked DSO with separate debug file. 822- findtextrel: Fix diagnostics to work with usual section ordering. 823- libebl: i386 backend fix for multi-register integer return value 824 location. 825 826* Mon Sep 13 2010 <drepper@redhat.com> 0.149-1 827- libdw: Decode new DW_OP_GNU_implicit_pointer operation; new 828 function dwarf_getlocation_implicit_pointer. 829- libdwfl: New function dwfl_dwarf_line. 830- addr2line: New flag -F/--flags to print more DWARF line information 831 details. 832- strip: -g recognizes .gdb_index as a debugging section. 833 834* Mon Jun 28 2010 <drepper@redhat.com> 0.148-1 835- libdw: Accept DWARF 4 format: new functions dwarf_next_unit, 836 dwarf_offdie_types. New functions dwarf_lineisa, 837 dwarf_linediscriminator, dwarf_lineop_index. 838- libdwfl: Fixes in core-file handling, support cores from PIEs. 839 When working from build IDs, don't open a named file that 840 mismatches. 841- readelf: Handle DWARF 4 formats. 842 843* Mon May 3 2010 Ulrich Drepper <drepper@redhat.com> 0.147-1 844- libdw: Fixes in CFI handling, best possible handling of bogus CFA 845 ops. 846- libdwfl: Ignore R_*_NONE relocs, works around old (binutils) ld -r 847 bugs. 848 849* Wed Apr 21 2010 <drepper@redhat.com> 0.146-1 850- libdwfl: New function dwfl_core_file_report. 851 852* Tue Feb 23 2010 Ulrich Drepper <drepper@redhat.com> 0.145-1 853- Fix build with --disable-dependency-tracking. 854- Fix build with most recent glibc headers. 855- libelf: More robust to bogus section headers. 856- libdw: Fix CFI decoding. 857- libdwfl: Fix address bias returned by CFI accessors. Fix core 858 file module layout identification. 859- readelf: Fix CFI decoding. 860 861* Thu Jan 14 2010 <drepper@redhat.com> 0.144-1 862- libelf: New function elf_getphdrnum. Now support using more than 863 65536 program headers in a file. 864- libdw: New function dwarf_aggregate_size for computing (constant) 865 type sizes, including array_type cases with nontrivial 866 calculation. 867- readelf: Don't give errors for missing info under -a. 868 Handle Linux "VMCOREINFO" notes under -n. 869 870* Mon Sep 21 2009 <drepper@redhat.com> 0.143-1 871- libdw: Various convenience functions for individual attributes now 872 use dwarf_attr_integrate to look up indirect inherited 873 attributes. Location expression handling now supports 874 DW_OP_implicit_value. 875- libdwfl: Support automatic decompression of files in XZ format, 876 and of Linux kernel images made with bzip2 or LZMA (as well 877 as gzip). 878 879* Mon Jun 29 2009 <drepper@redhat.com> 0.142-1 880- libelf: Add elf_getshdrnum alias for elf_getshnum and elf_getshdrstrndx alias 881 for elf_getshstrndx and deprecate original names. Sun screwed up 882 their implementation and asked for a solution. 883- libebl: Add support for STB_GNU_UNIQUE. 884- elflint: Add support for STB_GNU_UNIQUE. 885- readelf: Add -N option, speeds up DWARF printing without address->name lookups. 886- libdw: Add support for decoding DWARF CFI into location description form. 887 Handle some new DWARF 3 expression operations previously omitted. 888 Basic handling of some new encodings slated for DWARF 889 890* Thu Apr 23 2009 Ulrich Drepper <drepper@redhat.com> 0.141-1 891- libebl: sparc backend fixes; some more arm backend support 892- libdwfl: fix dwfl_module_build_id for prelinked DSO case; 893 fixes in core file support; dwfl_module_getsym interface 894 improved for non-address symbols 895- strip: fix infinite loop on strange inputs with -f 896- addr2line: take -j/--section=NAME option for binutils compatibility 897 (same effect as '(NAME)0x123' syntax already supported) 898 899* Mon Feb 16 2009 Ulrich Drepper <drepper@redhat.com> 0.140-1 900- libelf: Fix regression in creation of section header 901- libdwfl: Less strict behavior if DWARF reader is just used to 902 display data 903 904* Thu Jan 22 2009 Ulrich Drepper <drepper@redhat.com> 0.139-1 905- libcpu: Add Intel SSE4 disassembler support 906- readelf: Implement call frame information and exception handling 907 dumping. Add -e option. Enable it implicitly for -a. 908- elflint: Check PT_GNU_EH_FRAME program header entry. 909- libdwfl: Support automatic gzip/bzip2 decompression of ELF files. 910 911* Wed Dec 31 2008 Roland McGrath <roland@redhat.com> 0.138-1 912- Install <elfutils/version.h> header file for applications to use in 913 source version compatibility checks. 914- libebl: backend fixes for i386 TLS relocs; backend support for 915 NT_386_IOPERM 916- libcpu: disassembler fixes 917- libdwfl: bug fixes 918- libelf: bug fixes 919- nm: bug fixes for handling corrupt input files 920 921* Tue Aug 26 2008 Ulrich Drepper <drepper@redhat.com> 0.137-1 922- Minor fixes for unreleased 0.136 release. 923 924* Mon Aug 25 2008 Ulrich Drepper <drepper@redhat.com> 0.136-1 925- libdwfl: bug fixes; new segment interfaces; all the libdwfl-based 926 tools now support --core=COREFILE option 927 928* Mon May 12 2008 Ulrich Drepper <drepper@redhat.com> 0.135-1 929- libdwfl: bug fixes 930- strip: changed handling of ET_REL files wrt symbol tables and relocs 931 932* Tue Apr 8 2008 Ulrich Drepper <drepper@redhat.com> 0.134-1 933- elflint: backend improvements for sparc, alpha 934- libdwfl, libelf: bug fixes 935 936* Sat Mar 1 2008 Ulrich Drepper <drepper@redhat.com> 0.133-1 937- readelf, elflint, libebl: SHT_GNU_ATTRIBUTE section handling (readelf -A) 938- readelf: core note handling for NT_386_TLS, NT_PPC_SPE, Alpha NT_AUXV 939- libdwfl: bug fixes and optimization in relocation handling 940- elfcmp: bug fix for non-allocated section handling 941- ld: implement newer features of binutils linker. 942 943* Mon Jan 21 2008 Ulrich Drepper <drepper@redhat.com> 0.132-1 944- libcpu: Implement x86 and x86-64 disassembler. 945- libasm: Add interface for disassembler. 946- all programs: add debugging of branch prediction. 947- libelf: new function elf_scnshndx. 948 949* Sun Nov 11 2007 Ulrich Drepper <drepper@redhat.com> 0.131-1 950- libdw: DW_FORM_ref_addr support; dwarf_formref entry point now depreca 951ted; bug fixes for oddly-formatted DWARF 952- libdwfl: bug fixes in offline archive support, symbol table handling; 953 apply partial relocations for dwfl_module_address_section on 954ET_REL 955- libebl: powerpc backend support for Altivec registers 956 957* Mon Oct 15 2007 Ulrich Drepper <drepper@redhat.com> 0.130-1 958- readelf: -p option can take an argument like -x for one section, 959 or no argument (as before) for all SHF_STRINGS sections; 960 new option --archive-index (or -c); improved -n output for 961core files, on many machines 962- libelf: new function elf_getdata_rawchunk, replaces gelf_rawchunk; 963 new functions gelf_getnote, gelf_getauxv, gelf_update_auxv 964- readelf, elflint: handle SHT_NOTE sections without requiring phdrs 965- elflint: stricter checks on debug sections 966- libdwfl: new functions dwfl_build_id_find_elf, dwfl_build_id_find_debu 967ginfo, dwfl_module_build_id, dwfl_module_report_build_id; suppo 968rt dynamic symbol tables found via phdrs; dwfl_standard_find_de 969buginfo now uses build IDs when available 970- unstrip: new option --list (or -n) 971- libebl: backend improvements for sparc, alpha, powerpc 972 973* Tue Aug 14 2007 Ulrich Drepper <drepper@redhat.com> 0.129-1 974- readelf: new options --hex-dump (or -x), --strings (or -p) 975- addr2line: new option --symbols (or -S) 976 977* Wed Apr 18 2007 Ulrich Drepper <drepper@redhat.com> 0.127-1 978- libdw: new function dwarf_getsrcdirs 979- libdwfl: new functions dwfl_module_addrsym, dwfl_report_begin_add, 980 dwfl_module_address_section 981 982* Mon Feb 5 2007 Ulrich Drepper <drepper@redhat.com> 0.126-1 983- new program: ar 984 985* Mon Dec 18 2006 Ulrich Drepper <drepper@redhat.com> 0.125-1 986- elflint: Compare DT_GNU_HASH tests. 987- move archives into -static RPMs 988- libelf, elflint: better support for core file handling 989 990* Tue Oct 10 2006 Ulrich Drepper <drepper@redhat.com> 0.124-1 991- libebl: sparc backend support for return value location 992- libebl, libdwfl: backend register name support extended with more info 993- libelf, libdw: bug fixes for unaligned accesses on machines that care 994- readelf, elflint: trivial bugs fixed 995 996* Mon Aug 14 2006 Roland McGrath <roland@redhat.com> 0.123-1 997- libebl: Backend build fixes, thanks to Stepan Kasal. 998- libebl: ia64 backend support for register names, return value location 999- libdwfl: Handle truncated linux kernel module section names. 1000- libdwfl: Look for linux kernel vmlinux files with .debug suffix. 1001- elflint: Fix checks to permit --hash-style=gnu format. 1002 1003* Wed Jul 12 2006 Ulrich Drepper <drepper@redhat.com> 0.122-1 1004- libebl: add function to test for relative relocation 1005- elflint: fix and extend DT_RELCOUNT/DT_RELACOUNT checks 1006- elflint, readelf: add support for DT_GNU_HASHlibelf: add elf_gnu_hash 1007- elflint, readelf: add support for 64-bit SysV-style hash tables 1008- libdwfl: new functions dwfl_module_getsymtab, dwfl_module_getsym. 1009 1010* Wed Jun 14 2006 <drepper@redhat.com> 0.121-1 1011- libelf: bug fixes for rewriting existing files when using mmap. 1012- make all installed headers usable in C++ code. 1013- readelf: better output format. 1014- elflint: fix tests of dynamic section content. 1015- ld: Implement --as-needed, --execstack, PT_GNU_STACK. Many small patc 1016hes. 1017- libdw, libdwfl: handle files without aranges info. 1018 1019* Tue Apr 4 2006 Ulrich Drepper <drepper@redhat.com> 0.120-1 1020- Bug fixes. 1021- dwarf.h updated for DWARF 3.0 final specification. 1022- libdwfl: New function dwfl_version. 1023- The license is now GPL for most files. The libelf, libebl, libdw,and 1024libdwfl libraries have additional exceptions. Add reference toOIN. 1025 1026* Thu Jan 12 2006 Roland McGrath <roland@redhat.com> 0.119-1 1027- elflint: more tests. 1028- libdwfl: New function dwfl_module_register_names. 1029- libebl: New backend hook for register names. 1030 1031* Tue Dec 6 2005 Ulrich Drepper <drepper@redhat.com> 0.118-1 1032- elflint: more tests. 1033- libdwfl: New function dwfl_module_register_names. 1034- libebl: New backend hook for register names. 1035 1036* Thu Nov 17 2005 Ulrich Drepper <drepper@redhat.com> 0.117-1 1037- libdwfl: New function dwfl_module_return_value_location. 1038- libebl: Backend improvements for several CPUs. 1039 1040* Mon Oct 31 2005 Ulrich Drepper <drepper@redhat.com> 0.116-1 1041- libdw: New functions dwarf_ranges, dwarf_entrypc, dwarf_diecu, d 1042warf_entry_breakpoints. Removed Dwarf_Func type and functions d 1043warf_func_name, dwarf_func_lowpc, dwarf_func_highpc, dwarf_func_ 1044entrypc, dwarf_func_die; dwarf_getfuncs callback now uses Dwarf_ 1045Die, and dwarf_func_file, dwarf_func_line, dwarf_func_col replac 1046ed by dwarf_decl_file, dwarf_decl_line, dwarf_decl_column; dwarf 1047_func_inline, dwarf_func_inline_instances now take Dwarf_Die. Ty 1048pe Dwarf_Loc renamed to Dwarf_Op; dwarf_getloclist, dwarf_addrlo 1049clists renamed dwarf_getlocation, dwarf_getlocation_addr. 1050 1051* Fri Sep 2 2005 Ulrich Drepper <drepper@redhat.com> 0.115-1 1052- libelf: speed-ups of non-mmap reading. 1053- strings: New program. 1054- Implement --enable-gcov option for configure. 1055- libdw: New function dwarf_getscopes_die. 1056 1057* Wed Aug 24 2005 Ulrich Drepper <drepper@redhat.com> 0.114-1 1058- libelf: new function elf_getaroff 1059- libdw: Added dwarf_func_die, dwarf_func_inline, dwarf_func_inline_inst 1060ances. 1061- libdwfl: New functions dwfl_report_offline, dwfl_offline_section_addre 1062ss, dwfl_linux_kernel_report_offline. 1063- ranlib: new program 1064 1065* Mon Aug 15 2005 Ulrich Drepper <drepper@redhat.com> 0.114-1 1066- libelf: new function elf_getaroff 1067- ranlib: new program 1068 1069* Wed Aug 10 2005 Ulrich Drepper <@redhat.com> 0.113-1 1070- elflint: relax a bit. Allow version definitions for defined symbols ag 1071ainstDSO versions also for symbols in nobits sections. Allow .rodata 1072sectionto have STRINGS and MERGE flag set. 1073- strip: add some more compatibility with binutils. 1074 1075* Sat Aug 6 2005 Ulrich Drepper <@redhat.com> 0.113-1 1076- elflint: relax a bit. Allow version definitions for defined symbols ag 1077ainstDSO versions also for symbols in nobits sections. Allow .rodata 1078sectionto have STRINGS and MERGE flag set. 1079 1080* Sat Aug 6 2005 Ulrich Drepper <@redhat.com> 0.113-1 1081- elflint: relax a bit. Allow version definitions for defined symbols ag 1082ainstDSO versions also for symbols in nobits sections. 1083 1084* Fri Aug 5 2005 Ulrich Drepper <@redhat.com> 0.112-1 1085- elfcmp: some more relaxation. 1086- elflint: many more tests, especially regarding to symbol versioning. 1087- libelf: Add elfXX_offscn and gelf_offscn. 1088- libasm: asm_begin interface changes. 1089- libebl: Add three new interfaces to directly access machine, class, an 1090ddata encoding information. 1091- objdump: New program. Just the beginning. 1092 1093* Thu Jul 28 2005 Ulrich Drepper <@redhat.com> 0.111-1 1094- libdw: now contains all of libdwfl. The latter is not installed anymore. 1095- elfcmp: little usability tweak, name and index of differing section is 1096 printed. 1097 1098* Sun Jul 24 2005 Ulrich Drepper <@redhat.com> 0.110-1 1099- libelf: fix a numbe rof problems with elf_update 1100- elfcmp: fix a few bugs. Compare gaps. 1101- Fix a few PLT problems and mudflap build issues. 1102- libebl: Don't expose Ebl structure definition in libebl.h. It's now p 1103rivate. 1104 1105* Thu Jul 21 2005 Ulrich Drepper <@redhat.com> 0.109-1 1106- libebl: Check for matching modules. 1107- elflint: Check that copy relocations only happen for OBJECT or NOTYPE 1108symbols. 1109- elfcmp: New program. 1110- libdwfl: New library. 1111 1112* Mon May 9 2005 Ulrich Drepper <@redhat.com> 0.108-1 1113- strip: fix bug introduced in last change 1114- libdw: records returned by dwarf_getsrclines are now sorted by address 1115 1116* Sun May 8 2005 Ulrich Drepper <@redhat.com> 0.108-1 1117- strip: fix bug introduced in last change 1118 1119* Sun May 8 2005 Ulrich Drepper <@redhat.com> 0.107-1 1120- readelf: improve DWARF output format 1121- strip: support Linux kernel modules 1122 1123* Fri Apr 29 2005 Ulrich Drepper <drepper@redhat.com> 0.107-1 1124- readelf: improve DWARF output format 1125 1126* Mon Apr 4 2005 Ulrich Drepper <drepper@redhat.com> 0.106-1 1127- libdw: Updated dwarf.h from DWARF3 speclibdw: add new functions dwarf_f 1128unc_entrypc, dwarf_func_file, dwarf_func_line,dwarf_func_col, dwarf_ge 1129tsrc_file 1130 1131* Fri Apr 1 2005 Ulrich Drepper <drepper@redhat.com> 0.105-1 1132- addr2line: New program 1133- libdw: add new functions: dwarf_addrdie, dwarf_macro_*, dwarf_getfuncs 1134,dwarf_func_*. 1135- findtextrel: use dwarf_addrdie 1136 1137* Mon Mar 28 2005 Ulrich Drepper <drepper@redhat.com> 0.104-1 1138- findtextrel: New program. 1139 1140* Mon Mar 21 2005 Ulrich Drepper <drepper@redhat.com> 0.103-1 1141- libdw: Fix using libdw.h with gcc < 4 and C++ code. Compiler bug. 1142 1143* Tue Feb 22 2005 Ulrich Drepper <drepper@redhat.com> 0.102-1 1144- More Makefile and spec file cleanups. 1145 1146* Fri Jan 16 2004 Jakub Jelinek <jakub@redhat.com> 0.94-1 1147- upgrade to 0.94 1148 1149* Fri Jan 16 2004 Jakub Jelinek <jakub@redhat.com> 0.93-1 1150- upgrade to 0.93 1151 1152* Thu Jan 8 2004 Jakub Jelinek <jakub@redhat.com> 0.92-1 1153- full version 1154- macroized spec file for GPL or OSL builds 1155- include only libelf under GPL plus wrapper scripts 1156 1157* Wed Jan 7 2004 Jakub Jelinek <jakub@redhat.com> 0.91-2 1158- macroized spec file for GPL or OSL builds 1159 1160* Wed Jan 7 2004 Ulrich Drepper <drepper@redhat.com> 1161- split elfutils-devel into two packages. 1162 1163* Wed Jan 7 2004 Jakub Jelinek <jakub@redhat.com> 0.91-1 1164- include only libelf under GPL plus wrapper scripts 1165 1166* Tue Dec 23 2003 Jeff Johnson <jbj@redhat.com> 0.89-3 1167- readelf, not readline, in %%description (#111214). 1168 1169* Fri Sep 26 2003 Bill Nottingham <notting@redhat.com> 0.89-1 1170- update to 0.89 (fix eu-strip) 1171 1172* Tue Sep 23 2003 Jakub Jelinek <jakub@redhat.com> 0.86-3 1173- update to 0.86 (fix eu-strip on s390x/alpha) 1174- libebl is an archive now; remove references to DSO 1175 1176* Mon Jul 14 2003 Jeff Johnson <jbj@redhat.com> 0.84-3 1177- upgrade to 0.84 (readelf/elflint improvements, rawhide bugs fixed). 1178 1179* Fri Jul 11 2003 Jeff Johnson <jbj@redhat.com> 0.83-3 1180- upgrade to 0.83 (fix invalid ELf handle on *.so strip, more). 1181 1182* Wed Jul 9 2003 Jeff Johnson <jbj@redhat.com> 0.82-3 1183- upgrade to 0.82 (strip tests fixed on big-endian). 1184 1185* Tue Jul 8 2003 Jeff Johnson <jbj@redhat.com> 0.81-3 1186- upgrade to 0.81 (strip excludes unused symtable entries, test borked). 1187 1188* Thu Jun 26 2003 Jeff Johnson <jbj@redhat.com> 0.80-3 1189- upgrade to 0.80 (debugedit changes for kernel in progress). 1190 1191* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com> 1192- rebuilt 1193 1194* Wed May 21 2003 Jeff Johnson <jbj@redhat.com> 0.79-2 1195- upgrade to 0.79 (correct formats for size_t, more of libdw "works"). 1196 1197* Mon May 19 2003 Jeff Johnson <jbj@redhat.com> 0.78-2 1198- upgrade to 0.78 (libdwarf bugfix, libdw additions). 1199 1200* Mon Feb 24 2003 Elliot Lee <sopwith@redhat.com> 1201- debuginfo rebuild 1202 1203* Thu Feb 20 2003 Jeff Johnson <jbj@redhat.com> 0.76-2 1204- use the correct way of identifying the section via the sh_info link. 1205 1206* Sat Feb 15 2003 Jakub Jelinek <jakub@redhat.com> 0.75-2 1207- update to 0.75 (eu-strip -g fix) 1208 1209* Tue Feb 11 2003 Jakub Jelinek <jakub@redhat.com> 0.74-2 1210- update to 0.74 (fix for writing with some non-dirty sections) 1211 1212* Thu Feb 6 2003 Jeff Johnson <jbj@redhat.com> 0.73-3 1213- another -0.73 update (with sparc fixes). 1214- do "make check" in %%check, not %%install, section. 1215 1216* Mon Jan 27 2003 Jeff Johnson <jbj@redhat.com> 0.73-2 1217- update to 0.73 (with s390 fixes). 1218 1219* Wed Jan 22 2003 Tim Powers <timp@redhat.com> 1220- rebuilt 1221 1222* Wed Jan 22 2003 Jakub Jelinek <jakub@redhat.com> 0.72-4 1223- fix arguments to gelf_getsymshndx and elf_getshstrndx 1224- fix other warnings 1225- re-enable checks on s390x 1226 1227* Sat Jan 11 2003 Karsten Hopp <karsten@redhat.de> 0.72-3 1228- temporarily disable checks on s390x, until someone has 1229 time to look at it 1230 1231* Thu Dec 12 2002 Jakub Jelinek <jakub@redhat.com> 0.72-2 1232- update to 0.72 1233 1234* Wed Dec 11 2002 Jakub Jelinek <jakub@redhat.com> 0.71-2 1235- update to 0.71 1236 1237* Wed Dec 11 2002 Jeff Johnson <jbj@redhat.com> 0.69-4 1238- update to 0.69. 1239- add "make check" and segfault avoidance patch. 1240- elfutils-libelf needs to run ldconfig. 1241 1242* Tue Dec 10 2002 Jeff Johnson <jbj@redhat.com> 0.68-2 1243- update to 0.68. 1244 1245* Fri Dec 6 2002 Jeff Johnson <jbj@redhat.com> 0.67-2 1246- update to 0.67. 1247 1248* Tue Dec 3 2002 Jeff Johnson <jbj@redhat.com> 0.65-2 1249- update to 0.65. 1250 1251* Mon Dec 2 2002 Jeff Johnson <jbj@redhat.com> 0.64-2 1252- update to 0.64. 1253 1254* Sun Dec 1 2002 Ulrich Drepper <drepper@redhat.com> 0.64 1255- split packages further into elfutils-libelf 1256 1257* Sat Nov 30 2002 Jeff Johnson <jbj@redhat.com> 0.63-2 1258- update to 0.63. 1259 1260* Fri Nov 29 2002 Ulrich Drepper <drepper@redhat.com> 0.62 1261- Adjust for dropping libtool 1262 1263* Sun Nov 24 2002 Jeff Johnson <jbj@redhat.com> 0.59-2 1264- update to 0.59 1265 1266* Thu Nov 14 2002 Jeff Johnson <jbj@redhat.com> 0.56-2 1267- update to 0.56 1268 1269* Thu Nov 7 2002 Jeff Johnson <jbj@redhat.com> 0.54-2 1270- update to 0.54 1271 1272* Sun Oct 27 2002 Jeff Johnson <jbj@redhat.com> 0.53-2 1273- update to 0.53 1274- drop x86_64 hack, ICE fixed in gcc-3.2-11. 1275 1276* Sat Oct 26 2002 Jeff Johnson <jbj@redhat.com> 0.52-3 1277- get beehive to punch a rhpkg generated package. 1278 1279* Wed Oct 23 2002 Jeff Johnson <jbj@redhat.com> 0.52-2 1280- build in 8.0.1. 1281- x86_64: avoid gcc-3.2 ICE on x86_64 for now. 1282 1283* Tue Oct 22 2002 Ulrich Drepper <drepper@redhat.com> 0.52 1284- Add libelf-devel to conflicts for elfutils-devel 1285 1286* Mon Oct 21 2002 Ulrich Drepper <drepper@redhat.com> 0.50 1287- Split into runtime and devel package 1288 1289* Fri Oct 18 2002 Ulrich Drepper <drepper@redhat.com> 0.49 1290- integrate into official sources 1291 1292* Wed Oct 16 2002 Jeff Johnson <jbj@redhat.com> 0.46-1 1293- Swaddle. 1294