Atom(class File& f, const char* n, const uint8_t* content, uint64_t sz);
virtual ld::File* file() const { return (ld::File*)&_file; }
- virtual bool translationUnitSource(const char** dir, const char** ) const
- { return false; }
virtual const char* name() const { return _name; }
virtual uint64_t size() const { return _size; }
virtual uint64_t objectAddress() const { return 0; }
{
public:
File(const char* segmentName, const char* sectionName, const char* pth,
- const uint8_t fileContent[], uint64_t fileLength, uint32_t ord,
+ const uint8_t fileContent[], uint64_t fileLength, Ordinal ord,
const char* symbolName="dof")
- : ld::File(pth, 0, ord),
+ : ld::File(pth, 0, ord, Other),
_atom(*this, symbolName, fileContent, fileLength),
_section(segmentName, sectionName, ld::Section::typeDtraceDOF) { }
virtual ~File() {}
for (ld::Fixup::iterator fit = atom->fixupsBegin(), end=atom->fixupsEnd(); fit != end; ++fit) {
switch ( fit->kind ) {
case ld::Fixup::kindStoreX86DtraceCallSiteNop:
- case ld::Fixup::kindStorePPCDtraceCallSiteNop:
case ld::Fixup::kindStoreARMDtraceCallSiteNop:
case ld::Fixup::kindStoreThumbDtraceCallSiteNop:
probeSites.push_back(DTraceProbeInfo(atom, fit->offsetInAtom, fit->u.name));
break;
case ld::Fixup::kindStoreX86DtraceIsEnableSiteClear:
- case ld::Fixup::kindStorePPCDtraceIsEnableSiteClear:
case ld::Fixup::kindStoreARMDtraceIsEnableSiteClear:
case ld::Fixup::kindStoreThumbDtraceIsEnableSiteClear:
isEnabledSites.push_back(DTraceProbeInfo(atom, fit->offsetInAtom, fit->u.name));
ld::Fixup::Kind storeKind = ld::Fixup::kindNone;
switch ( opts.architecture() ) {
- case CPU_TYPE_POWERPC:
- case CPU_TYPE_POWERPC64:
- storeKind = ld::Fixup::kindStoreBigEndian32;
- break;
case CPU_TYPE_I386:
case CPU_TYPE_X86_64:
case CPU_TYPE_ARM:
sectionNamesUsed.insert(sectionName);
char symbolName[strlen(providerName)+64];
sprintf(symbolName, "__dtrace_dof_for_provider_%s", providerName);
- File* f = new File("__TEXT", sectionName, "dtrace", p, dofSectionSize, 0, symbolName);
+ File* f = new File("__TEXT", sectionName, "dtrace", p, dofSectionSize, ld::File::Ordinal::NullOrdinal(), symbolName);
if ( log ) {
fprintf(stderr, "libdtrace created DOF of size %ld\n", dofSectionSize);
}