path: root/cddl/contrib/opensolaris/tools/ctf/cvt
Commit message (Collapse)AuthorAgeFilesLines
* Fix error in r247960: actually assign the basename to match.iim_file.Dimitry Andric2013-03-071-2/+1
| | | | | | | | | | Pointed out by: avg Pointy hat to: dim MFC after: 1 week X-MFC-With: r247960 Notes: svn path=/head/; revision=247962
* Make ctfconvert work correctly on clang-compiled object files. ClangDimitry Andric2013-03-071-0/+3
| | | | | | | | | | | | | | | | 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
* Maintain target's byte order for multi-byte fields in CTF structures.Oleksandr Tymoshenko2012-03-244-3/+121
| | | | | | | | | | | | | | | | | | | | | | | 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
* In cddl/contrib/opensolaris/tools/ctf/cvt/ctfmerge.c, a size_t is passedDimitry Andric2011-12-161-1/+1
| | | | | | | | | 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
* MFV OpenSolaris DTrace userland bits.Rui Paulo2010-08-025-31/+78
| | | | Notes: svn path=/head/; revision=210767
* Catch up with r210324. d_buf will be NULL for SHT_NOBITS sections, do notNavdeep Parhar2010-07-231-1/+1
| | | | | | | | | attempt to copy from it in that case. MFC after: 1 month Notes: svn path=/head/; revision=210438
* Do not encode more than CTF_MAX_VLEN(1023) enum members.Alexander Kabaev2010-05-031-1/+8
| | | | | | | | | | | | | | 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
* A lot of changes to make this code compile cleanly on FreeBSD.John Birrell2008-04-2621-222/+339
| | | | Notes: svn path=/head/; revision=178546
* Use FreeBSD's libdwarf which is BSD licensed instead of the GPL'd one thatJohn Birrell2008-04-261-137/+105
| | | | | | | is used in Solaris. Notes: svn path=/head/; revision=178545
* We need to be consistent with prototype definitions. It isn't OK toJohn Birrell2008-04-261-8/+55
| | | | | | | | | | 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
* This commit was generated by cvs2svn to compensate for changes in r178528,John Birrell2008-04-2623-499/+367
| | | | | | | which included commits to RCS files with non-trunk default branches. Notes: svn path=/head/; revision=178529
* This commit was generated by cvs2svn to compensate for changes in r178481,John Birrell2008-04-2530-0/+11929
which included commits to RCS files with non-trunk default branches. Notes: svn path=/head/; revision=178482