Fix -Wmissing-variable-declarations compiler warnings.References:https://www.illumos.org/issues/3700
Follow up to r247960 and rr247960 by also amending ctfmerge. For theonly other case where STT_FILE symbols are used, in symit_next() incddl/contrib/opensolaris/tools/ctf/cvt/input.c, save the base
Follow up to r247960 and rr247960 by also amending ctfmerge. For theonly other case where STT_FILE symbols are used, in symit_next() incddl/contrib/opensolaris/tools/ctf/cvt/input.c, save the basename of thesymbol, instead of the full pathname.Reported by: avgTested by: avg, jimharrisMFC after: 1 week
show more ...
Fix error in r247960: actually assign the basename to match.iim_file.Pointed out by: avgPointy hat to: dimMFC after: 1 weekX-MFC-With: r247960
Make ctfconvert work correctly on clang-compiled object files. Clangputs the full original source filename in the STT_FILE entry of the ELFsymbol table, while gcc saves only the basename.Since t
Make ctfconvert work correctly on clang-compiled object files. Clangputs the full original source filename in the STT_FILE entry of the ELFsymbol 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, formatching with the STT_FILE entry. So when attempting to match with suchan entry, use its basename, if necessary.Reported by: avgMFC after: 1 week
Maintain target's byte order for multi-byte fields in CTF structures.CTF format is not cross-platform by design, e.g. it is not guaranteedthat data generated by ctfconvert/ctfmerge on one architec
Maintain target's byte order for multi-byte fields in CTF structures.CTF format is not cross-platform by design, e.g. it is not guaranteedthat data generated by ctfconvert/ctfmerge on one architecture willbe successfuly read on another. CTF structures are saved/restoredusing 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 sameon amd64/i386/mips32/mips64. It's different on ARM though. sparc, ia64,powerpc, and powerpc64 were not tested. So in order to get file compatiblewith dtrace on ARM it should be compiled on ARM. Alternative solution wouldbe to have "signatures" for every platform and ctfmerge should convert host'sreperesentation of CTF structure to target's one using "signature" as template.This patch checks byte order of ELF files used for generating CTF recordand makes sure that byte order of data written to resulting files is the sameas target's byte order.
In cddl/contrib/opensolaris/tools/ctf/cvt/ctfmerge.c, a size_t is passedto fprintf as a field width. It should be an int instead, so cast it.MFC after: 1 week
MFV OpenSolaris DTrace userland bits.
Catch up with r210324. d_buf will be NULL for SHT_NOBITS sections, do notattempt to copy from it in that case.MFC after: 1 month
Do not encode more than CTF_MAX_VLEN(1023) enum members.CTF can not represent enums with more than CTF_MAX_VLEN members, butctfconvert will happily ignore that limitation and create CTF section no
Do not encode more than CTF_MAX_VLEN(1023) enum members.CTF can not represent enums with more than CTF_MAX_VLEN members, butctfconvert will happily ignore that limitation and create CTF section noother tool can interpret.This change is different from similar change from upstream, which justreturns an error if big enum is encountered. Doing that means thatevery FreeBSD kernel with compiled in hwpmc will have no useable CTFinformation due to pmc_event enum having 1236+ members.
A lot of changes to make this code compile cleanly on FreeBSD.
Use FreeBSD's libdwarf which is BSD licensed instead of the GPL'd one thatis used in Solaris.
We need to be consistent with prototype definitions. It isn't OK touse 'const' and just override it whenever we feel like it. If we useit at all, then we need to do it properly.Add a couple of fu
We need to be consistent with prototype definitions. It isn't OK touse 'const' and just override it whenever we feel like it. If we useit at all, then we need to do it properly.Add a couple of functions that were useful in getting this code ported.
This commit was generated by cvs2svn to compensate for changes in r178528,which included commits to RCS files with non-trunk default branches.
This commit was generated by cvs2svn to compensate for changes in r178481,which included commits to RCS files with non-trunk default branches.
123