dyninst.git
3 years agolto
Peter Foley [Sat, 14 May 2016 19:28:25 +0000 (15:28 -0400)]
lto

3 years agoProperly handle SL_UNIQUE in switch statements
Peter Foley [Sun, 30 Oct 2016 22:34:58 +0000 (18:34 -0400)]
Properly handle SL_UNIQUE in switch statements

e.g.
/home/peter/dyninst/symtabAPI/src/Object.C:97:20: warning: enumeration
value ‘SL_UNIQUE’ not handled in switch [-Wswitch]
/home/peter/dyninst/symtabAPI/src/Symtab.C:3465:11: warning: enumeration
value ‘SL_UNIQUE’ not handled in switch [-Wswitch]

3 years agoDisable unnecessary FindBoost debugging output by default
Peter Foley [Sun, 30 Oct 2016 21:34:44 +0000 (17:34 -0400)]
Disable unnecessary FindBoost debugging output by default

3 years agoFix typo in Boost_FOUND conditional
Peter Foley [Sun, 30 Oct 2016 21:28:12 +0000 (17:28 -0400)]
Fix typo in Boost_FOUND conditional

3 years agoAdded symbol linkage support for GNU unique linkage types (#209)
Benjamin Welton [Wed, 19 Oct 2016 22:03:14 +0000 (17:03 -0500)]
Added symbol linkage support for GNU unique linkage types (#209)

* Added symbol linkage support for GNU unique linkage types

* Added define guards around STB_GNU_UNIQUE

3 years agopefoley2-boost_win (#194)
Bill Williams [Tue, 18 Oct 2016 22:10:52 +0000 (17:10 -0500)]
pefoley2-boost_win (#194)

Make boost-as-external cross-platform.

3 years agoMerge pull request #180 from dyninst/release9.2/fixes/documentation
Bill Williams [Fri, 14 Oct 2016 21:38:00 +0000 (16:38 -0500)]
Merge pull request #180 from dyninst/release9.2/fixes/documentation

Documentation updates -- tentative

3 years agoMerge pull request #192 from dyninst/elfx_add_xlate_funcs
Bill Williams [Wed, 12 Oct 2016 21:59:29 +0000 (16:59 -0500)]
Merge pull request #192 from dyninst/elfx_add_xlate_funcs

ElfX: add xlate funcs

3 years agoAdd xlatetof and xlatetom. 192/head
Bill Williams [Wed, 12 Oct 2016 21:20:33 +0000 (16:20 -0500)]
Add xlatetof and xlatetom.

3 years agoUpdate Elf_X.C
Bill Williams [Wed, 12 Oct 2016 21:19:32 +0000 (16:19 -0500)]
Update Elf_X.C

3 years agoMerge pull request #185 from dyninst/release9.2/fixes/inline_filename_fixes
Bill Williams [Wed, 12 Oct 2016 20:27:29 +0000 (15:27 -0500)]
Merge pull request #185 from dyninst/release9.2/fixes/inline_filename_fixes

String table now includes an entry at zero for "unknown", so don't subtract from the DWARF file number.

3 years agoMerge pull request #191 from cuviper/try-tls-init
Bill Williams [Wed, 12 Oct 2016 19:48:48 +0000 (14:48 -0500)]
Merge pull request #191 from cuviper/try-tls-init

proccontrol: check thread handle before calculating TLS

3 years agoproccontrol: check thread handle before calculating TLS 191/head
Josh Stone [Wed, 12 Oct 2016 00:56:04 +0000 (17:56 -0700)]
proccontrol: check thread handle before calculating TLS

3 years agoMerge pull request #189 from dyninst/release9.2/fixes/findMainJenkins
Bill Williams [Wed, 5 Oct 2016 18:43:48 +0000 (13:43 -0500)]
Merge pull request #189 from dyninst/release9.2/fixes/findMainJenkins

Improved the findMain analysis significantly

3 years agoDeleted the old code block 189/head
John Detter [Wed, 5 Oct 2016 17:52:18 +0000 (12:52 -0500)]
Deleted the old code block

3 years agoImproved the findMain analysis significantly
John Detter [Tue, 4 Oct 2016 21:43:28 +0000 (16:43 -0500)]
Improved the findMain analysis significantly

3 years agoRemove debug output 185/head
Bill Williams [Tue, 4 Oct 2016 16:56:40 +0000 (11:56 -0500)]
Remove debug output

3 years agoClear srcfiles on each invocation of buildSrcFiles, so we're looking at the right...
Bill Williams [Mon, 3 Oct 2016 22:29:29 +0000 (17:29 -0500)]
Clear srcfiles on each invocation of buildSrcFiles, so we're looking at the right module's file list.

3 years agoString table now includes an entry at zero for "unknown", so don't subtract from...
Bill Williams [Fri, 30 Sep 2016 21:18:58 +0000 (16:18 -0500)]
String table now includes an entry at zero for "unknown", so don't subtract from the DWARF file number.

3 years agosuppress proccontrol warnings
Peter Foley [Fri, 1 Jul 2016 21:15:38 +0000 (17:15 -0400)]
suppress proccontrol warnings

3 years agofix parseAPI/dataflowAPI warnings
Peter Foley [Fri, 1 Jul 2016 20:59:00 +0000 (16:59 -0400)]
fix parseAPI/dataflowAPI warnings

3 years agofix symtabAPI warnings
Peter Foley [Fri, 1 Jul 2016 20:21:25 +0000 (16:21 -0400)]
fix symtabAPI warnings

3 years agofix instructionAPI warning
Peter Foley [Fri, 1 Jul 2016 20:16:07 +0000 (16:16 -0400)]
fix instructionAPI warning

3 years agofix dyninstAPI warnings
Peter Foley [Fri, 1 Jul 2016 20:05:16 +0000 (16:05 -0400)]
fix dyninstAPI warnings

3 years agocmake cleanup
Peter Foley [Fri, 1 Jul 2016 18:35:16 +0000 (14:35 -0400)]
cmake cleanup

3 years agoMerge pull request #183 from rafzi/pr4_cmake_libiberty
Bill Williams [Tue, 27 Sep 2016 16:55:29 +0000 (11:55 -0500)]
Merge pull request #183 from rafzi/pr4_cmake_libiberty

cmake: Fix not building when libiberty is automatically installed

3 years agocmake: Fix not building when libiberty is automatically installed 183/head
Rafael Stahl [Sun, 25 Sep 2016 19:15:54 +0000 (21:15 +0200)]
cmake: Fix not building when libiberty is automatically installed

3 years agoMerge pull request #172 from rafzi/pr1_elf_endianness
Bill Williams [Tue, 20 Sep 2016 18:57:28 +0000 (13:57 -0500)]
Merge pull request #172 from rafzi/pr1_elf_endianness

elf: fix uninitialized isBigEndian for archives; duplicate code removal

3 years agoelf: fix uninitialized isBigEndian for archives; duplicate code removal 172/head
Rafael Stahl [Tue, 6 Sep 2016 15:30:12 +0000 (17:30 +0200)]
elf: fix uninitialized isBigEndian for archives; duplicate code removal

3 years agoUpdate README.md 180/head
John Detter [Tue, 20 Sep 2016 07:25:56 +0000 (02:25 -0500)]
Update README.md

3 years agoUpdate and rename README to README.md
John Detter [Tue, 20 Sep 2016 07:21:55 +0000 (02:21 -0500)]
Update and rename README to README.md

3 years agoCreate README.md
John Detter [Tue, 20 Sep 2016 07:18:08 +0000 (02:18 -0500)]
Create README.md

3 years agoUpdate README.md
John Detter [Tue, 20 Sep 2016 07:17:43 +0000 (02:17 -0500)]
Update README.md

3 years agoCreate README.md
John Detter [Tue, 20 Sep 2016 07:17:23 +0000 (02:17 -0500)]
Create README.md

3 years agoCreate README.md
John Detter [Tue, 20 Sep 2016 07:16:40 +0000 (02:16 -0500)]
Create README.md

3 years agoUpdate README.md
John Detter [Tue, 20 Sep 2016 07:15:53 +0000 (02:15 -0500)]
Update README.md

3 years agoUpdate README.md
John Detter [Tue, 20 Sep 2016 07:02:39 +0000 (02:02 -0500)]
Update README.md

3 years agoUpdate README.md
John Detter [Tue, 20 Sep 2016 07:01:50 +0000 (02:01 -0500)]
Update README.md

3 years agoRenamed and updated README for parseThat
John Detter [Tue, 20 Sep 2016 07:14:28 +0000 (02:14 -0500)]
Renamed and updated README for parseThat

3 years agoUpdate README.md
John Detter [Tue, 20 Sep 2016 06:54:57 +0000 (01:54 -0500)]
Update README.md

3 years agoMarkdown updates
John Detter [Tue, 20 Sep 2016 06:58:57 +0000 (01:58 -0500)]
Markdown updates

3 years agoMerge pull request #173 from rafzi/pr2_symtab_dataseg
Bill Williams [Mon, 19 Sep 2016 16:26:35 +0000 (11:26 -0500)]
Merge pull request #173 from rafzi/pr2_symtab_dataseg

symtabAPI: dont expect a data segment in elf; eliminate dead code

3 years agoThe argument to SymEvalSemantics::addWithCarries for unsign-extending
Sunny Shah [Sun, 18 Sep 2016 23:39:47 +0000 (18:39 -0500)]
The argument to SymEvalSemantics::addWithCarries for unsign-extending
the second addend should be the second operand from the instruction AST.

The bug here was that the first operand from the AST was being passed
for the unsign-extend operation. This caused the semantic expression and
hence the resulting assignment expansion for the instructions calling
this function to be incorrect.

3 years agoMore Github formatting
John Detter [Wed, 14 Sep 2016 19:01:22 +0000 (14:01 -0500)]
More Github formatting

3 years agoWhen determining the ROSE register category for ARM registers, comparisions of the...
Sunny Shah [Wed, 14 Sep 2016 17:54:12 +0000 (12:54 -0500)]
When determining the ROSE register category for ARM registers, comparisions of the MachRegisters with 'baseID' should only use the MachRegister's lowermost 16 bits.

3 years agoUpdated READMEs for Github markdown
John Detter [Wed, 14 Sep 2016 17:54:07 +0000 (12:54 -0500)]
Updated READMEs for Github markdown

3 years agoUpdated README
Bill Williams [Tue, 13 Sep 2016 21:05:49 +0000 (16:05 -0500)]
Updated README

Added a branch status block at the top.

3 years agosymtabAPI: dont expect a data segment in elf; eliminate dead code 173/head
Rafael Stahl [Tue, 6 Sep 2016 16:04:36 +0000 (18:04 +0200)]
symtabAPI: dont expect a data segment in elf; eliminate dead code

3 years agoMerge pull request #164 from dyninst/release9.2/fixes/jenkins-fix
Bill Williams [Fri, 2 Sep 2016 15:59:36 +0000 (10:59 -0500)]
Merge pull request #164 from dyninst/release9.2/fixes/jenkins-fix

CMake fixes for Cotire and GCC 4.4 compatibility

3 years agoMerge pull request #166 from dyninst/sfm/fixes/guard_non-x86
morehouse [Thu, 1 Sep 2016 20:57:31 +0000 (15:57 -0500)]
Merge pull request #166 from dyninst/sfm/fixes/guard_non-x86

Guard StackMod implementation from non-x86 architectures.

3 years agoGuard StackMod implementation from non-x86 architectures. 166/head
Matt Morehouse [Thu, 1 Sep 2016 18:21:07 +0000 (13:21 -0500)]
Guard StackMod implementation from non-x86 architectures.

3 years agospace out template '>>' for pre-C++11 compatibility
Josh Stone [Wed, 31 Aug 2016 17:23:55 +0000 (10:23 -0700)]
space out template '>>' for pre-C++11 compatibility

3 years agoTesting cotire modifications 164/head
John Detter [Tue, 30 Aug 2016 22:40:26 +0000 (17:40 -0500)]
Testing cotire modifications

3 years agoMore cotire restrictions added.
John Detter [Tue, 30 Aug 2016 22:27:01 +0000 (17:27 -0500)]
More cotire restrictions added.

3 years agoMoved cotire logic to shared.cmake
John Detter [Tue, 30 Aug 2016 22:22:16 +0000 (17:22 -0500)]
Moved cotire logic to shared.cmake

3 years agoCheck cmake version to make sure cotire is supported
John Detter [Tue, 30 Aug 2016 22:19:37 +0000 (17:19 -0500)]
Check cmake version to make sure cotire is supported

3 years agoCheck GCC version and decide whether or not to use cotire
John Detter [Tue, 30 Aug 2016 21:52:44 +0000 (16:52 -0500)]
Check GCC version and decide whether or not to use cotire

3 years agofix insnCodeGen::modifyData's 64-bit conversion
Josh Stone [Sat, 27 Aug 2016 00:42:54 +0000 (17:42 -0700)]
fix insnCodeGen::modifyData's 64-bit conversion

On RHEL6 with a prelinked `/lib64/libc-2.12.so`, all of tests involving
fork instrumentation were getting SIGSEGV in the mutatee.  This worked
in 9.1, and it also works fine after `prelink -u` to undo libc.  Using
git-bisect found 2b86eb4577bb as the point of regression.

It seems prelink ends up with libc sitting far away from the relocation
buffer, more than a 32-bit displacement, so `insnCodeGen::modifyData`
decides to rewrite that to a 64-bit immediate.  To do this, it has to
emit additional instructions first.  But after the commit above, part of
the rewritten instruction has already been written when we're trying to
emit those extras, and things gets clobbered.

This patch emits those preamble instructions first, before any part of
the newly rewritten instruction is copied out.

3 years agoMerge branch 'release9.2/fixes/make-install-fix' into release9.2/fixes/jenkins-fix
John Detter [Mon, 29 Aug 2016 15:09:33 +0000 (10:09 -0500)]
Merge branch 'release9.2/fixes/make-install-fix' into release9.2/fixes/jenkins-fix

3 years agoMerge branch 'release9.2/fixes/nullptr-compatibility' into release9.2/fixes/jenkins-fix
John Detter [Mon, 29 Aug 2016 14:54:14 +0000 (09:54 -0500)]
Merge branch 'release9.2/fixes/nullptr-compatibility' into release9.2/fixes/jenkins-fix

3 years agoHad to disable precompiled headers for instructionAPI.
John Detter [Mon, 29 Aug 2016 14:53:30 +0000 (09:53 -0500)]
Had to disable precompiled headers for instructionAPI.

3 years agoinstructionAPI: use uintmax_t when formatting addresses
Josh Stone [Sat, 27 Aug 2016 00:19:32 +0000 (17:19 -0700)]
instructionAPI: use uintmax_t when formatting addresses

3 years agoReplaced nullptr with NULL (RHEL6 GCC 4.4 compatibility) 162/head
John Detter [Fri, 26 Aug 2016 19:57:32 +0000 (14:57 -0500)]
Replaced nullptr with NULL (RHEL6 GCC 4.4 compatibility)

3 years agoFixes make install issue 161/head
John Detter [Fri, 26 Aug 2016 17:41:58 +0000 (12:41 -0500)]
Fixes make install issue

3 years agoMerge pull request #159 from dyninst/release9.2/fixes/cotire-gitignore
Bill Williams [Tue, 23 Aug 2016 22:13:51 +0000 (17:13 -0500)]
Merge pull request #159 from dyninst/release9.2/fixes/cotire-gitignore

Added generated cotire directories to gitignore

3 years agoAdded generated cotire directories to gitignore 159/head
John Detter [Tue, 23 Aug 2016 21:09:45 +0000 (16:09 -0500)]
Added generated cotire directories to gitignore

3 years agoMerge pull request #19 from pefoley2/appveyor
Bill Williams [Mon, 22 Aug 2016 16:06:34 +0000 (11:06 -0500)]
Merge pull request #19 from pefoley2/appveyor

Add config to build using Appveyor

3 years agoMerge pull request #14 from pefoley2/clang_warn
Bill Williams [Mon, 22 Aug 2016 15:56:05 +0000 (10:56 -0500)]
Merge pull request #14 from pefoley2/clang_warn

Fix warnings produced when compiling with clang

3 years agoremove obsolete nmake config 19/head
Peter Foley [Sat, 16 Jul 2016 14:39:48 +0000 (10:39 -0400)]
remove obsolete nmake config

3 years agokeep 4251 disabled
Peter Foley [Tue, 12 Jul 2016 16:49:23 +0000 (12:49 -0400)]
keep 4251 disabled

3 years agoadd missing include
Peter Foley [Thu, 23 Jun 2016 18:11:39 +0000 (14:11 -0400)]
add missing include

3 years agobuild DyninstAPI_RT_static too
Peter Foley [Thu, 23 Jun 2016 17:32:55 +0000 (13:32 -0400)]
build DyninstAPI_RT_static too

3 years agolimit build types
Peter Foley [Mon, 30 May 2016 21:43:06 +0000 (17:43 -0400)]
limit build types

3 years agoupdate gitignore
Peter Foley [Mon, 30 May 2016 21:21:23 +0000 (17:21 -0400)]
update gitignore

3 years agodisable unity builds
Peter Foley [Mon, 30 May 2016 18:44:21 +0000 (14:44 -0400)]
disable unity builds

3 years agoparallize vc++ builds
Peter Foley [Mon, 30 May 2016 18:32:26 +0000 (14:32 -0400)]
parallize vc++ builds

3 years agocotire vs fixes
Peter Foley [Mon, 30 May 2016 17:43:15 +0000 (13:43 -0400)]
cotire vs fixes

3 years agonamespace aarch64
Peter Foley [Sat, 14 May 2016 03:58:55 +0000 (23:58 -0400)]
namespace aarch64

3 years agocotire
Peter Foley [Fri, 13 May 2016 21:57:41 +0000 (17:57 -0400)]
cotire

3 years agowarnings
Peter Foley [Fri, 13 May 2016 22:15:43 +0000 (18:15 -0400)]
warnings

3 years agoreduce warning spam from system headers
Peter Foley [Fri, 6 May 2016 20:01:38 +0000 (16:01 -0400)]
reduce warning spam from system headers

3 years agoadd appveyor config
Peter Foley [Fri, 6 May 2016 14:54:43 +0000 (10:54 -0400)]
add appveyor config

3 years agoupdate gitignore
Peter Foley [Fri, 6 May 2016 15:17:23 +0000 (11:17 -0400)]
update gitignore

3 years agofix warning 14/head
Peter Foley [Thu, 30 Jun 2016 17:07:40 +0000 (13:07 -0400)]
fix warning

3 years agocleanup DyninstRT cmake configuration
Peter Foley [Sat, 21 May 2016 20:35:13 +0000 (16:35 -0400)]
cleanup DyninstRT cmake configuration

3 years agoFix even more warnings
Peter Foley [Thu, 30 Jun 2016 16:18:05 +0000 (12:18 -0400)]
Fix even more warnings

3 years agoremove dead code
Peter Foley [Thu, 30 Jun 2016 15:11:57 +0000 (11:11 -0400)]
remove dead code

3 years agofix warnings
Peter Foley [Wed, 25 May 2016 17:33:32 +0000 (13:33 -0400)]
fix warnings

3 years agowarnings
Peter Foley [Fri, 13 May 2016 22:15:43 +0000 (18:15 -0400)]
warnings

3 years agoFix warnings
Peter Foley [Thu, 5 May 2016 03:22:16 +0000 (23:22 -0400)]
Fix warnings

3 years agoregenerate dynC lexer/parser
Peter Foley [Thu, 5 May 2016 03:42:42 +0000 (23:42 -0400)]
regenerate dynC lexer/parser

3 years agosymtabAPI: use the known type for new relocations
Josh Stone [Thu, 18 Aug 2016 00:20:54 +0000 (17:20 -0700)]
symtabAPI: use the known type for new relocations

In emitElf::createRelocationSections(), new relocations were calling
getGlobalRelType to determine their type.  However, this didn't take the
symbol type into account, so functions on PPC64 were getting GLOB_DAT
instead of JMP_SLOT, and they didn't work at all when called.

Each new relocationEntry already knows its type, so use getRelType().

3 years agoMerge pull request #155 from dyninst/sfm/feature/interproc_analysis
morehouse [Thu, 18 Aug 2016 14:31:30 +0000 (09:31 -0500)]
Merge pull request #155 from dyninst/sfm/feature/interproc_analysis

Sfm/feature/interproc analysis

3 years agoAllow BPatch_function::findPoint on uninstrumentable functions. 155/head
Matt Morehouse [Wed, 17 Aug 2016 19:07:33 +0000 (14:07 -0500)]
Allow BPatch_function::findPoint on uninstrumentable functions.

findPoint is useful for interprocedural analysis in StackMod, even
if the function passed in is uninstrumentable.

3 years agoImplement interprocedural analysis for StackMod.
Matt Morehouse [Wed, 17 Aug 2016 19:05:17 +0000 (14:05 -0500)]
Implement interprocedural analysis for StackMod.

Sort the call graph topologically, and then generate function
summaries in a bottom-up fashion, plugging in the summaries at
call sites during StackAnalysis.

3 years agoMerge pull request #154 from dyninst/release9.2/fixes/dwarfwalker_assert
morehouse [Wed, 17 Aug 2016 15:34:10 +0000 (10:34 -0500)]
Merge pull request #154 from dyninst/release9.2/fixes/dwarfwalker_assert

Remove unnecessary assert from dwarfWalker.  Fixes #152.

3 years agoRemove unnecessary assert from dwarfWalker. Fixes #152. 154/head
Matt Morehouse [Wed, 17 Aug 2016 14:40:53 +0000 (09:40 -0500)]
Remove unnecessary assert from dwarfWalker.  Fixes #152.

3 years agoAssume XMM registers contain floating-point values.
Matt Morehouse [Thu, 14 Jul 2016 14:20:26 +0000 (09:20 -0500)]
Assume XMM registers contain floating-point values.

3 years agoStop following catch edges during stack analysis.
Matt Morehouse [Thu, 14 Jul 2016 14:01:29 +0000 (09:01 -0500)]
Stop following catch edges during stack analysis.

Following catch edges results in garbage stack analysis results
since our current CFGs simply place catch edges at exit points of
the function.  In reality such edges do not exist.

3 years agoRemove EDX from x86 return registers.
Matt Morehouse [Thu, 14 Jul 2016 13:45:57 +0000 (08:45 -0500)]
Remove EDX from x86 return registers.

While RDX is considered a secondary return register in x86_64, EDX
is not considered a secondary return register in x86.