| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Notes:
svn path=/projects/elftoolchain/; revision=260795
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2942 CTF tools need to handle files which legitimately lack data
2978 ctfconvert still needs to ignore legitimately dataless files on SPARC
Illumos Revisions: 13745:6b3106b4250f
13754:7231b684c18b
Reference:
https://www.illumos.org/issues/2942
https://www.illumos.org/issues/2978
MFC after: 3 weeks
Notes:
svn path=/head/; revision=254941
|
|
|
|
|
|
|
|
| |
Pointed out by: avg
MFC after: 1 month
Notes:
svn path=/head/; revision=253678
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GCC can generate bogus dwarf attributes with DW_AT_byte_size
set to 0xFFFFFFFF.
The issue was originaly detected in NetBSD but it has been
adapted for portability and to avoid compiler warnings.
Reference:
https://www.illumos.org/issues/3776
Obtained from: NetBSD
MFC after: 1 month
Notes:
svn path=/head/; revision=253661
|
|
|
|
|
|
|
|
| |
References:
https://www.illumos.org/issues/3700
Notes:
svn path=/head/; revision=249656
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
only other case where STT_FILE symbols are used, in symit_next() in
cddl/contrib/opensolaris/tools/ctf/cvt/input.c, save the basename of the
symbol, instead of the full pathname.
Reported by: avg
Tested by: avg, jimharris
MFC after: 1 week
Notes:
svn path=/head/; revision=248991
|
|
|
|
|
|
|
|
|
|
| |
Pointed out by: avg
Pointy hat to: dim
MFC after: 1 week
X-MFC-With: r247960
Notes:
svn path=/head/; revision=247962
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
puts the full original source filename in the STT_FILE entry of the ELF
symbol table, while gcc saves only the basename.
Since the DWARF DW_AT_name attribute contains the full source filename,
both for clang and gcc, ctfconvert takes just the basename of it, for
matching with the STT_FILE entry. So when attempting to match with such
an entry, use its basename, if necessary.
Reported by: avg
MFC after: 1 week
Notes:
svn path=/head/; revision=247960
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CTF format is not cross-platform by design, e.g. it is not guaranteed
that data generated by ctfconvert/ctfmerge on one architecture will
be successfuly read on another. CTF structures are saved/restored
using naive approach. Roughly it looks like:
write(fd, &ctf_struct, sizeof(ctf_struct))
read(fd, &ctf_struct, sizeof(ctf_struct))
By sheer luck memory layout of all type-related CTF structures is the same
on amd64/i386/mips32/mips64. It's different on ARM though. sparc, ia64,
powerpc, and powerpc64 were not tested. So in order to get file compatible
with dtrace on ARM it should be compiled on ARM. Alternative solution would
be to have "signatures" for every platform and ctfmerge should convert host's
reperesentation of CTF structure to target's one using "signature" as template.
This patch checks byte order of ELF files used for generating CTF record
and makes sure that byte order of data written to resulting files is the same
as target's byte order.
Notes:
svn path=/head/; revision=233407
|
|
|
|
|
|
|
|
|
| |
to fprintf as a field width. It should be an int instead, so cast it.
MFC after: 1 week
Notes:
svn path=/head/; revision=228597
|
|
|
|
| |
Notes:
svn path=/head/; revision=210767
|
|
|
|
|
|
|
|
|
| |
attempt to copy from it in that case.
MFC after: 1 month
Notes:
svn path=/head/; revision=210438
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CTF can not represent enums with more than CTF_MAX_VLEN members, but
ctfconvert will happily ignore that limitation and create CTF section no
other tool can interpret.
This change is different from similar change from upstream, which just
returns an error if big enum is encountered. Doing that means that
every FreeBSD kernel with compiled in hwpmc will have no useable CTF
information due to pmc_event enum having 1236+ members.
Notes:
svn path=/head/; revision=207578
|
|
|
|
| |
Notes:
svn path=/head/; revision=178546
|
|
|
|
|
|
|
| |
is used in Solaris.
Notes:
svn path=/head/; revision=178545
|
|
|
|
|
|
|
|
|
|
| |
use 'const' and just override it whenever we feel like it. If we use
it at all, then we need to do it properly.
Add a couple of functions that were useful in getting this code ported.
Notes:
svn path=/head/; revision=178544
|
|
|
|
|
|
|
| |
which included commits to RCS files with non-trunk default branches.
Notes:
svn path=/head/; revision=178529
|
|
which included commits to RCS files with non-trunk default branches.
Notes:
svn path=/head/; revision=178482
|