dyninst.git
6 years agosymtabAPI: un-name a few unused parameter to avoid warnings
Josh Stone [Fri, 30 Aug 2013 22:24:58 +0000 (15:24 -0700)]
symtabAPI: un-name a few unused parameter to avoid warnings

symtabAPI/src/emitElfStatic-x86.C:88:13: warning: unused parameter ‘errMsg’ [-Wunused-parameter]
 static bool computeCtorDtorAddress(relocationEntry &rel, Offset globalOffset,
             ^
symtabAPI/src/emitElfStatic-x86.C:619:6: warning: unused parameter ‘lmap’ [-Wunused-parameter]
 bool emitElfStatic::createNewCtorRegion(LinkMap &lmap) {
      ^
symtabAPI/src/emitElfStatic-x86.C:651:6: warning: unused parameter ‘lmap’ [-Wunused-parameter]
 bool emitElfStatic::createNewDtorRegion(LinkMap &lmap) {
      ^

6 years agocommon: fix a visibility warning on P_cplus_demangle
Josh Stone [Fri, 30 Aug 2013 22:17:12 +0000 (15:17 -0700)]
common: fix a visibility warning on P_cplus_demangle

The attribute is ignored on function definitions, but COMMON_EXPORT
is already tagged on the declaration in linuxKludges.h anyway.

common/src/linuxKludges.C:183:23: warning: ‘visibility’ attribute ignored on non-class types [-Wattributes]
     bool includeTypes )
                       ^

6 years agoMerge remote-tracking branch 'origin/master' into warnings
Josh Stone [Tue, 17 Sep 2013 22:51:34 +0000 (15:51 -0700)]
Merge remote-tracking branch 'origin/master' into warnings

6 years agoMore gcc 4.8 fixes.
Bill Williams [Mon, 16 Sep 2013 18:29:57 +0000 (13:29 -0500)]
More gcc 4.8 fixes.

* Check whether snippet handles are empty and return NULL when inserting if so.
* BPatch_functions have params in both alpha and parameter order; getParams should return them in parameter order.
* DWARF 4 includes a (base, size) form for address ranges, as well as the (low, high) form that we had previously. Recognize this and handle accordingly.

6 years agoCMake patches: only install libdwarf/libelf if we built, and use local mirror for...
Bill Williams [Fri, 6 Sep 2013 19:19:52 +0000 (14:19 -0500)]
CMake patches: only install libdwarf/libelf if we built, and use local mirror for libdwarf rather than unreliable sgiweb site

6 years agoAdd libdl link dependency to proccontrol.
Bill Williams [Thu, 5 Sep 2013 22:24:04 +0000 (17:24 -0500)]
Add libdl link dependency to proccontrol.

6 years agoImprove retExpr type checking: disallow insertion at exit points of void functions.
Bill Williams [Thu, 5 Sep 2013 22:23:37 +0000 (17:23 -0500)]
Improve retExpr type checking: disallow insertion at exit points of void functions.

6 years agoAdd RelWithDebugInfo configuration.
Bill Williams [Wed, 4 Sep 2013 15:54:44 +0000 (10:54 -0500)]
Add RelWithDebugInfo configuration.

6 years agoBug fixes surrounding trap generation: postcondition of addTrap is that the codegen...
Bill Williams [Wed, 4 Sep 2013 15:54:08 +0000 (10:54 -0500)]
Bug fixes surrounding trap generation: postcondition of addTrap is that the codegen parameter contains the necessary changes to the address space (including none, in the dynamic mode case). Always add that codegen to the list of changes to apply. Respect user-level "useTraps" interface.

6 years agoTrap handling update: always respect the BPatch flag unless built without cap_mutatee...
Bill Williams [Tue, 3 Sep 2013 18:50:21 +0000 (13:50 -0500)]
Trap handling update: always respect the BPatch flag unless built without cap_mutatee_traps.

6 years agoRemove spurious output
Bill Williams [Fri, 23 Aug 2013 18:56:59 +0000 (13:56 -0500)]
Remove spurious output

6 years agoRedid static ctor/dtor handling to be compatible with init_array/fini_array as well...
Bill Williams [Thu, 22 Aug 2013 21:29:21 +0000 (16:29 -0500)]
Redid static ctor/dtor handling to be compatible with init_array/fini_array as well as ctors/dtors.

6 years agoAdd static targets
Bill Williams [Thu, 22 Aug 2013 16:38:25 +0000 (11:38 -0500)]
Add static targets

6 years agoRemove AIX code from RTlib tramp guard init
Bill Williams [Thu, 22 Aug 2013 15:35:11 +0000 (10:35 -0500)]
Remove AIX code from RTlib tramp guard init

6 years agoMerge branch 'symbol_visibility'
Bill Williams [Tue, 20 Aug 2013 16:13:09 +0000 (11:13 -0500)]
Merge branch 'symbol_visibility'

6 years agoAdded optimization flags for Windows release
Bill Williams [Tue, 20 Aug 2013 16:12:09 +0000 (11:12 -0500)]
Added optimization flags for Windows release

6 years agoMerge branch 'master' of ssh://git.dyninst.org/pub/dyninst
Bill Williams [Mon, 19 Aug 2013 15:22:29 +0000 (10:22 -0500)]
Merge branch 'master' of ssh://git.dyninst.org/pub/dyninst

6 years agoMerge
Bill Williams [Mon, 19 Aug 2013 15:17:50 +0000 (10:17 -0500)]
Merge

6 years agoRemove incorrect export declaration
Bill Williams [Fri, 9 Aug 2013 17:59:09 +0000 (12:59 -0500)]
Remove incorrect export declaration

6 years agoAdd newer versions to Boost_ADDITIONAL_VERSIONS
Bill Williams [Mon, 5 Aug 2013 20:04:43 +0000 (15:04 -0500)]
Add newer versions to Boost_ADDITIONAL_VERSIONS

6 years agoEnable verbose FindBoost
Bill Williams [Mon, 5 Aug 2013 19:39:06 +0000 (14:39 -0500)]
Enable verbose FindBoost

6 years agoExternalize dwarf/elf, search for PIC libiberty
Bill Williams [Fri, 26 Jul 2013 15:34:09 +0000 (10:34 -0500)]
Externalize dwarf/elf, search for PIC libiberty

6 years agoAppend RTlib properties, don't overwrite
Bill Williams [Mon, 22 Jul 2013 19:41:46 +0000 (14:41 -0500)]
Append RTlib properties, don't overwrite

6 years agoAdded -fvisibility=hidden to Linux builds, with export macros added in appropriate...
Bill Williams [Wed, 12 Jun 2013 21:19:30 +0000 (16:19 -0500)]
Added -fvisibility=hidden to Linux builds, with export macros added in appropriate places.

6 years agoMerge branch 'symtab_destruct_fix'
Xiaozhu Meng [Fri, 2 Aug 2013 16:31:22 +0000 (11:31 -0500)]
Merge branch 'symtab_destruct_fix'

This merge fixes the memory corruption problem happending in Symtab object destruction

6 years agoFix compilation errors with RHEL 5 systems
Matthew LeGendre [Mon, 29 Jul 2013 22:56:01 +0000 (15:56 -0700)]
Fix compilation errors with RHEL 5 systems

6 years agoFix issues with getting bad file/line callsite info for inlined functions
Matthew LeGendre [Tue, 23 Jul 2013 22:23:31 +0000 (15:23 -0700)]
Fix issues with getting bad file/line callsite info for inlined functions

6 years agoClean up properties
Bill Williams [Mon, 22 Jul 2013 20:58:23 +0000 (15:58 -0500)]
Clean up properties

6 years agoPrint output location for debugging
Bill Williams [Mon, 22 Jul 2013 20:34:46 +0000 (15:34 -0500)]
Print output location for debugging

6 years agoRevert bad property change; add status message; use proper libdl macro
Bill Williams [Mon, 22 Jul 2013 20:13:49 +0000 (15:13 -0500)]
Revert bad property change; add status message; use proper libdl macro

6 years agoAppend RTlib properties, don't overwrite
Bill Williams [Mon, 22 Jul 2013 19:41:46 +0000 (14:41 -0500)]
Append RTlib properties, don't overwrite

6 years ago1. Fix typos in changing ELF address
Xiaozhu Meng [Fri, 19 Jul 2013 15:10:59 +0000 (10:10 -0500)]
1. Fix typos in changing ELF address
2. Delete code for adding new regions at a wrong place
3. Get rid of an unused file

6 years agoSolve the memory corruption problem when destructing Symtab object
Xiaozhu Meng [Thu, 11 Jul 2013 18:37:31 +0000 (13:37 -0500)]
Solve the memory corruption problem when destructing Symtab object

6 years agoActually enable -fvisibility=hidden under CMake
Bill Williams [Thu, 27 Jun 2013 18:10:08 +0000 (13:10 -0500)]
Actually enable -fvisibility=hidden under CMake

6 years agoFix CMakeLists for export defs
Bill Williams [Wed, 26 Jun 2013 21:25:33 +0000 (16:25 -0500)]
Fix CMakeLists for export defs

6 years agoAdded -fvisibility=hidden to Linux builds, with export macros added in appropriate...
Bill Williams [Wed, 12 Jun 2013 21:19:30 +0000 (16:19 -0500)]
Added -fvisibility=hidden to Linux builds, with export macros added in appropriate places.

6 years agoCMake integration for Windows.
Paradyn [Wed, 26 Jun 2013 18:51:28 +0000 (13:51 -0500)]
CMake integration for Windows.

6 years agoAdd magic BG/Q LLNL include path
Andrew R. Bernat [Fri, 26 Apr 2013 20:26:41 +0000 (13:26 -0700)]
Add magic BG/Q LLNL include path

6 years agoRemove export statement; only valid in CMake 2.8 and above (and BATLab has 2.6)
Andrew Bernat [Thu, 25 Apr 2013 19:39:48 +0000 (14:39 -0500)]
Remove export statement; only valid in CMake 2.8 and above (and BATLab has 2.6)
Fix x86-linux build

6 years agoRename libstackwalker to libstackwalk to match earlier convention; fix PPC arch define
Andrew R. Bernat [Wed, 24 Apr 2013 16:21:16 +0000 (09:21 -0700)]
Rename libstackwalker to libstackwalk to match earlier convention; fix PPC arch define

6 years agoFix up CMake export config file ; remove codeCoverage ; remove testsuite
Andrew Bernat [Fri, 19 Apr 2013 20:26:22 +0000 (15:26 -0500)]
Fix up CMake export config file ; remove codeCoverage ; remove testsuite

6 years agoMove dynutil/h to common/h; move common/h to common/src. Update CMakeLists.txt
Andrew Bernat [Thu, 18 Apr 2013 21:17:25 +0000 (16:17 -0500)]
Move dynutil/h to common/h; move common/h to common/src. Update CMakeLists.txt

6 years agoMore fixes for testsuite generated files
Andrew Bernat [Tue, 16 Apr 2013 19:01:50 +0000 (14:01 -0500)]
More fixes for testsuite generated files

6 years agoGenerated CMake test files for other platforms
Andrew Bernat [Mon, 15 Apr 2013 20:28:45 +0000 (15:28 -0500)]
Generated CMake test files for other platforms

6 years agoAdd the x86_64/linux tests cmake structure
Andrew Bernat [Fri, 12 Apr 2013 22:02:36 +0000 (17:02 -0500)]
Add the x86_64/linux tests cmake structure

6 years agoRe-enable assembly support for tests.
Andrew Bernat [Fri, 12 Apr 2013 21:58:52 +0000 (16:58 -0500)]
Re-enable assembly support for tests.

6 years agoManually specify RT lib .S files to be built with gcc.
Andrew Bernat [Fri, 12 Apr 2013 21:29:57 +0000 (16:29 -0500)]
Manually specify RT lib .S files to be built with gcc.

6 years agoTest suite builds on amd-64/linux
Andrew Bernat [Fri, 12 Apr 2013 19:17:02 +0000 (14:17 -0500)]
Test suite builds on amd-64/linux

6 years agoUse lists of -Dcap and -Dbug defines so we can get the test suite to pull them in...
Andrew Bernat [Mon, 8 Apr 2013 18:37:50 +0000 (13:37 -0500)]
Use lists of -Dcap and -Dbug defines so we can get the test suite to pull them in too.

6 years agoMore WIP
Andrew Bernat [Wed, 3 Apr 2013 19:47:48 +0000 (14:47 -0500)]
More WIP

6 years agoCloser to having a working mutatee CMakefile structure
Andrew Bernat [Tue, 26 Mar 2013 21:51:39 +0000 (16:51 -0500)]
Closer to having a working mutatee CMakefile structure

6 years agoWIP commit
Andrew Bernat [Tue, 26 Mar 2013 15:32:56 +0000 (10:32 -0500)]
WIP commit

6 years agoWIP commit
Andrew Bernat [Mon, 25 Mar 2013 14:47:23 +0000 (09:47 -0500)]
WIP commit

6 years agoCMake testsuite WIP
Andrew Bernat [Fri, 22 Mar 2013 17:08:02 +0000 (12:08 -0500)]
CMake testsuite WIP

6 years agoGet CMake Dyninst building on linux/ppc64
Matthew LeGendre [Fri, 22 Mar 2013 17:59:22 +0000 (10:59 -0700)]
Get CMake Dyninst building on linux/ppc64

6 years agoTheoretically fix the 32-bit build check for RTlib
Andrew Bernat [Fri, 22 Mar 2013 00:42:11 +0000 (19:42 -0500)]
Theoretically fix the 32-bit build check for RTlib

6 years agoFixed relative path to sysname and dynsysname scripts to allow out-of-source build.
Andrew Bernat [Thu, 21 Mar 2013 23:43:43 +0000 (18:43 -0500)]
Fixed relative path to sysname and dynsysname scripts to allow out-of-source build.

6 years agoEven more ignores
Andrew Bernat [Thu, 21 Mar 2013 20:18:22 +0000 (15:18 -0500)]
Even more ignores

6 years agoRemove old Makefile system; testsuite is currently unmodified.
Andrew Bernat [Thu, 21 Mar 2013 20:16:54 +0000 (15:16 -0500)]
Remove old Makefile system; testsuite is currently unmodified.

6 years agoMore ignores
Andrew Bernat [Thu, 21 Mar 2013 20:14:44 +0000 (15:14 -0500)]
More ignores

6 years agoAdd CMake ignores
Andrew Bernat [Thu, 21 Mar 2013 20:14:23 +0000 (15:14 -0500)]
Add CMake ignores

6 years agoAdd auto-PLATFORM check; add flag for building 32-bit RTlib on 64-bit platforms.
Andrew Bernat [Thu, 21 Mar 2013 20:14:13 +0000 (15:14 -0500)]
Add auto-PLATFORM check; add flag for building 32-bit RTlib on 64-bit platforms.

6 years agoFix typo in i386 build
Andrew Bernat [Sat, 16 Mar 2013 01:19:56 +0000 (20:19 -0500)]
Fix typo in i386 build

6 years agoCMake apparently works!
Andrew Bernat [Fri, 15 Mar 2013 23:43:35 +0000 (18:43 -0500)]
CMake apparently works!

... except for ParseThat and the test suite.

6 years agoMore CMake work
Andrew Bernat [Fri, 15 Mar 2013 20:58:37 +0000 (15:58 -0500)]
More CMake work

6 years agoAdd DyninstAPI CMakeLists.txt
Andrew Bernat [Fri, 15 Mar 2013 00:08:27 +0000 (19:08 -0500)]
Add DyninstAPI CMakeLists.txt

6 years agoAdd CMakeLists.txt
Andrew Bernat [Fri, 8 Mar 2013 22:06:55 +0000 (16:06 -0600)]
Add CMakeLists.txt

6 years agoMore CMake WIP
Andrew Bernat [Fri, 8 Mar 2013 00:51:28 +0000 (18:51 -0600)]
More CMake WIP

6 years agoCMake initial WIP commit
Andrew Bernat [Wed, 6 Mar 2013 22:39:38 +0000 (16:39 -0600)]
CMake initial WIP commit

6 years agoFix additional warnings given by gcc 4.8 -m32
Josh Stone [Fri, 31 May 2013 02:13:18 +0000 (19:13 -0700)]
Fix additional warnings given by gcc 4.8 -m32

6 years agosymtabAPI: fix warnings given by gcc 4.8
Josh Stone [Fri, 31 May 2013 01:32:47 +0000 (18:32 -0700)]
symtabAPI: fix warnings given by gcc 4.8

Compiling ../src/parseStab.C
../src/parseStab.C: In function ‘std::string Dyninst::SymtabAPI::parseStabString(Dyninst::SymtabAPI::Module*, int, char*, int, Dyninst::SymtabAPI::typeCommon*)’:
../src/parseStab.C:207:11: warning: variable ‘newType’ set but not used [-Wunused-but-set-variable]
    Type * newType = NULL; // For new types to add to the collection
           ^
../src/parseStab.C: In function ‘Dyninst::SymtabAPI::Type* parseArrayDef(Dyninst::SymtabAPI::Module*, const char*, int, char*&, int&, unsigned int)’:
../src/parseStab.C:1089:11: warning: variable ‘symdesc’ set but not used [-Wunused-but-set-variable]
     char *symdesc;
           ^
../src/parseStab.C:1090:9: warning: variable ‘symdescID’ set but not used [-Wunused-but-set-variable]
     int symdescID;
         ^
../src/parseStab.C: In function ‘char* parseFieldList(Dyninst::SymtabAPI::Module*, Dyninst::SymtabAPI::fieldListType*, char*, bool)’:
../src/parseStab.C:1712:6: warning: variable ‘size’ set but not used [-Wunused-but-set-variable]
  int size = 0;
      ^
../src/parseStab.C: In function ‘char* parseCPlusPlusInfo(Dyninst::SymtabAPI::Module*, char*, const char*, int)’:
../src/parseStab.C:1935:6: warning: variable ‘structsize’ set but not used [-Wunused-but-set-variable]
  int structsize;
      ^
../src/parseStab.C:1937:10: warning: variable ‘nestedType’ set but not used [-Wunused-but-set-variable]
     bool nestedType = false;
          ^
../src/parseStab.C: In function ‘char* parseTypeDef(Dyninst::SymtabAPI::Module*, char*, const char*, int, unsigned int)’:
../src/parseStab.C:2126:9: warning: variable ‘structsize’ set but not used [-Wunused-but-set-variable]
     int structsize;
         ^
Compiling ../src/emitElfStatic.C
../src/emitElfStatic.C:1765:6: warning: unused parameter ‘target’ [-Wunused-parameter]
 bool emitElfStatic::buildPLT(Symtab *target, Offset globalOffset,
      ^
../src/emitElfStatic.C:1765:6: warning: unused parameter ‘err’ [-Wunused-parameter]
../src/emitElfStatic.C:1765:6: warning: unused parameter ‘errMsg’ [-Wunused-parameter]
../src/emitElfStatic.C: In member function ‘Dyninst::Offset Dyninst::SymtabAPI::emitElfStatic::allocateRelocationSection(std::map<Dyninst::SymtabAPI::Symbol*, std::pair<long unsigned int, long unsigned int> >&, Dyninst::Offset, Dyninst::Offset&, Dyninst::SymtabAPI::Symtab*)’:
../src/emitElfStatic.C:1817:11: warning: unused variable ‘obj’ [-Wunused-variable]
   Object *obj = target->getObject();
           ^
../src/emitElfStatic.C: In member function ‘Dyninst::Offset Dyninst::SymtabAPI::emitElfStatic::allocateRelGOTSection(const std::map<Dyninst::SymtabAPI::Symbol*, std::pair<long unsigned int, long unsigned int> >&, Dyninst::Offset, Dyninst::Offset&)’:
../src/emitElfStatic.C:1835:12: warning: unused variable ‘relocSize’ [-Wunused-variable]
   unsigned relocSize = sizeof(Elf64_Rela);
            ^
../src/emitElfStatic.C: At global scope:
../src/emitElfStatic.C:1846:6: warning: unused parameter ‘err’ [-Wunused-parameter]
 bool emitElfStatic::buildRela(Symtab *target, Offset globalOffset,
      ^
../src/emitElfStatic.C:1846:6: warning: unused parameter ‘errMsg’ [-Wunused-parameter]
Compiling ../src/emitElfStatic-x86.C
../src/emitElfStatic-x86.C: In member function ‘bool Dyninst::SymtabAPI::emitElfStatic::archSpecificRelocation(Dyninst::SymtabAPI::Symtab*, Dyninst::SymtabAPI::Symtab*, char*, Dyninst::SymtabAPI::relocationEntry&, Dyninst::Offset, Dyninst::Offset, Dyninst::Offset, Dyninst::SymtabAPI::LinkMap&, std::string&)’:
../src/emitElfStatic-x86.C:167:67: warning: ‘addend’ may be used uninitialized in this function [-Wmaybe-uninitialized]
                 rel.getRelType(), symbolOffset, addend, relOffset);
                                                                   ^
../src/emitElfStatic-x86.C:153:20: note: ‘addend’ was declared here
         Elf32_Word addend;
                    ^
Compiling ../src/Function.C
../src/Function.C: In constructor ‘Dyninst::SymtabAPI::FunctionBase::FunctionBase(Dyninst::SymtabAPI::Symbol*)’:
../src/Function.C:64:15: warning: converting to non-pointer type ‘unsigned int’ from NULL [-Wconversion-null]
    data(NULL)
               ^
../src/Function.C: In constructor ‘Dyninst::SymtabAPI::FunctionBase::FunctionBase()’:
../src/Function.C:76:15: warning: converting to non-pointer type ‘unsigned int’ from NULL [-Wconversion-null]
    data(NULL)
               ^
../src/Function.C: In constructor ‘Dyninst::SymtabAPI::FunctionBase::FunctionBase(Dyninst::SymtabAPI::Module*)’:
../src/Function.C:88:15: warning: converting to non-pointer type ‘unsigned int’ from NULL [-Wconversion-null]
    data(NULL)
               ^
../src/Function.C: In member function ‘bool Dyninst::SymtabAPI::FunctionBase::operator==(const Dyninst::SymtabAPI::FunctionBase&)’:
../src/Function.C:444:49: warning: cast from type ‘const Dyninst::SymtabAPI::FunctionBase*’ to type ‘Dyninst::SymtabAPI::Aggregate*’ casts away qualifiers [-Wcast-qual]
  return ((Aggregate &)(*this)) == ((Aggregate &)f);
                                                 ^
Compiling ../src/Variable.C
../src/Variable.C: In member function ‘bool Dyninst::SymtabAPI::Variable::operator==(const Dyninst::SymtabAPI::Variable&)’:
../src/Variable.C:195:49: warning: cast from type ‘const Dyninst::SymtabAPI::Variable*’ to type ‘Dyninst::SymtabAPI::Aggregate*’ casts away qualifiers [-Wcast-qual]
  return ((Aggregate &)(*this)) == ((Aggregate &)v);
                                                 ^
Compiling ../src/dwarfWalker.C
../src/dwarfWalker.C: In member function ‘Dyninst::SymtabAPI::typeArray* Dyninst::SymtabAPI::DwarfWalker::parseMultiDimensionalArray(Dwarf_Die, Dyninst::SymtabAPI::Type*)’:
../src/dwarfWalker.C:1870:276: warning: converting ‘false’ to pointer type ‘Dyninst::SymtabAPI::typeArray*’ [-Wconversion-null]
   DWARF_FAIL_RET(dwarf_dieoffset( range, & dieOffset, NULL ));
                                                                                                                                                                                                                                                                                    ^
../src/dwarfWalker.C:1880:201: warning: converting ‘false’ to pointer type ‘Dyninst::SymtabAPI::typeArray*’ [-Wconversion-null]
   DWARF_CHECK_RET(status == DW_DLV_ERROR);
                                                                                                                                                                                                         ^

6 years agoparseThat: fix warnings given by gcc 4.8
Josh Stone [Fri, 31 May 2013 00:31:33 +0000 (17:31 -0700)]
parseThat: fix warnings given by gcc 4.8

../src/parseThat.C: In function ‘bool runHunt_binaryEdit()’:
../src/parseThat.C:201:9: warning: variable ‘result’ set but not used [-Wunused-but-set-variable]
     int result, status;
         ^
../src/parseThat.C: In function ‘void parseArgs(int, char**)’:
../src/parseThat.C:806:36: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
                         info->tool = "parseThat";
                                    ^
../src/reglist.C: In member function ‘const char* reglist::getReason(char*)’:
../src/reglist.C:94:9: warning: converting ‘false’ to pointer type ‘const char*’ [-Wconversion-null]
  return false;
         ^

6 years agodynC_API: fix warnings given by gcc 4.8
Josh Stone [Fri, 31 May 2013 00:18:18 +0000 (17:18 -0700)]
dynC_API: fix warnings given by gcc 4.8

For the "string constant" errors, convert the yywarn/yyerror functions
from char* to const char*, and remove a lot of unnecessary strdups.

The remaining few warnings are straightforward.

Compiling ../src/lex.dynC.C
../src/C.l: In function ‘int dynClex()’:
../src/C.l:64:19: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
 <<EOF>>        {yylval.context = "Syntax Error: Unterminated block comment"; return(ERROR);}
                   ^
../src/C.l:71:16: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
 "char"[ \t\v\f]*"*" {yylval.sval = "char *"; return TYPE; }
                ^
../src/C.l:133:36: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
                   yylval.context = "Unterminated string constant";
                                    ^
../src/C.l:144:40: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
                       yylval.context = "constant out of bounds";
                                        ^
../src/C.l:153:36: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
                   yylval.context = "bad escape sequence";
                                    ^
../src/C.l:222:238: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
 ^([^\n;{}])+\n {if(strstr(yytext, "//") != NULL){++line_num;}else{if(strncmp(yytext,"/*", 2) == 0){BEGIN(comment);++line_num;}else{if(lexVerbose)printf("No Semi!\n"); fatalError = true; dynClloc.first_column = yycolumn; yylval.context = "syntax error: missing ';'!"; yyless(yyleng - 1); return(ERROR);}}}
                                                                                                                                                                                                                                              ^
../src/C.l: In function ‘void set_lex_input(char*)’:
../src/C.l:236:20: warning: variable ‘bp’ set but not used [-Wunused-but-set-variable]

                    ^
Compiling ../src/dynC.tab.C
../src/C.y:41:25: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
 char *dynCSnippetName = "";
                         ^
../src/C.y: In function ‘int dynCparse()’:
../src/C.y:328:83: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
           yyerrorNoTok("Invalid number of arguments given in array initialization");
                                                                                   ^
../src/C.y:364:34: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
          yyerror("Syntax error");
                                  ^
../src/C.y:421:43: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
           yywarn("Statement does nothing!");
                                           ^
../src/C.y:612:88: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
           yyerrorNoTok("Local variables not allowed when snippet point is unspecified.");
                                                                                        ^
../src/C.y:642:88: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
           yyerrorNoTok("Local variables not allowed when snippet point is unspecified.");
                                                                                        ^
../src/C.y:646:59: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
           yyerror("Numbered indexes for parameters only");
                                                           ^
../src/C.y:771:83: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
              yyerrorNoTokNonUni("Return values only valid at function exit points");
                                                                                   ^
../src/C.y:796:59: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
        yyerror("Syntax error: unrecognized dyninst call");
                                                           ^
dynC.tab.c:2875:32: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
dynC.tab.c:3024:32: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

6 years agodyninstAPI: fix warnings given by gcc 4.8
Josh Stone [Thu, 30 May 2013 23:15:05 +0000 (16:15 -0700)]
dyninstAPI: fix warnings given by gcc 4.8

Compiling ../../dyninstAPI/src/linux-x86.C
../../dyninstAPI/src/linux-x86.C: In member function ‘AstNodePtr PCProcess::createUnprotectStackAST()’:
../../dyninstAPI/src/linux-x86.C:179:68: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
     args.push_back(AstNode::operandNode(AstNode::Constant, (void *)size));
                                                                    ^
Compiling ../../dyninstAPI/src/emit-x86.C
../../dyninstAPI/src/emit-x86.C: In member function ‘virtual bool EmitterIA32::emitBTRestores(baseTramp*, codeGen&)’:
../../dyninstAPI/src/emit-x86.C:702:10: warning: variable ‘localSpace’ set but not used [-Wunused-but-set-variable]
     bool localSpace;
          ^
Compiling ../../dyninstAPI/src/unix.C
../../dyninstAPI/src/unix.C:286:6: warning: unused parameter ‘rights’ [-Wunused-parameter]
 bool PCProcess::getMemoryAccessRights(Address start, PCMemPerm& rights) {
      ^
Compiling ../../dyninstAPI/src/stackwalk-x86.C
../../dyninstAPI/src/stackwalk-x86.C: In member function ‘virtual bool StackwalkInstrumentationHelper::isInstrumentation(Dyninst::Address, Dyninst::Address*, unsigned int*, bool*, bool*)’:
../../dyninstAPI/src/stackwalk-x86.C:131:18: warning: variable ‘func’ set but not used [-Wunused-but-set-variable]
   func_instance *func = NULL;
                  ^
Compiling ../../dyninstAPI/src/IAPI_to_AST.C
../../dyninstAPI/src/IAPI_to_AST.C: In member function ‘virtual void ASTFactory::visit(Dyninst::InstructionAPI::RegisterAST*)’:
../../dyninstAPI/src/IAPI_to_AST.C:93:54: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
                       (void*)(convertRegID(r, unused))));
                                                      ^
Compiling ../src/Relocation/Widgets/CFWidget-x86.C
../src/Relocation/Widgets/CFWidget-x86.C: In member function ‘bool Dyninst::Relocation::CFWidget::generateIndirect(Dyninst::Relocation::CodeBuffer&, Dyninst::Relocation::CFWidget::Register, const Dyninst::Relocation::RelocBlock*, Dyninst::InstructionAPI::Instruction::Ptr)’:
../src/Relocation/Widgets/CFWidget-x86.C:85:98: warning: cast from type ‘const void*’ to type ‘unsigned char*’ casts away qualifiers [-Wcast-qual]
    ia32_decode(IA32_FULL_DECODER, (unsigned char *)insn->ptr(), orig_instr);
                                                                                                  ^
Compiling ../../dyninstAPI/src/BPatch_image.C
../../dyninstAPI/src/BPatch_image.C: In member function ‘BPatch_variableExpr* BPatch_image::findVariable(const char*, bool)’:
../../dyninstAPI/src/BPatch_image.C:699:19: warning: variable ‘var_as’ set but not used [-Wunused-but-set-variable]
     AddressSpace *var_as = NULL;
                   ^
Compiling ../../dyninstAPI/src/BPatch_snippet.C
../../dyninstAPI/src/BPatch_snippet.C: In constructor ‘BPatch_registerExpr::BPatch_registerExpr(Dyninst::MachRegister)’:
../../dyninstAPI/src/BPatch_snippet.C:967:58: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
                                                  (void *)reg));
                                                          ^
../../dyninstAPI/src/BPatch_snippet.C: In function ‘void constructorHelper(void (* const&)(BPatch_point*, void*), bool, BPatch_stInterpret, AstNodePtr&, AstNodePtr&)’:
../../dyninstAPI/src/BPatch_snippet.C:1631:67: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
     idNode = AstNode::operandNode(AstNode::Constant, (void*)(int) cb_id );
                                                                   ^
../../dyninstAPI/src/BPatch_snippet.C:1644:62: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
     icNode = AstNode::operandNode(AstNode::Constant, (void*) ic );
                                                              ^
Compiling ../../dyninstAPI/src/BPatch_process.C
../../dyninstAPI/src/BPatch_process.C: In member function ‘virtual BPatch_object* BPatch_process::loadLibrary(const char*, bool)’:
../../dyninstAPI/src/BPatch_process.C:1009:18: warning: converting ‘false’ to pointer type ‘BPatch_object*’ [-Wconversion-null]
           return false;
                  ^
../../dyninstAPI/src/BPatch_process.C:1036:38: warning: converting ‘false’ to pointer type ‘BPatch_object*’ [-Wconversion-null]
    if (dlopen_func == NULL) return false;
                                      ^
../../dyninstAPI/src/BPatch_process.C: In member function ‘bool BPatch_process::protectAnalyzedCode()’:
../../dyninstAPI/src/BPatch_process.C:1740:10: warning: variable ‘ret’ set but not used [-Wunused-but-set-variable]
     bool ret = true;
          ^
Compiling ../../dyninstAPI/src/ast.C
../../dyninstAPI/src/ast.C: In member function ‘bool AstOperatorNode::generateOptimizedAssignment(codeGen&, bool)’:
../../dyninstAPI/src/ast.C:902:13: warning: variable ‘data_oper’ set but not used [-Wunused-but-set-variable]
    AstNode *data_oper = NULL, *const_oper = NULL;
             ^
../../dyninstAPI/src/ast.C: In member function ‘virtual BPatch_type* AstOperatorNode::checkType()’:
../../dyninstAPI/src/ast.C:2270:52: warning: variable ‘eType’ set but not used [-Wunused-but-set-variable]
     BPatch_type *lType = NULL, *rType = NULL, *eType = NULL;
                                                    ^
Compiling ../../dyninstAPI/src/codegen.C
../../dyninstAPI/src/codegen.C: In member function ‘std::string codeGen::format() const’:
../../dyninstAPI/src/codegen.C:776:92: warning: cast from type ‘const void*’ to type ‘unsigned int*’ casts away qualifiers [-Wcast-qual]
      ret << "\t" << base << ": " << insn->format(base) << " / " << *((unsigned *)insn->ptr()) << endl;
                                                                                            ^
Compiling ../../dyninstAPI/src/image.C
../../dyninstAPI/src/image.C: In member function ‘Dyninst::SymtabAPI::Symbol* image::symbol_info(const string&)’:
../../dyninstAPI/src/image.C:2036:15: warning: converting ‘false’ to pointer type ‘Dyninst::SymtabAPI::Symbol*’ [-Wconversion-null]
        return false;
               ^
Compiling ../../dyninstAPI/src/mapped_object.C
../../dyninstAPI/src/mapped_object.C: In member function ‘block_instance* mapped_object::findBlockByEntry(Dyninst::Address)’:
../../dyninstAPI/src/mapped_object.C:632:52: warning: converting ‘false’ to pointer type ‘block_instance*’ [-Wconversion-null]
     if (!findBlocksByAddr(addr, allBlocks)) return false;
                                                    ^
Compiling ../../dyninstAPI/src/hybridOverwrites.C
../../dyninstAPI/src/hybridOverwrites.C: In member function ‘bool HybridAnalysisOW::removeLoop(HybridAnalysisOW::owLoop*, bool, BPatch_point*, bool)’:
../../dyninstAPI/src/hybridOverwrites.C:236:61: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
             overwriteAnalysis(writePoint,(void*)loop->getID());
                                                             ^
Compiling ../../dyninstAPI/src/dynProcess.C
../../dyninstAPI/src/dynProcess.C: In static member function ‘static PCProcess* PCProcess::setupForkedProcess(PCProcess*, Dyninst::ProcControlAPI::Process::ptr)’:
../../dyninstAPI/src/dynProcess.C:194:20: warning: converting ‘false’ to pointer type ‘PCProcess*’ [-Wconversion-null]
             return false;
                    ^
Compiling ../src/Relocation/Springboard.C
../src/Relocation/Springboard.C: In member function ‘Dyninst::Relocation::SpringboardBuilder::generateResult_t Dyninst::Relocation::SpringboardBuilder::generateSpringboard(std::list<codeGen>&, const Dyninst::Relocation::SpringboardReq&, Dyninst::Relocation::SpringboardMap&)’:
../src/Relocation/Springboard.C:217:13: warning: variable ‘size’ set but not used [-Wunused-but-set-variable]
    unsigned size;
             ^

6 years agoFix a typo in saving EFLAGS
Josh Stone [Thu, 30 May 2013 23:02:51 +0000 (16:02 -0700)]
Fix a typo in saving EFLAGS

This seems to be an obvious typo, flagged by a GCC warning:

Compiling ../../dyninstAPI/src/registerSpace.C
../../dyninstAPI/src/registerSpace.C: In member function ‘bool registerSpace::saveVolatileRegisters(codeGen&)’:
../../dyninstAPI/src/registerSpace.C:545:48: warning: value computed is not used [-Wunused-value]
           registers_[REGNUM_EFLAGS]->liveState == registerSlot::spilled;
                                                ^

6 years agodyninstAPI_RT: fix warnings given by gcc 4.8
Josh Stone [Thu, 30 May 2013 22:41:34 +0000 (15:41 -0700)]
dyninstAPI_RT: fix warnings given by gcc 4.8

Compiling ../src/RTstatic_ctors_dtors-x86.c (noPIC)
../src/RTstatic_ctors_dtors-x86.c: In function ‘DYNINSTglobal_irel_handler’:
../src/RTstatic_ctors_dtors-x86.c:123:11: warning: assignment makes pointer from integer without a cast [enabled by default]
       ptr = *(rel->offset);
           ^

6 years agostackwalk: fix warnings given by gcc 4.8
Josh Stone [Thu, 30 May 2013 22:34:38 +0000 (15:34 -0700)]
stackwalk: fix warnings given by gcc 4.8

Compiling ../src/dbginfo-stepper.C
../src/dbginfo-stepper.C: In member function ‘Dyninst::Stackwalker::gcframe_ret_t Dyninst::Stackwalker::DebugStepperImpl::getCallerFrameArch(Dyninst::Address, const Dyninst::Stackwalker::Frame&, Dyninst::Stackwalker::Frame&, Dyninst::Dwarf::DwarfFrameParser::Ptr, bool)’:
../src/dbginfo-stepper.C:306:26: warning: variable ‘arch’ set but not used [-Wunused-but-set-variable]
    Dyninst::Architecture arch;
                          ^
Compiling ../src/sw_pcontrol.C
../src/sw_pcontrol.C: In member function ‘std::string Dyninst::Stackwalker::ProcDebug::getExecutablePath()’:
../src/sw_pcontrol.C:378:216: warning: converting ‘false’ to pointer type for argument 1 of ‘std::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ [-Wconversion-null]
    CHECK_PROC_LIVE;
                                                                                                                                                                                                                        ^

6 years ago[API] Change sw_c out_frame parameters into actual outputs
Josh Stone [Thu, 30 May 2013 22:23:29 +0000 (15:23 -0700)]
[API] Change sw_c out_frame parameters into actual outputs

The out_frame parameters of walkSingleFrame and getInitialFrame are
frame_t, a struct which is passed by value.  GCC 4.8 warns that this
parameter is set but not used:

Compiling ../src/sw_c.C
../src/sw_c.C: In function ‘int walkSingleFrame(walker_t, frame_t, frame_t)’:
../src/sw_c.C:117:5: warning: parameter ‘out_frame’ set but not used [-Wunused-but-set-parameter]
 int walkSingleFrame(walker_t walker, frame_t frame, frame_t out_frame)
     ^
../src/sw_c.C: In function ‘int getInitialFrame(walker_t, frame_t)’:
../src/sw_c.C:131:5: warning: parameter ‘out_frame’ set but not used [-Wunused-but-set-parameter]
 int getInitialFrame(walker_t walker, frame_t out_frame)
     ^

In order for this to be an actual output parameter, these will have to
be frame_t* parameters.  This is a simple change, but it does change the
API of these functions.  Given that they formerly couldn't work at all,
I expect no one is using these anyway...

6 years agoproccontrol: fix warnings given by gcc 4.8
Josh Stone [Thu, 30 May 2013 22:12:23 +0000 (15:12 -0700)]
proccontrol: fix warnings given by gcc 4.8

Compiling ../src/linux.C
../src/linux.C: In member function ‘virtual bool linux_thread::plat_setAllRegisters(int_registerPool&)’:
../src/linux.C:2043:115: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
             result = do_ptrace((pt_req) PTRACE_POKEUSER, lwp, (void *) (unsigned long) di->second.first, (void *) res);
                                                                                                                   ^
../src/linux.C: In member function ‘virtual bool linux_thread::plat_setRegister(Dyninst::MachRegister, Dyninst::MachRegisterVal)’:
../src/linux.C:2175:52: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
       result = do_ptrace((pt_req) PTRACE_POKEUSR, lwp, (void *) offset, (void *) value);
                                                    ^
../src/linux.C:2175:69: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
       result = do_ptrace((pt_req) PTRACE_POKEUSR, lwp, (void *) offset, (void *) value);
                                                                     ^
../src/linux.C:2179:52: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
       result = do_ptrace((pt_req) PTRACE_POKEUSR, lwp, (void *) offset, (void *) value);
                                                    ^
../src/linux.C: In member function ‘virtual bool linux_thread::thrdb_getThreadArea(int, Dyninst::Address&)’:
../src/linux.C:2295:60: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
          int result = do_ptrace((pt_req) PTRACE_GET_THREAD_AREA, lwp, (void *) val, &addrv);
                                                            ^
../src/linux.C:2316:68: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
          int result = do_ptrace((pt_req) PTRACE_ARCH_PRCTL, lwp, &addrv, (void *) op);
                                                                    ^
Compiling ../src/unix.C
../src/unix.C: In member function ‘virtual bool unix_process::plat_findAllocatedRegionAround(Dyninst::Address, Dyninst::ProcControlAPI::Process::MemoryRegion&)’:
../src/unix.C:241:21: warning: converting to non-pointer type ‘long unsigned int’ from NULL [-Wconversion-null]
     memRegion.first  = NULL;
                     ^
../src/unix.C:242:22: warning: converting to non-pointer type ‘long unsigned int’ from NULL [-Wconversion-null]
     memRegion.second = NULL;
                      ^
Compiling ../src/event.C
../src/event.C: In destructor ‘virtual Dyninst::ProcControlAPI::EventRPC::~EventRPC()’:
../src/event.C:601:29: warning: argument to ‘sizeof’ in ‘void* memset(void*, int, size_t)’ call is the same expression as the destination; did you mean to dereference it? [-Wsizeof-pointer-memaccess]
    memset(wrapper, 0, sizeof(wrapper));
                             ^
Compiling ../src/handler.C
../src/handler.C: In member function ‘bool HandlerPool::handleEvent(Dyninst::ProcControlAPI::Event::ptr)’:
../src/handler.C:364:14: warning: variable ‘etype’ set but not used [-Wunused-but-set-variable]
    EventType etype = orig_ev->getEventType();
              ^
Compiling ../src/process.C
../src/process.C: In member function ‘virtual bool int_process::forked()’:
../src/process.C:617:16: warning: variable ‘initial_thread’ set but not used [-Wunused-but-set-variable]
    int_thread *initial_thread;
                ^
../src/process.C: In constructor ‘int_process::int_process(Dyninst::PID, int_process*)’:
../src/process.C:1384:1: warning: ‘int_process::exec_mem_cache’ is initialized with itself [-Winit-self]
 int_process::int_process(Dyninst::PID pid_, int_process *p) :
 ^
../src/process.C: In member function ‘virtual bool int_process::plat_findAllocatedRegionAround(Dyninst::Address, Dyninst::ProcControlAPI::Process::MemoryRegion&)’:
../src/process.C:1875:21: warning: converting to non-pointer type ‘long unsigned int’ from NULL [-Wconversion-null]
     memRegion.first  = NULL;
                     ^
../src/process.C:1876:22: warning: converting to non-pointer type ‘long unsigned int’ from NULL [-Wconversion-null]
     memRegion.second = NULL;
                      ^
../src/process.C: In constructor ‘int_breakpoint::int_breakpoint(Dyninst::ProcControlAPI::Breakpoint::ptr)’:
../src/process.C:4605:25: warning: converting ‘false’ to pointer type ‘void*’ [-Wconversion-null]
    offset_transfer(false)
                         ^
../src/process.C: In constructor ‘int_breakpoint::int_breakpoint(Dyninst::Address, Dyninst::ProcControlAPI::Breakpoint::ptr, bool)’:
../src/process.C:4621:23: warning: converting ‘false’ to pointer type ‘void*’ [-Wconversion-null]
    offset_transfer(off)
                       ^
../src/process.C: In constructor ‘int_breakpoint::int_breakpoint(unsigned int, unsigned int, Dyninst::ProcControlAPI::Breakpoint::ptr)’:
../src/process.C:4636:27: warning: converting ‘false’ to pointer type ‘void*’ [-Wconversion-null]
   suppress_callbacks(false)
                           ^
Compiling ../src/irpc.C
../src/irpc.C: In destructor ‘Dyninst::ProcControlAPI::IRPC::~IRPC()’:
../src/irpc.C:1331:28: warning: argument to ‘sizeof’ in ‘void* memset(void*, int, size_t)’ call is the same expression as the destination; did you mean to dereference it? [-Wsizeof-pointer-memaccess]
   memset(wrapper, 0, sizeof(wrapper));
                            ^
Compiling ../src/processplat.C
../src/processplat.C: In member function ‘bool int_remoteIO::getFileStatData(Dyninst::ProcControlAPI::FileSet&)’:
../src/processplat.C:973:9: warning: variable ‘had_error’ set but not used [-Wunused-but-set-variable]
    bool had_error = false;
         ^

6 years agoCorrect several reversed prefix/postfix operators
Josh Stone [Thu, 30 May 2013 22:11:23 +0000 (15:11 -0700)]
Correct several reversed prefix/postfix operators

This was backwards in a few places, so a reminder:

  operator++() and operator--() are the *prefix* versions,
  which are expected to return the updated value.

  operator++(int) and operator--(int) are the *postfix* versions,
  which are expected to return the original value.

Of course, C++ is loose enough that you could do anything you like with
these operator overloads, but these corrections appear to have intended
normal semantics. :)

FWIW, the uses I surveyed were all ignoring the prefix/postfix return
value anyway, so hopefully there weren't any bugs lurking anywhere.

6 years agodataflowAPI: fix warnings given by gcc 4.8
Josh Stone [Thu, 30 May 2013 20:30:42 +0000 (13:30 -0700)]
dataflowAPI: fix warnings given by gcc 4.8

Compiling ../../dataflowAPI/src/stackanalysis.C
../../dataflowAPI/src/stackanalysis.C: In member function ‘void Dyninst::StackAnalysis::summarizeBlocks()’:
../../dataflowAPI/src/stackanalysis.C:147:14: warning: variable ‘next’ set but not used [-Wunused-but-set-variable]
       Offset next;
              ^

6 years agoparseAPI: fix warnings given by gcc 4.8
Josh Stone [Thu, 30 May 2013 20:24:22 +0000 (13:24 -0700)]
parseAPI: fix warnings given by gcc 4.8

Compiling ../src/IA_IAPI.C
../src/IA_IAPI.C: In member function ‘virtual bool Dyninst::InsnAdapter::IA_IAPI::isGarbageInsn() const’:
../src/IA_IAPI.C:350:45: warning: cast from type ‘const void*’ to type ‘char*’ casts away qualifiers [-Wcast-qual]
                 0 == ((char*)curInsn()->ptr())[0] &&
                                             ^
../src/IA_IAPI.C:351:45: warning: cast from type ‘const void*’ to type ‘char*’ casts away qualifiers [-Wcast-qual]
                 0 == ((char*)curInsn()->ptr())[1])
                                             ^
../src/IA_IAPI.C:373:44: warning: cast from type ‘const void*’ to type ‘char*’ casts away qualifiers [-Wcast-qual]
             switch (((char*)curInsn()->ptr())[0]) {
                                            ^
../src/IA_IAPI.C:384:67: warning: cast from type ‘const void*’ to type ‘unsigned char*’ casts away qualifiers [-Wcast-qual]
                         ((0xa0 == ((unsigned char*)curInsn()->ptr())[1]) || (0xa8 == ((unsigned char*)curInsn()->ptr())[1])))
                                                                   ^
../src/IA_IAPI.C:384:118: warning: cast from type ‘const void*’ to type ‘unsigned char*’ casts away qualifiers [-Wcast-qual]
                         ((0xa0 == ((unsigned char*)curInsn()->ptr())[1]) || (0xa8 == ((unsigned char*)curInsn()->ptr())[1])))
                                                                                                                      ^
Compiling ../src/IA_x86Details.C
../src/IA_x86Details.C: In member function ‘boost::tuples::tuple<boost::shared_ptr<Dyninst::InstructionAPI::Instruction>, boost::shared_ptr<Dyninst::InstructionAPI::Instruction>, bool> Dyninst::InsnAdapter::IA_x86Details::findMaxSwitchInsn(Dyninst::ParseAPI::Block*)’:
../src/IA_x86Details.C:623:13: warning: variable ‘maxSwitchAddr’ set but not used [-Wunused-but-set-variable]
     Address maxSwitchAddr = 0;
             ^

6 years agoinstructionAPI: fix warnings given by gcc 4.8
Josh Stone [Thu, 30 May 2013 19:51:46 +0000 (12:51 -0700)]
instructionAPI: fix warnings given by gcc 4.8

Fixes instances of this warning with various integral T:

../h/Result.h:263:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
           val.m512val = (void *) v;
                       ^
../h/Result.h:266:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    val.dbl128val = (void*) v;
                  ^
../h/Result.h:269:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    val.m14val = (void*) v;
               ^

6 years agosymlite: fix warnings given by gcc 4.8
Josh Stone [Thu, 30 May 2013 19:36:29 +0000 (12:36 -0700)]
symlite: fix warnings given by gcc 4.8

Compiling ../src/SymLite-elf.C
../src/SymLite-elf.C: In member function ‘virtual long unsigned int Dyninst::SymElf::getSymbolSize(const Dyninst::Symbol_t&)’:
../src/SymLite-elf.C:300:173: warning: variable ‘name’ set but not used [-Wunused-but-set-variable]
    GET_SYMBOL(sym, shdr, symbol, name, idx);
                                                                                                                                                                             ^
../src/SymLite-elf.C: In member function ‘virtual Dyninst::Offset Dyninst::SymElf::getSymbolOffset(const Dyninst::Symbol_t&)’:
../src/SymLite-elf.C:314:173: warning: variable ‘name’ set but not used [-Wunused-but-set-variable]
    GET_SYMBOL(sym, shdr, symbols, name, idx);
                                                                                                                                                                             ^
../src/SymLite-elf.C: In member function ‘virtual Dyninst::Offset Dyninst::SymElf::getSymbolTOC(const Dyninst::Symbol_t&)’:
../src/SymLite-elf.C:321:173: warning: variable ‘name’ set but not used [-Wunused-but-set-variable]
    GET_SYMBOL(sym, shdr, symbols, name, idx);
                                                                                                                                                                             ^
../src/SymLite-elf.C: In member function ‘virtual std::string Dyninst::SymElf::getSymbolName(const Dyninst::Symbol_t&)’:
../src/SymLite-elf.C:328:284: warning: variable ‘idx’ set but not used [-Wunused-but-set-variable]
    GET_SYMBOL(sym, shdr, symbols, name, idx);
                                                                                                                                                                                                                                                                                            ^
../src/SymLite-elf.C:328:358: warning: variable ‘symbols’ set but not used [-Wunused-but-set-variable]
    GET_SYMBOL(sym, shdr, symbols, name, idx);
                                                                                                                                                                                                                                                                                                                                                                      ^
../src/SymLite-elf.C: In function ‘int symcache_cmp(const void*, const void*)’:
../src/SymLite-elf.C:365:42: warning: cast from type ‘const void*’ to type ‘Dyninst::SymCacheEntry*’ casts away qualifiers [-Wcast-qual]
    SymCacheEntry *aa = (SymCacheEntry *) a;
                                          ^
../src/SymLite-elf.C:366:42: warning: cast from type ‘const void*’ to type ‘Dyninst::SymCacheEntry*’ casts away qualifiers [-Wcast-qual]
    SymCacheEntry *bb = (SymCacheEntry *) b;
                                          ^
../src/SymLite-elf.C: In member function ‘long unsigned int Dyninst::SymElf::getSymOffset(const Dyninst::Elf_X_Sym&, unsigned int)’:
../src/SymLite-elf.C:381:76: warning: cast from type ‘const char*’ to type ‘long unsigned int*’ casts away qualifiers [-Wcast-qual]
          sym_offset = *((unsigned long *) (odp_data + sym_offset - odp_addr));
                                                                            ^
../src/SymLite-elf.C: In member function ‘long unsigned int Dyninst::SymElf::getSymTOC(const Dyninst::Elf_X_Sym&, unsigned int)’:
../src/SymLite-elf.C:399:97: warning: cast from type ‘const char*’ to type ‘long unsigned int*’ casts away qualifiers [-Wcast-qual]
       unsigned long toc = *((unsigned long *) (odp_data + (sym_offset - odp_addr + sizeof(long))));
                                                                                                 ^
../src/SymLite-elf.C: In member function ‘void Dyninst::SymElf::createSymCache()’:
../src/SymLite-elf.C:441:260: warning: variable ‘str_buffer’ set but not used [-Wunused-but-set-variable]
       FOR_EACH_SYMBOL(shdr, symbols, str_buffer, idx)
                                                                                                                                                                                                                                                                    ^

6 years agoelf: fix warnings given by gcc 4.8
Josh Stone [Thu, 30 May 2013 19:22:58 +0000 (12:22 -0700)]
elf: fix warnings given by gcc 4.8

Compiling ../src/Elf_X.C
../src/Elf_X.C: In member function ‘Dyninst::Elf_X_Nhdr Dyninst::Elf_X_Nhdr::next() const’:
../src/Elf_X.C:1792:38: warning: cast from type ‘const void*’ to type ‘char*’ casts away qualifiers [-Wcast-qual]
     size_t offset = (char *)get_desc() + n_descsz() - (char *)data->d_buf;
                                      ^
Compiling ../src/SystemTap.C
../src/SystemTap.C: In member function ‘bool Dyninst::SystemTapEntries::readAddr(const unsigned char*, size_t, unsigned int&, Dyninst::Address&, unsigned int)’:
../src/SystemTap.C:217:47: warning: cast from type ‘const unsigned char*’ to type ‘uint32_t* {aka unsigned int*}’ casts away qualifiers [-Wcast-qual]
       result = *((uint32_t *) (buffer + offset));
                                               ^
../src/SystemTap.C:219:47: warning: cast from type ‘const unsigned char*’ to type ‘uint64_t* {aka long unsigned int*}’ casts away qualifiers [-Wcast-qual]
       result = *((uint64_t *) (buffer + offset));
                                               ^

6 years agoSimplify SystemTapEntries::parseNotes with Elf_X_Nhdr
Josh Stone [Thu, 30 May 2013 19:21:07 +0000 (12:21 -0700)]
Simplify SystemTapEntries::parseNotes with Elf_X_Nhdr

6 years agocommon: fix warnings given by gcc 4.8
Josh Stone [Thu, 30 May 2013 18:40:17 +0000 (11:40 -0700)]
common: fix warnings given by gcc 4.8

Compiling ../../common/src/addrtranslate-sysv.C
../../common/src/addrtranslate-sysv.C: In member function ‘std::vector<std::pair<long unsigned int, long unsigned int> >* Dyninst::LoadedLib::getMappedRegions()’:
../../common/src/addrtranslate-sysv.C:334:14: warning: converting ‘false’ to pointer type ‘std::vector<std::pair<long unsigned int, long unsigned int> >*’ [-Wconversion-null]
       return false;
              ^
Compiling ../../common/src/string-regex.C
../../common/src/string-regex.C: In function ‘void dedemangle(char*, char*)’:
../../common/src/string-regex.C:101:28: warning: variable ‘start_template_offset’ set but not used [-Wunused-but-set-variable]
       unsigned int offset, start_template_offset=0, stop_template_offset=0;
                            ^
../../common/src/string-regex.C:101:53: warning: variable ‘stop_template_offset’ set but not used [-Wunused-but-set-variable]
       unsigned int offset, start_template_offset=0, stop_template_offset=0;
                                                     ^
Compiling ../../common/src/arch-x86.C
../../common/src/arch-x86.C: In member function ‘bool NS_x86::instruction::isNop() const’:
../../common/src/arch-x86.C:5972:8: warning: variable ‘displacement_location’ set but not used [-Wunused-but-set-variable]
    int displacement_location = 0;
        ^
../../common/src/arch-x86.C:5973:8: warning: variable ‘displacement_size’ set but not used [-Wunused-but-set-variable]
    int displacement_size = 0;
        ^
Compiling ../../common/src/arch-power.C
In file included from ../../common/src/arch-power.C:32:0:
../../common/h/arch-power.h: In constructor ‘NS_power::instruction::instruction(const void*)’:
../../common/h/arch-power.h:782:34: warning: cast from type ‘const void*’ to type ‘NS_power::instructUnion*’ casts away qualifiers [-Wcast-qual]
       insn_ = *((instructUnion *)ptr);
                                  ^

6 years ago.gitignore longer DSO versions, *.so.?.?.?
Josh Stone [Thu, 30 May 2013 01:44:26 +0000 (18:44 -0700)]
.gitignore longer DSO versions, *.so.?.?.?

6 years agoFix PC on BGQ compilation error
Matthew LeGendre [Tue, 28 May 2013 23:17:58 +0000 (16:17 -0700)]
Fix PC on BGQ compilation error

6 years agoRemoved incorrect SymtabAPI assert on PPC64 binaries
Matthew LeGendre [Tue, 28 May 2013 23:17:30 +0000 (16:17 -0700)]
Removed incorrect SymtabAPI assert on PPC64 binaries

6 years agoAdded error timeouts when Stackwalking on BGQ
Matthew LeGendre [Tue, 28 May 2013 23:16:57 +0000 (16:16 -0700)]
Added error timeouts when Stackwalking on BGQ

6 years agoUpdated PC error code numbers to seperate out errors that will only occur on BGQ
Matthew LeGendre [Tue, 28 May 2013 23:15:39 +0000 (16:15 -0700)]
Updated PC error code numbers to seperate out errors that will only occur on BGQ

6 years agoMerge branch 'v8.1.x'
Bill Williams [Tue, 21 May 2013 17:45:30 +0000 (12:45 -0500)]
Merge branch 'v8.1.x'

6 years agoEnsure that we compile test suite and Dyninst with the same CXXFLAGS to work around...
Bill Williams [Tue, 21 May 2013 16:47:46 +0000 (11:47 -0500)]
Ensure that we compile test suite and Dyninst with the same CXXFLAGS to work around gcc 4.7.2 bug

6 years agoMerge branch 'v8.1.x'
Bill Williams [Fri, 10 May 2013 16:52:23 +0000 (11:52 -0500)]
Merge branch 'v8.1.x'

Conflicts:
dyninstAPI/src/ast.C

6 years agoTrack whether we've detected that attach will break, and skip Dyninst attach mode...
Bill Williams [Tue, 7 May 2013 18:28:01 +0000 (13:28 -0500)]
Track whether we've detected that attach will break, and skip Dyninst attach mode if so.

6 years agoMerge branch 'inlining' into legendre_batlab_test1
Matthew LeGendre [Mon, 6 May 2013 21:46:43 +0000 (14:46 -0700)]
Merge branch 'inlining' into legendre_batlab_test1

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.

6 years agoMerge branch 'master' into inlining
Matthew LeGendre [Mon, 6 May 2013 21:41:39 +0000 (14:41 -0700)]
Merge branch 'master' into inlining

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.

6 years agoFix PC problem with signals being dropped due to uninitialized signal mask
Matthew LeGendre [Mon, 6 May 2013 17:50:27 +0000 (10:50 -0700)]
Fix PC problem with signals being dropped due to uninitialized signal mask

6 years agoMerge branch 'master' into legendre_commits1
Matthew LeGendre [Mon, 6 May 2013 17:15:38 +0000 (10:15 -0700)]
Merge branch 'master' into legendre_commits1