00001 #ifndef _DataExtender_h_
00002 #define _DataExtender_h_
00003
00004 #include <Generate.h>
00005
00006 class DataExtender : public XCoffFileGen {
00007 public:
00008 DataExtender(XCoffFile* xcoff,char* extension);
00009 virtual ~DataExtender() { }
00010
00011 void selectInstrumentationPoints(char* inpFile) {}
00012 void printInstrumentationPoints() {}
00013 void reserveDataForInstrumentation();
00014 int32_t getDataOffsetForInst(uint32_t idx){ return 0; }
00015
00016 uint32_t getNumOfSharedLibFuncs() { return 0; }
00017 uint32_t byteCountForSharedLibFuncWrappers() { return 0; }
00018 void setAddrOfSharedLibFuncWrapper(uint32_t i,uint64_t addr) {}
00019 uint32_t generateSharedLibFuncWrapper(uint32_t libFuncIdx,uint64_t funcCallAddr,
00020 uint32_t genBufferOffset,BaseGen* gen) { return 0; }
00021
00022 char* getSharedLibFuncName(uint32_t i) { return NULL; }
00023 uint64_t getSharedLibFuncAddrLocation(uint32_t i) { return 0; }
00024 void getSharedLibraryPathAndObj(char** path,char** name,char** obj) {}
00025
00026 void verify(uint32_t written);
00027
00028 uint32_t maxByteCountPerInst() { return 0; }
00029 uint32_t byteCountForInst(uint32_t instPointIdx,uint64_t instStubAddress,TextSection* textSect) { return 0; }
00030 uint32_t generateCodeForInst(uint32_t instPointIdx,uint64_t instStubAddress,TextSection* textSect,
00031 BaseGen* gen,uint32_t genBufferOffset) { return 0; }
00032
00033 void initializeReservedData(DataSection* dataSect,BaseGen* gen) { }
00034
00035 char* getGenClassName() { return "DataExtender"; }
00036 };
00037
00038 #endif