Hi Bill,
Adding Type.h didn't change the behaviour unless it needs to be in a
specific location in the include block?
This is the front-end build for MIC, so it is a x86_64 build.
I don't have this problem on my x864_64 laptop though.
Jim G
grep typeRef */*/*
dyninstAPI/src/BPatch_typePrivate.h:#define DYNINST_CLASS_NAME
BPatch_typeRef
dyninstAPI/src/BPatch_typePrivate.h:class BPATCH_DLL_EXPORT
BPatch_typeRef : public BPatch_type, public
BPatch_fieldListInterface, public BPatch_rangedInterface {
dyninstAPI/src/BPatch_typePrivate.h: BPatch_typeRef(int _ID,
BPatch_type *_refType, const char *_name = NULL);
dyninstAPI/src/BPatch_typePrivate.h: ~BPatch_typeRef() {
refType->decrRefCount(); }
symtabAPI/doc/2-Abstractions.tex: node [class2] (typeRef)
{typeRef}
symtabAPI/doc/2-Abstractions.tex: node [class2, below
of=typeRef] (typePointer) {typePointer}
symtabAPI/doc/symtab-text.txt:typeRef *getRefType()
symtabAPI/doc/symtab-text.txt: If this Type object represents a
Reference type, then return the object casting the Type object to
typeRef otherwise return NULL.
symtabAPI/doc/symtab-text.txt:6.2.7.3 Class typeRef
symtabAPI/doc/symtab-text.txt:static typeRef *create(string
&name, Type *ptr, int size,
symtabAPI/h/Type.h:class typeRef;
symtabAPI/h/Type.h: typeRef *getRefType();
symtabAPI/h/Type.h:class SYMTAB_EXPORT typeRef : public derivedType
{
symtabAPI/h/Type.h: typeRef();
symtabAPI/h/Type.h: typeRef(typeId_t ID, Type *refType,
std::string name);
symtabAPI/h/Type.h: typeRef(Type *refType, std::string name);
symtabAPI/h/Type.h: static typeRef *create(std::string &name,
Type *ptr, Symtab * obj = NULL);
symtabAPI/src/Type.C: max_size = MAX(sizeof(typeRef), max_size);
symtabAPI/src/Type.C:typeRef *Type::getRefType(){
symtabAPI/src/Type.C: return dynamic_cast<typeRef *>(this);
symtabAPI/src/Type.C: if (getRefType()) return
std::string("typeRef");
symtabAPI/src/Type.C:typeRef::typeRef(int ID, Type *refType,
std::string name) :
symtabAPI/src/Type.C:typeRef::typeRef(Type *refType, std::string
name) :
symtabAPI/src/Type.C:typeRef *typeRef::create(std::string &name,
Type *ref, Symtab *obj)
symtabAPI/src/Type.C: typeRef *typ = new typeRef(ref, name);
symtabAPI/src/Type.C:bool typeRef::operator==(const Type &otype)
const {
symtabAPI/src/Type.C: const typeRef &oReftype =
dynamic_cast<const typeRef &>(otype);
symtabAPI/src/Type.C:bool typeRef::isCompatible(Type *otype) {
symtabAPI/src/Type.C: typeRef *oReftype = dynamic_cast< typeRef
*>(otype);
symtabAPI/src/Type.C:void typeRef::fixupUnknowns(Module *module)
symtabAPI/src/Type.C:typeRef::typeRef() {}
symtabAPI/src/Type.C: newt = new typeRef(ID_, NULL,
name_);
symtabAPI/src/Type.C:void typeRef::serialize_specific(SerializerBase
*sb) THROW_SPEC(SerializerError)
symtabAPI/src/Type.C: ifxml_start_element(sb, "typeRef");
symtabAPI/src/Type.C: ifxml_end_element(sb, "typeRef");
symtabAPI/src/Type.C:void typeRef::serialize_specific(SerializerBase
*) THROW_SPEC(SerializerError)
symtabAPI/src/dwarfWalker.C: indirectType = new
typeRef(type_id(), typePointedTo, curName());
symtabAPI/src/dwarfWalker.C: indirectType =
tc()->addOrUpdateType((typeRef *) indirectType );
symtabAPI/src/parseStab.C: typeRef *newType = new typeRef(ID,
ptrType, tName);
PBS maia97 50>
symtabAPI/src/Object-elf.C:#include "Type.h"
symtabAPI/src/Object.C:#include "Type.h"
symtabAPI/src/Type.C:#include "Type.h"
symtabAPI/src/dwarfWalker.C:#include "Type.h"
symtabAPI/src/parseDwarf.C:#include "Type.h"
dyninstAPI/src/BPatch_module.C:#include "symtabAPI/h/Type.h" //
For BPatch_type related stuff
dyninstAPI/src/BPatch_snippet.C:#include "symtabAPI/h/Type.h"
On 07/06/2016 11:04 AM, Bill Williams
wrote:
On 07/05/2016 09:11 PM, Jim
Galarowicz wrote:
Hi Bill,
Thanks! Adding the .c_str() got me quite a bit farther.
Now I'm getting this error.
Hrm. First question is whether adding "Type.h" to the include
block fixes this--I'm surprised gnu doesn't have an issue with
this instantiation.
--bw
Jim G
[ 26%] Building CXX object
symtabAPI/CMakeFiles/symtabAPI.dir/src/emitElfStatic.C.o
[ 26%] Building CXX object
symtabAPI/CMakeFiles/symtabAPI.dir/src/dwarfWalker.C.o
[ 26%] Building CXX object
symtabAPI/CMakeFiles/symtabAPI.dir/src/emitElfStatic-x86.C.o
[ 27%] Building CXX object
symtabAPI/CMakeFiles/symtabAPI.dir/src/relocationEntry-elf-x86.C.o
Linking CXX shared library libsymtabAPI.so
CMakeFiles/symtabAPI.dir/src/dwarfWalker.C.o: In function
`Dyninst::SymtabAPI::DwarfWalker::parseTypeReferences()':
/nobackupnfs2/jgalarow/OpenSpeedShop_ROOT/BUILD/maia98/dyninst-9.2.0/symtabAPI/src/dwarfWalker.C:1270:
undefined reference to `Dyninst::SymtabAPI::typeRef*
Dyninst::SymtabAPI::typeCollection::addOrUpdateType<Dyninst::SymtabAPI::typeRef>(Dyninst::SymtabAPI::typeRef*)'
make[2]: *** [symtabAPI/libsymtabAPI.so.9.2.0] Error 1
make[1]: *** [symtabAPI/CMakeFiles/symtabAPI.dir/all] Error 2
make: *** [all] Error 2
[ 0%] Building DyninstRT
|
|