dyninst.git
2 years agoCleaning up some code. Fixing DwarfWalker::decodeExpression, and minor issues.
Sasha Nicolas [Tue, 11 Apr 2017 21:13:17 +0000 (16:13 -0500)]
Cleaning up some code. Fixing DwarfWalker::decodeExpression, and minor issues.

2 years agoEditing some verification of return values and changing some dwarf
Sasha Nicolas [Wed, 5 Apr 2017 00:51:56 +0000 (19:51 -0500)]
Editing some verification of return values and changing some dwarf
decoding code.

Editing decodeLocationList and fixing some return values verification.

2 years agoFixing some bugs. Including, among others, module language determination and parsing...
Sasha Nicolas [Wed, 29 Mar 2017 23:27:52 +0000 (18:27 -0500)]
Fixing some bugs. Including, among others, module language determination and parsing global symbol modules.

Fixing parseLineInfoForCU function. Still miss a snippet.

Fixing some logical comparisons due to diferent meaning of return status
between the libraries libdw and libdwarf.

2 years agoReplaced a bunch of asserts with graceful error handling.
Bill Williams [Thu, 2 Mar 2017 19:41:31 +0000 (13:41 -0600)]
Replaced a bunch of asserts with graceful error handling.

2 years agoUse an explicit name for anonymous unions, structs and classes
mneumann [Thu, 16 Feb 2017 10:49:18 +0000 (11:49 +0100)]
Use an explicit name for anonymous unions, structs and classes

2 years agoEnable parsing of members without location information (implicitely 0) in unions
mneumann [Tue, 14 Feb 2017 18:18:38 +0000 (19:18 +0100)]
Enable parsing of members without location information (implicitely 0) in unions

2 years agoGetting modifications from master.
Sasha Nicolas [Fri, 10 Mar 2017 22:11:20 +0000 (16:11 -0600)]
Getting modifications from master.

2 years agoFixing use of dwarf_nextcu.
Sasha Nicolas [Fri, 3 Mar 2017 02:25:08 +0000 (20:25 -0600)]
Fixing use of dwarf_nextcu.

2 years agoFixing assert.
Sasha Nicolas [Tue, 28 Feb 2017 17:33:47 +0000 (11:33 -0600)]
Fixing assert.

2 years agoAdaptations done, but remain to be fixed at some points. Dyninst is compiling.
Sasha Nicolas [Fri, 24 Feb 2017 23:45:36 +0000 (17:45 -0600)]
Adaptations done, but remain to be fixed at some points. Dyninst is compiling.

2 years agoNew changes to adapt code to libdw.
Sasha Nicolas [Fri, 24 Feb 2017 01:12:13 +0000 (19:12 -0600)]
New changes to adapt code to libdw.

2 years agoSome changes at the dwarfWalker.
Sasha Nicolas [Thu, 23 Feb 2017 04:10:44 +0000 (22:10 -0600)]
Some changes at the dwarfWalker.

2 years agoMore changes in DwarfWalker.
Sasha Nicolas [Wed, 22 Feb 2017 01:37:18 +0000 (19:37 -0600)]
More changes in DwarfWalker.

2 years agoObject-elf.C is compiling with some incomplete functions.
Sasha Nicolas [Tue, 21 Feb 2017 00:55:15 +0000 (18:55 -0600)]
Object-elf.C is compiling with some incomplete functions.

2 years agoAdapting Object-elf.C
Sasha Nicolas [Sat, 18 Feb 2017 01:27:30 +0000 (19:27 -0600)]
Adapting Object-elf.C

2 years agolibdynDwarf is compiling now.
Sasha Nicolas [Fri, 17 Feb 2017 00:05:59 +0000 (18:05 -0600)]
libdynDwarf is compiling now.

2 years agoFixing indentation
Sasha Nicolas [Tue, 14 Feb 2017 22:11:23 +0000 (16:11 -0600)]
Fixing indentation

2 years agoStarting to change the library used for dwarf parsin.
Sasha Nicolas [Mon, 13 Feb 2017 23:08:28 +0000 (17:08 -0600)]
Starting to change the library used for dwarf parsin.

2 years agoBrought issues up to date and updated changelog accordingly.
Bill Williams [Thu, 2 Mar 2017 21:38:32 +0000 (15:38 -0600)]
Brought issues up to date and updated changelog accordingly.

2 years agoIncrement version and add changelog for 9.3.1
Bill Williams [Thu, 2 Mar 2017 21:20:19 +0000 (15:20 -0600)]
Increment version and add changelog for 9.3.1

2 years agoA memory access to a known address should be considered as a variable, rather than...
Xiaozhu Meng [Thu, 23 Feb 2017 16:24:15 +0000 (10:24 -0600)]
A memory access to a known address should be considered as a variable, rather than a table read.
So, the jump table analysis should not try to read the content of the variable, but try to determine whether the variable is bounded

2 years agoarm64: set number of regs defined in beginTrackRegDefs()
Itaru Kitayama [Wed, 1 Feb 2017 07:09:11 +0000 (16:09 +0900)]
arm64: set number of regs defined in beginTrackRegDefs()

2 years agoAdd a mapping of AArch64 MachRegister to index for Linux
Itaru Kitayama [Mon, 30 Jan 2017 04:15:45 +0000 (13:15 +0900)]
Add a mapping of AArch64 MachRegister to index for Linux

2 years agoUse ifdef to guard x86 code
Itaru Kitayama [Fri, 27 Jan 2017 07:22:17 +0000 (16:22 +0900)]
Use ifdef to guard x86 code

2 years agogetOPDFunctionAddr() should always return a true value on arm64
Itaru Kitayama [Thu, 19 Jan 2017 06:35:33 +0000 (15:35 +0900)]
getOPDFunctionAddr() should always return a true value on arm64

2 years agoSuppress debug message when no vsyscall page was found on arm64
Itaru Kitayama [Wed, 18 Jan 2017 22:28:14 +0000 (07:28 +0900)]
Suppress debug message when no vsyscall page was found on arm64

2 years agomore leaks
Peter Foley [Sat, 26 Nov 2016 01:21:01 +0000 (20:21 -0500)]
more leaks

2 years agomore leak fixes
Peter Foley [Thu, 24 Nov 2016 22:06:48 +0000 (17:06 -0500)]
more leak fixes

2 years agofix more leaks
Peter Foley [Thu, 24 Nov 2016 20:49:57 +0000 (15:49 -0500)]
fix more leaks

2 years agofix memory leaks
Peter Foley [Thu, 24 Nov 2016 19:28:29 +0000 (14:28 -0500)]
fix memory leaks

2 years agoFix memory leaks in indirect control flow.
Bill Williams [Tue, 14 Feb 2017 20:05:40 +0000 (14:05 -0600)]
Fix memory leaks in indirect control flow.

2 years agoUse elfutils-dev package for travis, so that we don't have to build from scratch... 323/head
Bill Williams [Tue, 7 Feb 2017 20:22:51 +0000 (14:22 -0600)]
Use elfutils-dev package for travis, so that we don't have to build from scratch--CLang can't manage it out of the box.

2 years agoExplicitly search for libelf.so.1, as libelf.so.0 is no longer supported.
Bill Williams [Tue, 7 Feb 2017 17:11:35 +0000 (11:11 -0600)]
Explicitly search for libelf.so.1, as libelf.so.0 is no longer supported.

Only build libelf from elfutils; their dwarf.h and libdwarf's dwarf.h appear to conflict.

2 years agoRemove dead code and inappropriate use of auto in public headers
Bill Williams [Thu, 2 Feb 2017 17:29:53 +0000 (11:29 -0600)]
Remove dead code and inappropriate use of auto in public headers

2 years agoMerge pull request #314 from dyninst/release10.0.0/fixes/stackmod-disp-fixes
Bill Williams [Wed, 1 Feb 2017 22:39:30 +0000 (16:39 -0600)]
Merge pull request #314 from dyninst/release10.0.0/fixes/stackmod-disp-fixes

Displacement validation checks updated

2 years agoMerge pull request #318 from dyninst/url_libelf_update
Bill Williams [Wed, 1 Feb 2017 22:38:40 +0000 (16:38 -0600)]
Merge pull request #318 from dyninst/url_libelf_update

Changing the URL of libelf to download elfutil.

2 years agoChanging the URL of libelf to download elfutil. 318/head
Sasha Nicolas [Tue, 31 Jan 2017 19:45:08 +0000 (13:45 -0600)]
Changing the URL of libelf to download elfutil.

2 years agoFix warnings
Peter Foley [Sun, 29 Jan 2017 22:43:07 +0000 (17:43 -0500)]
Fix warnings

2 years agoMerge pull request #168 from pefoley2/types
Peter Foley [Sun, 29 Jan 2017 18:28:33 +0000 (13:28 -0500)]
Merge pull request #168 from pefoley2/types

Make dyninst compile on x64 windows

2 years agoMerge pull request #310 from dyninst/release9.3/fixes/icc_binaries
Bill Williams [Tue, 24 Jan 2017 17:03:29 +0000 (11:03 -0600)]
Merge pull request #310 from dyninst/release9.3/fixes/icc_binaries

Release9.3/fixes/icc binaries

2 years agoRemoved debug assert. 314/head
John Detter [Thu, 19 Jan 2017 16:26:09 +0000 (10:26 -0600)]
Removed debug assert.

2 years agoDisplacement validation checks updated.
John Detter [Thu, 19 Jan 2017 16:20:06 +0000 (10:20 -0600)]
Displacement validation checks updated.

2 years agoWhen dwarf_srcfiles returns no entry, we cannot call dwarf_dealloc 310/head
Xiaozhu Meng [Tue, 27 Dec 2016 20:38:55 +0000 (14:38 -0600)]
When dwarf_srcfiles returns no entry, we cannot call dwarf_dealloc

2 years agoFix icc compilation error
Xiaozhu Meng [Tue, 27 Dec 2016 20:00:55 +0000 (14:00 -0600)]
Fix icc compilation error

2 years agoLine table can exists, but does not contain any entry
Xiaozhu Meng [Tue, 27 Dec 2016 20:00:21 +0000 (14:00 -0600)]
Line table can exists, but does not contain any entry

2 years agoMerge pull request #309 from ikitayama/for-next
Xiaozhu Meng [Tue, 27 Dec 2016 19:56:15 +0000 (13:56 -0600)]
Merge pull request #309 from ikitayama/for-next

Fix test_basic test error

2 years agoCall dwarf_srcfiles properly with error argument 309/head
Itaru Kitayama [Mon, 26 Dec 2016 00:19:55 +0000 (18:19 -0600)]
Call dwarf_srcfiles properly with error argument

2 years agogetVsysInfo() return NULL on arm64 308/head
Itaru Kitayama [Sat, 24 Dec 2016 06:43:15 +0000 (00:43 -0600)]
getVsysInfo() return NULL on arm64

2 years agoMerge pull request #307 from dyninst/wrwilliams/aarch64_sw_first_party_fx v9.3.0
Bill Williams [Thu, 22 Dec 2016 21:53:54 +0000 (15:53 -0600)]
Merge pull request #307 from dyninst/wrwilliams/aarch64_sw_first_party_fx

ARM64 fixes for stack walking

2 years agoFixed bad assembly 307/head
Bill Williams [Thu, 22 Dec 2016 22:00:37 +0000 (16:00 -0600)]
Fixed bad assembly

2 years agoMerge pull request #299 from teco-kit/master
Bill Williams [Thu, 22 Dec 2016 18:16:48 +0000 (12:16 -0600)]
Merge pull request #299 from teco-kit/master

Enhance DWARF parser to recognize (and skip) DW_TAG_member entries for static fields

2 years agoGuard with cap_stack_mod
Bill Williams [Thu, 22 Dec 2016 17:58:46 +0000 (11:58 -0600)]
Guard with cap_stack_mod

2 years agoMerge pull request #306 from dyninst/wrwilliams/assignment_converter_fix
Bill Williams [Thu, 22 Dec 2016 17:41:22 +0000 (11:41 -0600)]
Merge pull request #306 from dyninst/wrwilliams/assignment_converter_fix

Update AssignmentConverter instantiation to make use of stack analysis explicit.

2 years agoUpdate AssignmentConverter instantiation to make use of stack analysis explicit. 306/head
Bill Williams [Thu, 22 Dec 2016 16:32:36 +0000 (10:32 -0600)]
Update AssignmentConverter instantiation to make use of stack analysis explicit.

2 years agoMerge pull request #302 from dyninst/wrwilliams/pcontrol_fix
Bill Williams [Wed, 21 Dec 2016 21:54:25 +0000 (15:54 -0600)]
Merge pull request #302 from dyninst/wrwilliams/pcontrol_fix

Bug fix for PR#294

2 years agoFixed heading markdown
Bill Williams [Wed, 21 Dec 2016 20:37:11 +0000 (14:37 -0600)]
Fixed heading markdown

2 years agoClean up memory leaks in binary rewriting. 302/head
Bill Williams [Wed, 21 Dec 2016 19:45:11 +0000 (13:45 -0600)]
Clean up memory leaks in binary rewriting.

2 years agoFixed parseMember to only parse members with locations; named constants (which are... 299/head
mneumann [Wed, 21 Dec 2016 17:59:26 +0000 (18:59 +0100)]
Fixed parseMember to only parse members with locations; named constants (which are fields without location) are forwarded to parseConstant

2 years agoMerge pull request #297 from dyninst/release9.3/fixes/dyninstAPI_manual
Bill Williams [Wed, 21 Dec 2016 17:22:04 +0000 (11:22 -0600)]
Merge pull request #297 from dyninst/release9.3/fixes/dyninstAPI_manual

More manual fixes

2 years agoVersion bump for release.
Bill Williams [Tue, 20 Dec 2016 20:29:39 +0000 (14:29 -0600)]
Version bump for release.

2 years agoFix non-ARM register read: the do_ptrace from PEEK* returns the value read, and a... 301/head
Bill Williams [Tue, 20 Dec 2016 20:06:23 +0000 (14:06 -0600)]
Fix non-ARM register read: the do_ptrace from PEEK* returns the value read, and a non-zero result is not an error. -1 indicates that we should check errno.

2 years agoEnhance DWARF parser to recognize (and skip) DW_TAG_member entries for static fields...
mneumann [Tue, 20 Dec 2016 10:38:24 +0000 (11:38 +0100)]
Enhance DWARF parser to recognize (and skip) DW_TAG_member entries for static fields in structs

2 years agoMerge f47d0f6d5aa5878147dac31a86eabcc22f259da2 into 348e18947cf790e5fff8405e93140487c...
Itaru Kitayama [Mon, 19 Dec 2016 22:58:17 +0000 (22:58 +0000)]
Merge f47d0f6d5aa5878147dac31a86eabcc22f259da2 into 348e18947cf790e5fff8405e93140487ce96373e

2 years agoMerge pull request #298 from teco-kit/master
Bill Williams [Mon, 19 Dec 2016 22:56:53 +0000 (16:56 -0600)]
Merge pull request #298 from teco-kit/master

Fix omitting leading 0's when concatenating hex bytes in stringstream

2 years agoMerge pull request #286 from dyninst/release9.3/fixes/test_pt_ls
Bill Williams [Mon, 19 Dec 2016 22:53:45 +0000 (16:53 -0600)]
Merge pull request #286 from dyninst/release9.3/fixes/test_pt_ls

Passing test_pt_ls (at least on RHEL7)

2 years agoTreat calls as non-sensitive in normal mode. 286/head
Bill Williams [Mon, 19 Dec 2016 21:08:30 +0000 (15:08 -0600)]
Treat calls as non-sensitive in normal mode.

2 years agoFix Windows build
Bill Williams [Mon, 19 Dec 2016 16:59:29 +0000 (10:59 -0600)]
Fix Windows build

2 years agoFixes to reduce quantity of stack analysis required (we were performing it by default...
Bill Williams [Mon, 19 Dec 2016 16:35:44 +0000 (10:35 -0600)]
Fixes to reduce quantity of stack analysis required (we were performing it by default when performing any absloc/absregion analysis) and to ensure stack analysis performed during relocation gets cleaned up afterward.

2 years agoarm64 check return value of the ptrace systemcall, not errno 294/head
Itaru Kitayama [Fri, 16 Dec 2016 12:46:43 +0000 (06:46 -0600)]
arm64 check return value of the ptrace systemcall, not errno

2 years agoBuild fixes for Windows
John Detter [Wed, 14 Dec 2016 18:28:58 +0000 (12:28 -0600)]
Build fixes for Windows

2 years agoMerge branch 'wrwilliams/rtlib_autodetect' of http://github.com/dyninst/dyninst into...
John Detter [Wed, 14 Dec 2016 17:11:14 +0000 (11:11 -0600)]
Merge branch 'wrwilliams/rtlib_autodetect' of github.com/dyninst/dyninst into release9.3/fixes/test_pt_ls

2 years agoFix omitting leading 0's when concatenating hex bytes in stringstream 298/head
mneumann [Tue, 13 Dec 2016 13:16:38 +0000 (14:16 +0100)]
Fix omitting leading 0's when concatenating hex bytes in stringstream

2 years agoAdd description for BPatch::registerDynamicCallCallback and document BPatch_point... 297/head
Xiaozhu Meng [Mon, 12 Dec 2016 19:19:39 +0000 (13:19 -0600)]
Add description for BPatch::registerDynamicCallCallback and document BPatch_point::monitorCalls and BPatch_point::stopMonitoring

2 years agoarm64 remove SYSCALL_EXIT_BREAKPOINT define and the DSIABLE_POSTONE code
Itaru Kitayama [Sat, 10 Dec 2016 07:53:58 +0000 (01:53 -0600)]
arm64 remove SYSCALL_EXIT_BREAKPOINT define and the DSIABLE_POSTONE code

2 years agoarm64: remove syscall tracing workaround
Itaru Kitayama [Sat, 10 Dec 2016 04:42:22 +0000 (22:42 -0600)]
arm64: remove syscall tracing workaround

2 years agoAdd windows-ish implementation for process-level getRTLibName. 293/head
Bill Williams [Thu, 8 Dec 2016 22:10:01 +0000 (16:10 -0600)]
Add windows-ish implementation for process-level getRTLibName.

2 years agoWarning cleanup
Bill Williams [Thu, 8 Dec 2016 21:34:54 +0000 (15:34 -0600)]
Warning cleanup

2 years agoFix statically linked rewriting crash?
Bill Williams [Thu, 8 Dec 2016 21:34:45 +0000 (15:34 -0600)]
Fix statically linked rewriting crash?

2 years agoAuto-detect RTlib name on Unix-ish based on library paths
Bill Williams [Wed, 16 Nov 2016 19:58:10 +0000 (13:58 -0600)]
Auto-detect RTlib name on Unix-ish based on library paths

2 years agoWarning cleanup
Bill Williams [Wed, 7 Dec 2016 21:56:22 +0000 (15:56 -0600)]
Warning cleanup

2 years agoMerge pull request #292 from dyninst/wrwilliams/papercuts
Bill Williams [Wed, 7 Dec 2016 21:55:02 +0000 (15:55 -0600)]
Merge pull request #292 from dyninst/wrwilliams/papercuts

Small fixes

2 years agoMerge pull request #291 from dyninst/release9.3/fixes/manuals
Bill Williams [Wed, 7 Dec 2016 21:25:17 +0000 (15:25 -0600)]
Merge pull request #291 from dyninst/release9.3/fixes/manuals

Update manual version numbers and minor fixes

2 years agoFixed build for gcc 4.4: structs can't be defined inside functions. Also removed... 292/head
Bill Williams [Wed, 7 Dec 2016 20:47:42 +0000 (14:47 -0600)]
Fixed build for gcc 4.4: structs can't be defined inside functions. Also removed lurking debug output.

2 years agoFix fencepost error in string table guard; get shared pointer once rather than at...
Bill Williams [Wed, 7 Dec 2016 20:47:01 +0000 (14:47 -0600)]
Fix fencepost error in string table guard; get shared pointer once rather than at each use so that it can't disappear mid-function by accident.

2 years agoFix crash when walking backward through blocks ending in fallthrough edges only
Bill Williams [Wed, 7 Dec 2016 20:45:56 +0000 (14:45 -0600)]
Fix crash when walking backward through blocks ending in fallthrough edges only

2 years agoUpdate manual version numbers and minor fixes 291/head
Xiaozhu Meng [Wed, 7 Dec 2016 19:43:17 +0000 (13:43 -0600)]
Update manual version numbers and minor fixes

2 years agoMerge pull request #287 from dyninst/wrwilliams/line_info
Bill Williams [Wed, 7 Dec 2016 16:55:36 +0000 (10:55 -0600)]
Merge pull request #287 from dyninst/wrwilliams/line_info

Line info cleanup

2 years agoMerge pull request #289 from dyninst/stackanalysis_safety
Bill Williams [Tue, 6 Dec 2016 22:15:11 +0000 (16:15 -0600)]
Merge pull request #289 from dyninst/stackanalysis_safety

Remove stackanalysis assertions

2 years agoWrap stackanalysis in a try-catch per function, and replace assertions with exceptions. 289/head
Bill Williams [Tue, 6 Dec 2016 19:49:33 +0000 (13:49 -0600)]
Wrap stackanalysis in a try-catch per function, and replace assertions with exceptions.

2 years agoAdd StackAnalysis handling for pushing memory values on stack.
Matt Morehouse [Mon, 5 Dec 2016 22:15:18 +0000 (16:15 -0600)]
Add StackAnalysis handling for pushing memory values on stack.

2 years agoMerge branch 'master' of https://github.com/dyninst/dyninst into release9.3/fixes...
Matt Morehouse [Mon, 5 Dec 2016 21:12:48 +0000 (15:12 -0600)]
Merge branch 'master' of https://github.com/dyninst/dyninst into release9.3/fixes/test_pt_ls

2 years agoExtract ranges from statements if all else fails. 287/head
Bill Williams [Fri, 2 Dec 2016 19:26:02 +0000 (13:26 -0600)]
Extract ranges from statements if all else fails.

2 years agoCleaned up equal_range: it *must* use boost::tuple, not std::tuple, in order to look...
Bill Williams [Fri, 2 Dec 2016 19:22:48 +0000 (13:22 -0600)]
Cleaned up equal_range: it *must* use boost::tuple, not std::tuple, in order to look up by multiple fields of a composite key, but that works.

2 years agoDwarfWalker now ignores a lowpc/highpc entry of (0,0) and hands it back as "failed...
Bill Williams [Wed, 30 Nov 2016 20:03:16 +0000 (14:03 -0600)]
DwarfWalker now ignores a lowpc/highpc entry of (0,0) and hands it back as "failed to parse"; it's never meaningful DWARF and we shouldn't pretend it is.

2 years agoAdded interface to query whether a module already has address range information,...
Bill Williams [Wed, 30 Nov 2016 20:02:06 +0000 (14:02 -0600)]
Added interface to query whether a module already has address range information, and reindented--this had become a ragged mess of 3 space/4 space/tab indents. Fixed merge issues from architecture auto-detection.

2 years agoMerge pull request #228 from mxz297/master
Bill Williams [Fri, 2 Dec 2016 21:37:55 +0000 (14:37 -0700)]
Merge pull request #228 from mxz297/master

Merge ARM instruction semantics and jump table parsing

2 years agoMerge pull request #279 from rafzi/patch-1
Bill Williams [Fri, 2 Dec 2016 19:19:48 +0000 (12:19 -0700)]
Merge pull request #279 from rafzi/patch-1

Fix dependency of LibDwarf

2 years agoMerge pull request #284 from dyninst/ppc_elf_fix
Bill Williams [Fri, 2 Dec 2016 18:13:08 +0000 (11:13 -0700)]
Merge pull request #284 from dyninst/ppc_elf_fix

Use in-place translation

2 years agoFix findMain analysis: we should analyze the first instruction before the call
Xiaozhu Meng [Fri, 2 Dec 2016 15:38:24 +0000 (09:38 -0600)]
Fix findMain analysis: we should analyze the first instruction before the call

2 years agoMerge pull request #285 from dyninst/sfm/fixes/untouched_blocks
morehouse [Thu, 1 Dec 2016 22:18:19 +0000 (16:18 -0600)]
Merge pull request #285 from dyninst/sfm/fixes/untouched_blocks

Sfm/fixes/untouched blocks