| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This matches bfd and gold.
Obtained from: ELF Tool Chain r3445
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix a symbol table handling bug in elfcopy: elfcopy puts .symtab,
.strtab and .shstrtab sections in the end of the output object. If
the input objects have more sections after any of these 3 sections,
the section table will be reordered, and in that case the section
symbols should be regenerated for relocations.
The bug is triggered since newer clang puts .strtab section in the
beginning of the object produced.
Ticket: #525
Reported by: royger
Obtained from: ELF Tool Chain r3443
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Merge ELF Tool Chain r3434:
Previously, elfcopy defines:
VMA: section virtual address
LMA: PHDR(p_vaddr)
While binutils(libbfd) defines:
VMA: section virtual address and PHDR(p_vaddr).
LMA: PHDR(p_paddr)
For elfcopy, p_paddr is considered not meaningful and is always set
to the same value as p_vaddr.
elfcopy was implemented that way because I thought p_paddr is not
used/meaningful according to the ELF ABI. However it turned out
p_paddr is at least used in some ELF files, e.g. the FreeBSD kernel.
This change made elfcopy treat p_paddr as LMA, same as libbfd.
(However, some VMA/LMA related command line option still need tweaking
to make them compatible with binutils objcopy. This will be improved
later)
Ticket: #524
And typo fixes in r3435 and r3436.
This fixes the Xen kernel build.
Submitted by: kaiw
Tested by: royger
|
|
|
|
|
| |
MFC after: 1 month
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
| |
Relocation of type SHT_REL must use the current value as addend.
PR: 204084
Obtained from: NetBSD libdwarf_elf_init.c v1.4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
An empty debug link target previously returned a confusing and incorrect
error like "objcopy: fread failed: No error: 0". Now, return an explicit
error.
GNU objcopy allows an empty file as the debug link target. However,
that case is nonsensical so diverging from GNU behaviour is fine.
Reviewed by: bdrewery
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D5541
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the output object is not an ELF file, choose an arbitrary ELF format
for the intermediate file. srec, ihex and binary formats are independent
of class, endianness and machine type so these choices do not affect the
output.
ELF Tool Chain ticket #517
Reviewed by: kai
Obtained from: ELF Tool Chain r3411
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
From ELF for the ARM(R) 64-bit Architecture, table 4-19.
Obtained from: ELF Tool Chain r3386
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
| |
Obtained from: ELF Tool Chain r3387
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
|
|
| |
This would have printed an unknown RISC-V relocation type as a SPARC
relocation.
CID: 1331398
Obtained from: ELF Tool Chain r3283
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
| |
Reviewed by: emaste
Sponsored by: DARPA, AFRL
Sponsored by: HEIF5
Differential Revision: https://reviews.freebsd.org/D5046
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
The change in r291958 was not consistent with GNU objcopy. The start,
end and size symbols created for ELF objects converted from binary need
to include the full filename including the extension, but with the
periods replaced with underscores.
Reviewed by: imp
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D4474
|
|
|
|
|
|
|
|
|
|
|
| |
When converting from binary to ELF, elfcopy creates symbols
_binary_<filename>_start_, _binary_<filename>_end, and
_binary_<filename>_size. For compatibility with GNU objcopy (and to
produce sensible symbol names) the extension must be stripped off.
Reviewed by: imp
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D4238
|
|
|
|
|
|
| |
Reviewed by: kib
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D4356
|
|
|
|
|
| |
Pointy hat to: kan
Obtained from: ELF Tool Chain r3253
|
|
|
|
|
| |
This makes our readelf more useful when looking for TLS-related
issues.
|
|
|
|
|
|
|
|
| |
GCC on MIPS produced a 'may be used uninitialized' warning after
r289071.
Reported by: sbruno
Pointy hat to: emaste
|
|
|
|
|
|
|
|
|
| |
Highlights (not already in the FreeBSD tree):
- addr2line: Fixed multiple memory leaks related to DIE allocation
- readelf: improve sh_link validation
- various man page improvements
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
|
| |
Source: http://www.sco.com/developers/gabi/latest/ch4.eheader.html
Reviewed by: kib
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D3731
|
|
|
|
| |
Submitted by: kib
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some binaries (such as the FreeBSD kernel) contain a mixture of CUs
with and without debug information. Previously translate() exited upon
encountering a CU without debug information. Instead, just move on to
the next CU.
Reported by: royger
Reviewed by: royger
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D3712
|
|
|
|
| |
Noticed by pfg after r286070 (ar and elfdump)
|
|
|
|
|
|
| |
ELF Tool Chain built on FreeBSD's ar and elfdump, but has a number of
improvements and enhancements. Bring them into contrib in order to start
integrating into our build.
|
|
|
|
|
|
|
|
|
|
|
| |
ELF Tool Chain tickets #439, #444, #445, #467
Reported by: Alexander Cherepanov <cherepan@mccme.ru> (#467)
Reported by: antiAgainst (others)
Reviewed by: brooks
MFC after: 1 month
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D2338
|
|
|
|
|
|
|
| |
EM_RISCV is now officially registered as e_machine 243.
MFC after: 1 month
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
| |
3.7.0.
Reviewed by: emaste
|
|
|
|
|
|
|
|
|
|
|
|
| |
As of LLVM revision 238073, LLVM stores symbols and section names in
the same string table. From the upstream commit mesage:
With the scheme of naming sections like ".text.foo" where foo is a
symbol, there is a big potential saving in using a single one.
This is a cherry-pick of ELF Tool Chain revision 3225.
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Highlights (upstream revisions):
- Fix SHT_GROUP handling in elfcopy/strip (3206 3220 3221)
- Misc elfcopy / strip bug fixes (3215 3216 3217)
- Many C++ demangler improvements (3199 3200 3201 3202 3203 3204 3205
3208 3210 3211 3212)
- Improve GNU binutils compatibility in elfcopy / strip (3213 3214)
- Add -g option to readelf(1): dump contents of section groups (3219)
- Add EM_IAMCU 32-bit Intel MCU (3198)
Also add a compat #define for building with older FreeBSD ELF headers.
The GRP_COMDAT flag was added to elf_common.h in r283110, but it's not
available during the bootstrap build. It is also convenient to be able
to build on older hosts.
Thanks to antoine@ for tracking down issues through multiple exp-runs
and to kaiw@ for fixing.
PR: 198611 (exp-run), 200350
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This can occur when DW_AT_specification is used to refer to another DIE
that provides the actual DW_AT_name string. For example:
< 3><0x00000086> DW_TAG_subprogram
DW_AT_name PrettyStackTraceEntry
...
< 1><0x00002cf4> DW_TAG_subprogram
DW_AT_specification <0x00000086>
We will need to add support for DW_AT_specification, but in the interim
we should not segfault.
Obtained from: Elftoolchain (r3170)
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
| |
Most of our changes have now been committed upstream, so this change is
largely bookkeeping.
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some architectures use .rel relocations (for debug data), so they must
be handled.
This was discovered from ctfconvert on ARM object files. The lack of
relocation handling caused all string lookups to return the string at
offset 0 in .debug_str, typically "FreeBSD clang version ..."
Reviewed by: gnn, imp, rpaulo (earlier version)
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D1819
|
|
|
|
|
|
| |
Reviewed by: kib, rpaulo
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D1826
|
|
|
|
|
|
| |
Reviewed by: andrew, rpaulo
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D1817
|
|
|
|
|
|
|
|
|
|
|
| |
Strip is often used to modify existing files, rather than creating new
files. If the existing file has hard links or is a symbolic link, act as
if editing the file in place and preserve the links.
Reported by: luigi
Reviewed by: imp, rpaulo
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D1682
|
|
|
|
|
|
|
| |
PR: 196918
Reviewed by: dim
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D1570
|
|
|
|
|
| |
MFC After: 1 week
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
|
| |
According to ELF ABI, alignment 0 and 1 has the same meaning: the
section has no alignment constraints.
PR: 196715
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
| |
Reported by: Coverity
CID: 1193315
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
|
|
|
|
| |
Submitted by: jkim
|
|
|
|
|
|
| |
Upstream elftoolchain ticket: #470
Submitted by: Andrew Turner
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
|
|
|
|
| |
Previously elftoolchain readelf(1) produced correct description text
only for Linux note types.
Upstream elftoolchain ticket #473
Differential Revision: https://reviews.freebsd.org/D1428
Reviewed by: kib
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
|
|
| |
Certain tools spawn addr2line and pass addresses one at a time for
resolution.
PR: 195561
Reported by: antoine
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
|
|
|
| |
In general 64-bit ELF notes use 4-byte padding, not 8, despite what is
claimed in various specs.
Upstream elftoolchain ticket 472
https://sourceforge.net/p/elftoolchain/tickets/472/
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
|
|
| |
Upstream elftoolchain ticket 467
http://sourceforge.net/p/elftoolchain/tickets/467/
Reported by: Alexander Cherepanov
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
| |
Upstream elftoolchain brings in stdint.h via an ELF header that we
do not use in FreeBSD.
Sponsored by: The FreeBSD Foundation
|