This is a set of the following backports/cherry-picks to support
.note.gnu.property section.
- Display unknown notes. Decode NT_GNU_HWCAP notes.
- Add support for displaying and merging GNU_BUILD_NOTEs.
- Fix snafu parsing GNU_BUILD_NOTEs on ARM and AArch64 architectures.
- Fix reading numeric values from GNU BUILD NOTEs.
- Properly dump NT_GNU_PROPERTY_TYPE_0
- Try harder to find the correct symbol to associate with OPEN GNU BUILD notes.
- Add support for a GNU BUILD note type to record the enum size.
- Update support for GNU BUILD notes so that version notes can contain extra information, and stack protection notes can contain numeric values.
- Add note merging to strip and add code to merge stack size notes.
- Fix shift overflow when parsing an overlarge note value.
- Improve decoding of corrupt/unrecognised gnu build attribute notes.
- Fix off by one error when checking for empty note names.
- Add support for version 2 of the GNU Build Attribute note specification.
- Add test of V2 GNU build attribute notes.
- Always pass a valid section header offset to elf_parse_notes
- Re-apply "elf: Properly compute offsets of note descriptor and next note"
- Work around integer overflows when readelf is checking for corrupt ELF notes when run on a 32-bit host.
- Fix a seg-fault when displaying notes from a prorgam segment. Check for a NULL string section before attempting compute the name of a separate debug info file.
- Properly handle note sections and segments
- ld: Support ELF GNU program properties
- merge_gnu_build_notes reloc deletion
- Add support for v3 binary annotation notes.
- Fix displaying the value associated a GNU BUILD note that uses an ascii name.
- Combine ,gnu.build.attributes.* sections into one .gnu.build.attributes section during linking.
- Improve readelf's selection of a file start symbol when displaying a gnu build attribute.