diff --git a/SConscript b/SConscript index 0c5567653e0434a3dcbccaff1b265b2e020cdbe3..4c3b86e710caa7eba39ffc7a7b425640a81f1aea 100644 --- a/SConscript +++ b/SConscript @@ -80,15 +80,6 @@ libxform=SConscript("xform/SConscript", variant_dir='scons_build/libxform') libtransform=SConscript("libtransform/SConscript", variant_dir='scons_build/libtransform') libIRDB=SConscript("libIRDB/SConscript", variant_dir='scons_build/libIRDB') -if 'build_stars' in env and int(env['build_stars']) == 1: - stars_path=os.environ['SMPSA_HOME'] - stars_sconscript=os.path.join(stars_path,"SConscript"); - argenv=env.Clone() - ARGUMENTS['build_ida']=0 - ARGUMENTS['build_irdb']=1 - Export('argenv') - libstars=SConscript(stars_sconscript, variant_dir='scons_build/stars') - if 'build_tools' not in env or env['build_tools'] is None or int(env['build_tools']) == 1: SConscript("tools/SConscript", variant_dir='scons_build/tools') diff --git a/libMEDSannotation/include/MEDS.hpp b/libMEDSannotation/include/MEDS.hpp index c566808aef1f597f135b02ac6ab498b7ed0f148d..c3b9388027ed400a4f87f290cabde852688f5546 100644 --- a/libMEDSannotation/include/MEDS.hpp +++ b/libMEDSannotation/include/MEDS.hpp @@ -21,10 +21,16 @@ #ifndef _MEDS_H #define _MEDS_H +namespace MEDS_Annotation +{ + class MEDS { public: enum Register { UNKNOWN, EAX, EBX, ECX, EDX }; -} +}; + +} #endif + diff --git a/libMEDSannotation/include/MEDS_AnnotationBase.hpp b/libMEDSannotation/include/MEDS_AnnotationBase.hpp index 8444695f2432524ce987bbe9d517b4a50fd93e4b..7bad605afac0d106b6609370ca5b08d084be1609 100644 --- a/libMEDSannotation/include/MEDS_AnnotationBase.hpp +++ b/libMEDSannotation/include/MEDS_AnnotationBase.hpp @@ -55,7 +55,7 @@ class MEDS_AnnotationBase virtual void init() { m_isValid = false; m_size = 0; } virtual bool isFuncAnnotation() const { return false; } // false by default - virtual bool isFuncPrototypeAnnotation() const { return false; } // false by default +// virtual bool isFuncPrototypeAnnotation() const { return false; } // false by default protected: bool m_isValid; diff --git a/libMEDSannotation/include/MEDS_AnnotationParser.hpp b/libMEDSannotation/include/MEDS_AnnotationParser.hpp index 3c7cd4b7e8f2a97bd291ddca9d1df15694d565f9..1f59cb146b879329e92ba2698153107cbc5b2806 100644 --- a/libMEDSannotation/include/MEDS_AnnotationParser.hpp +++ b/libMEDSannotation/include/MEDS_AnnotationParser.hpp @@ -45,12 +45,12 @@ class MEDS_AnnotationParser void parseFile(const std::string &); /* pass filename */ MEDS_Annotations_t & getAnnotations() { return m_annotations; } MEDS_FuncAnnotations_t & getFuncAnnotations() { return m_func_annotations; } - MEDS_Annotations_t & getFuncPrototypeAnnotations() { return m_func_prototype_annotations; } + //MEDS_Annotations_t & getFuncPrototypeAnnotations() { return m_func_prototype_annotations; } private: MEDS_Annotations_t m_annotations; MEDS_FuncAnnotations_t m_func_annotations; - MEDS_Annotations_t m_func_prototype_annotations; + //MEDS_Annotations_t m_func_prototype_annotations; }; } diff --git a/libMEDSannotation/include/MEDS_FuncPrototypeAnnotation.hpp b/libMEDSannotation/include/MEDS_FuncPrototypeAnnotation.hpp index 8280357dcd00579444077b26fed36bbcf0cd2ae0..583850946ed34f61b61e1899b552abba5fd7a9d3 100644 --- a/libMEDSannotation/include/MEDS_FuncPrototypeAnnotation.hpp +++ b/libMEDSannotation/include/MEDS_FuncPrototypeAnnotation.hpp @@ -82,13 +82,13 @@ class MEDS_Arg { // // Class to handle one function prototype annotations // -class MEDS_FuncPrototypeAnnotation : public MEDS_FuncAnnotation +class MEDS_FuncPrototypeAnnotation : public MEDS_AnnotationBase { public: MEDS_FuncPrototypeAnnotation() { init(); }; MEDS_FuncPrototypeAnnotation(const string &p_rawLine); - virtual ~MEDS_FuncPrototypeAnnotation(){} - virtual bool isFuncPrototypeAnnotation() const { return true; } + virtual ~MEDS_FuncPrototypeAnnotation() {} +// virtual bool isFuncPrototypeAnnotation() const { return true; } virtual const string toString() const { return "func proto: " + m_rawInputLine; } diff --git a/libMEDSannotation/include/VirtualOffset.hpp b/libMEDSannotation/include/VirtualOffset.hpp index 581bccb124e02f68328c06f263d59c847a34f9be..cabc12f221cbe13f9e8744bbb0e02468894f1a47 100644 --- a/libMEDSannotation/include/VirtualOffset.hpp +++ b/libMEDSannotation/include/VirtualOffset.hpp @@ -24,6 +24,9 @@ #include <string> #include <sstream> +namespace MEDS_Annotation +{ + typedef unsigned long long ApplicationAddress; #define DEFAULT_LIBRARY_NAME "a.out" @@ -51,4 +54,6 @@ class VirtualOffset std::string m_libraryName; }; +} + #endif diff --git a/libMEDSannotation/src/MEDS_AnnotationParser.cpp b/libMEDSannotation/src/MEDS_AnnotationParser.cpp index ff684dbebd189a71cb584cc775b695e02be9711d..8b119e49dda6718a54916ac23bb164bc4c52f881 100644 --- a/libMEDSannotation/src/MEDS_AnnotationParser.cpp +++ b/libMEDSannotation/src/MEDS_AnnotationParser.cpp @@ -66,13 +66,7 @@ void MEDS_AnnotationParser::parseFile(istream &p_inputStream) type * annot=new type(line); \ if (annot->isValid()) \ { \ - if(annot->isFuncPrototypeAnnotation()) \ - { \ - MEDS_FuncPrototypeAnnotation* fpannot=dynamic_cast<MEDS_FuncPrototypeAnnotation*>(annot); \ - assert(fpannot); \ - m_func_prototype_annotations.insert(MEDS_Annotations_Pair_t(annot->getVirtualOffset(), annot)); \ - } \ - else if(annot->isFuncAnnotation()) \ + if(annot->isFuncAnnotation()) \ { \ MEDS_FuncAnnotation* fannot=dynamic_cast<MEDS_FuncAnnotation*>(annot); \ assert(fannot); \ diff --git a/libMEDSannotation/src/VirtualOffset.cpp b/libMEDSannotation/src/VirtualOffset.cpp index fe1b616af57f126e851b733adb48f9804b4f9796..1e4ca4f6442438a4de9ec91f326e9c3e4aa25859 100644 --- a/libMEDSannotation/src/VirtualOffset.cpp +++ b/libMEDSannotation/src/VirtualOffset.cpp @@ -24,6 +24,7 @@ #include "VirtualOffset.hpp" using namespace std; +using namespace MEDS_Annotation; VirtualOffset::VirtualOffset() { diff --git a/tools/meds2pdb/meds2pdb.cpp b/tools/meds2pdb/meds2pdb.cpp index 201f3b655e274a41291e4c89861c8a512dca6bc7..bed63cfbd406a9ce00546fb84faffcdf9feaee90 100644 --- a/tools/meds2pdb/meds2pdb.cpp +++ b/tools/meds2pdb/meds2pdb.cpp @@ -339,7 +339,7 @@ void update_function_prototype(vector<wahoo::Function*> functions, char* annotFi if (annotationif.is_open()) { MEDS_AnnotationParser annotationParser(annotationif); - annotations = annotationParser.getFuncPrototypeAnnotations(); + annotations = annotationParser.getAnnotations(); } else { @@ -360,7 +360,7 @@ void update_function_prototype(vector<wahoo::Function*> functions, char* annotFi { if (j >= functions.size()) break; wahoo::Function *f = functions[j]; - int function_id = f->getFunctionID(); + int function_id = f->getFunctionID(); app_iaddr_t functionAddress = f->getAddress(); VirtualOffset vo(functionAddress);