History log of /freebsd-11.0-release/contrib/elftoolchain/libelf/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
303975 11-Aug-2016 gjb

Copy stable/11@r303970 to releng/11.0 as part of the 11.0-RELEASE
cycle.

Prune svn:mergeinfo from the new branch, and rename it to RC1.

Update __FreeBSD_version.

Use the quarterly branch for the default FreeBSD.conf pkg(8) repo and
the dvd1.iso packages population.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

302408 08-Jul-2016 gjb

Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle.
Prune svn:mergeinfo from the new branch, as nothing has been merged
here.

Additional commits post-branch will follow.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


300311 20-May-2016 emaste

Update to ELF Tool Chain r3475

Improvements include:

* Add support for reporting and handling a number of new constants in
various tools, including:
* CloudABI OSABI
* DT_TLSDESC_*
* i386, MIPS, SPARC and amd64 relocations

* C++ demangler bug fixes

* Man page updates

* Improved input validation in several tools

This update also reduces diffs against upstream as a number of fixes
included in upstream were previously cherry-picked into FreeBSD.

Sponsored by: The FreeBSD Foundation


296685 11-Mar-2016 emaste

libelf: correct byte count in cross-endian note translation

MFC after: 1 month
Sponsored by: The FreeBSD Foundation


295577 12-Feb-2016 emaste

Update ELF Tool Chain to upstream rev 3400

Some notable improvements include:

readelf:
- Add AArch64 relocation definitions.
- Report value of unknown relocation types.

elfcopy:
- Consider symbols with STB_GNU_UNIQUE binding as global symbols.
- Fixed support for VMA adjustment for loadable sections found
in relocatable objects.
- Handle nameless global symbols.
- Improve wildcard matching for !-prefixed symbols.
- Add PE/COFF support.

elfdump:
- Improve section type reporting.
- Add MIPS-specific section types.

This update also includes a significant number of bug fixes.

PR: 207091 [exp-run]
Sponsored by: The FreeBSD Foundation


294664 24-Jan-2016 br

Add config for RISC-V ISA.

Reviewed by: emaste
Sponsored by: DARPA, AFRL
Sponsored by: HEIF5
Differential Revision: https://reviews.freebsd.org/D5046


292120 11-Dec-2015 emaste

Update to ELF Tool Chain r3272

Highlights (not already in the FreeBSD tree):
- addr2line: Speed up and support searching inlined functions
- addr2line: Support -i, -a, -p options
- readelf: Add some ARM relocation types
- readelf, libelf: Avoid reading beyond end of buffer/file

Relnotes: Yes
Sponsored by: The FreeBSD Foundation


282918 14-May-2015 emaste

Update to ELF Tool Chain r3197

Highlights:
- Fix man page markup, whitespace, and typos
- Fix sh_info of SHT_GROUP section to point to the correct string
- Improve validation in readelf and elfcopy/strip
- Handle DWARF 4's DW_AT_high_pc in addr2line

Sponsored by: The FreeBSD Foundation


280932 01-Apr-2015 emaste

Update elftoolchain to upstream revision 3179

Some notable changes:
- libdwarf: Fixed DWARF4 line section
- elfcopy: Implement --localize-hidden
- nm: handle object name referenced by DW_AT_specification
- elfcopy: Add --strip-dwo and --extract-dwo options for split DWARF
- readelf: add remaining arm64 dynamic relocation names
- nm: Avoid integer overflow in value comparison

Relnotes: Yes
Sponsored by: The FreeBSD Foundation


278904 17-Feb-2015 emaste

Update elftoolchain to upstream revision 3163

Most of our changes have now been committed upstream, so this change is
largely bookkeeping.

Sponsored by: The FreeBSD Foundation


277249 16-Jan-2015 emaste

Verify that section header offset is not past EOF

MFC After: 1 week
Sponsored by: The FreeBSD Foundation


276785 07-Jan-2015 emaste

libelf: Add arm64 config

Upstream elftoolchain ticket: #470
Submitted by: Andrew Turner
Sponsored by: The FreeBSD Foundation


276524 02-Jan-2015 emaste

libelf: Return an error instead of asserting on an invalid ar file

Upstream elftoolchain ticket 467
http://sourceforge.net/p/elftoolchain/tickets/467/

Reported by: Alexander Cherepanov
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation


276443 31-Dec-2014 emaste

libelf: Rearrange size test to prevent integer overflow

Sponsored by: The FreeBSD Foundation


276427 30-Dec-2014 emaste

Check for multiplication integer overflow in CHECK_EHDR

The initial fix in r276374 is valid only for 64-bit objects. Revert it
and return an error in CHECK_EHDR if the multiplication would overflow.

The original buffer overflow issue was found with the security/afl
fuzzer and has upstream elftoolchain ticket 462. The 32-bit object issue
with r276374 found by antoine@ during an i386 exp-run.

Sponsored by: The FreeBSD Foundation


276374 29-Dec-2014 emaste

libelf: Do not read past end of buffer

Previously a corrupt ELF file could read beyond the end of e_rawfile.

Upstream elftoolchain ticket 462. Found via the security/afl fuzzer.

Sponsored by: The FreeBSD Foundation


276372 29-Dec-2014 emaste

Restore r276252 mdoc fix

It was accidentally reverted in the elftoolchain update (r276371).

Sponsored by: The FreeBSD Foundation


276371 29-Dec-2014 emaste

Update elftoolchain to upstream rev 3130

This includes a number of libdwarf improvements (particularly DWARF4
related) and updates to elftoolchain tools such as strip(1). It also
includes a large number of miscellaneous fixes (memory leaks, sign and
cast warnings, integer overflow and underflow, etc.).

This is a merge of r276167,276170-276172 from the
projects/elftoolchain-update-r3130 branch.

Sponsored by: The FreeBSD Foundation


276252 26-Dec-2014 bapt

mdoc fixes


275430 02-Dec-2014 emaste

libelf: Fix cross-endian ELF note file / memory conversion

The namesz and descsz variables need to be used in native endianness.
The sizes are in native order after swapping in the file to memory case,
and before swapping in the memory to file case.

This issue was identified for r273443, but the change was applied to the
wrong case. Revert r273443 to fix the to-memory case, and apply the
equivalent change to the to-file case.

Sponsored by: DARPA, AFRL
Reviewed by: adrian, brooks, marcel
Differential Revision: https://reviews.freebsd.org/D1257


273443 22-Oct-2014 marcel

Fix the conversion macro for .note sections, broken in the case
the ELF file's byte order is not the native byte order. The
bug is that the variables holding the name and description size
are used (natively) after having been byte-swapped. The fix is
to calculate sz from them just prior to byte-swapping.

Approved by: jkoshy@
Obtained from: Juniper Networks, Inc.


273442 22-Oct-2014 marcel

GCC for PowerPC does not align .note sections to 4 bytes. When
running ctfmerge on its objects, libelf asserts as it expects
.note sections to be 4-byte aligned. Change that expectation.

Approved by: jkoshy@
Obtained from: Juniper Networks, Inc.


261246 28-Jan-2014 kaiw

Merge from projects/elftoolchain: Upgrade libelf and libdwarf to newer
versions from elftoolchain upstream (r2974). Convert ctfconvert to
use the APIs from the new libdwarf and make ctfconvert work with Clang
3.4.

__FreeBSD_version is bumped to 1100006.

A list of notable changes:

[libelf]

* The old libelf source code in lib/libelf has been removed.
Instead, the new libelf is built from contrib/elftoolchain/libelf.
* Manual pages are largely improved.
* Internal implementation was refactored and improved for better
correctness and portability.
* Fixed a few memory leaks.
* Extended with extension APIs `elf_open()` and `elf_openmemory()`.
These APIs are similar to `elf_begin()` and `elf_memory()`
respectively, except that they return an ELF descriptor of kind
`ELF_K_NONE` instead of an error if the object being opened could
not be parsed.
* Implement support for translating sections of type ELF_T_VDEF and
ELF_T_VNEED.
* Improve `elf_update()` to check that the executable header, the
program header table, section contents and the section header table
do not overlap, and to ensure that gaps between extents are
filled with the fill character specified by `elf_fill()`.
* Allow `Elf_Data` descriptors to have types and alignments differing
from their containing section.
* Remove functionality controlled by `LIBELF_TEST_HOOKS`.
* Support processing of BSD-flavor archives.
* Add knowledge of section types `SHT_GNU_ATTRIBUTES` and
`SHT_GNU_LIBLIST`.
* Use elftoolchain style symbol versioning.
* Shared library version is bumped.

[libdwarf]

* The old libdwarf source code in lib/libdwarf has been removed.
Instead, the new libdwarf is built from contrib/elftoolchain/libdwarf.
* Support full DWARF3 and partial DWARF4 parsing.
* Support DWARF2 generation.
* Support for DWARF line number, call frame, location expression,
macro info and address ranges, among other things.
* The APIs for the new libdwarf are mostly compatible with the widely
used LGPL libdwarf. Some of the incompatible APIs from the old
libdwarf are kept as its own extensions. All the APIs are documented.
* Use elftoolchain style symbol versioning.
* Shared library version is bumped.

[ctfconvert]

* Switch to the APIs from the new libdwarf.
* Improve die_mem_offset() so that DW_AT_data_member_location attributes
generated by Clang 3.4 can be handled properly.
* Make use of DW_AT_byte_size attribute of the member DIE to calculate
the bits occupied by the member's type, without actually resolving
the type. This way ctfconvert can deal with the case that Clang 3.4
sometimes emits DIE for struct/union member before emitting the DIE
for the type of that member.

Obtained from: elftoolchain
No objection: -toolchain mailing list


261158 25-Jan-2014 kaiw

Reapply r221569, r233401, r233524 and r255105: Add support for a few
ARM/MIPS ELF section types in _libelf_xlate_shtype().


260848 18-Jan-2014 kaiw

Apply r241720 by ed:

Fix warnings found by -Wmising-variable-declarations.


260792 16-Jan-2014 kaiw

Use FreeBSD's ELF headers instead of the elfdefinitions.h header which
comes with elftoolchain. This version of libelf doesn't need to be
portable; using FreeBSD's own ELF headers will avoid conflicts and
make integration easier.


260697 15-Jan-2014 kaiw

Copy libelf, libdwarf and common files from vendor/ to contrib/.


260684 15-Jan-2014 kaiw

Initial import of elftoolchain r2974.

Obtained from: elftoolchain.org