dyninst.git
2 years agomake stackwalk build on x64
Peter Foley [Mon, 4 Jul 2016 17:58:22 +0000 (13:58 -0400)]
make stackwalk build on x64

2 years agomake proccontrol build on x64
Peter Foley [Mon, 4 Jul 2016 17:57:53 +0000 (13:57 -0400)]
make proccontrol build on x64

2 years agomake dyninstAPT_RT build on x64
Peter Foley [Mon, 4 Jul 2016 17:43:36 +0000 (13:43 -0400)]
make dyninstAPT_RT build on x64

2 years agomake Address portable
Peter Foley [Mon, 4 Jul 2016 17:25:20 +0000 (13:25 -0400)]
make Address portable

2 years agoMerge pull request #225 from dyninst/origin-master
Bill Williams [Thu, 10 Nov 2016 22:03:39 +0000 (16:03 -0600)]
Merge pull request #225 from dyninst/origin-master

LibraryTracker documentation

2 years agoMerge pull request #214 from cuviper/attach-thread-sync
Bill Williams [Thu, 10 Nov 2016 21:07:42 +0000 (15:07 -0600)]
Merge pull request #214 from cuviper/attach-thread-sync

proccontrol: Synchronize additional threads found during attach

2 years agoLibraryTracker documentation 225/head
Bill Williams [Wed, 9 Nov 2016 17:31:16 +0000 (11:31 -0600)]
LibraryTracker documentation

2 years agoproccontrol: move thread sync to linux_process, and count neonatal 214/head
Josh Stone [Thu, 10 Nov 2016 02:13:28 +0000 (18:13 -0800)]
proccontrol: move thread sync to linux_process, and count neonatal

2 years agofix AddressRange forward declarations
Peter Foley [Sun, 6 Nov 2016 16:35:19 +0000 (11:35 -0500)]
fix AddressRange forward declarations

2 years agoFix warnings
Peter Foley [Sun, 6 Nov 2016 04:41:59 +0000 (00:41 -0400)]
Fix warnings

2 years agoproccontrol: Synchronize additional threads found during attach
Josh Stone [Sat, 5 Nov 2016 01:31:28 +0000 (18:31 -0700)]
proccontrol: Synchronize additional threads found during attach

When additional threads are found during the attach process, we should
synchronize to their stopping point, and check for new threads again,
until no new threads are found.  This keeps a more consistent state if
threads are racing to start while we're attaching.

2 years agocommon: include ostream in IBSTree.h
Josh Stone [Fri, 4 Nov 2016 19:06:31 +0000 (12:06 -0700)]
common: include ostream in IBSTree.h

It's needed to solve this error with GCC 6.2:

common/h/IBSTree.h:138:32: error: ‘endl’ is not a member of ‘std’
         stream << node.val_ << std::endl;
                                ^~~

2 years agoFix for decoding error in register based load/store instructions
Sunny Shah [Fri, 4 Nov 2016 17:14:35 +0000 (12:14 -0500)]
Fix for decoding error in register based load/store instructions

The shift amount for the second source register in load/store (register)
instructions should depend only on the value of the 'S' field.

2 years agoMerge pull request #171 from pefoley2/lto
Bill Williams [Fri, 4 Nov 2016 15:56:18 +0000 (10:56 -0500)]
Merge pull request #171 from pefoley2/lto

Support building with LTO

2 years agoMerge pull request #212 from cuviper/fix_pc_thread_disappears
Bill Williams [Thu, 3 Nov 2016 21:03:20 +0000 (16:03 -0500)]
Merge pull request #212 from cuviper/fix_pc_thread_disappears

Fix errors when thread disappears during attach

2 years agoMerge pull request #135 from dyninst/release9.2/fixes/line_info
Bill Williams [Thu, 3 Nov 2016 21:02:00 +0000 (16:02 -0500)]
Merge pull request #135 from dyninst/release9.2/fixes/line_info

Line info optimizations

2 years agoRemove redundant stream operator definitions to make CLang happy 135/head
Bill Williams [Wed, 2 Nov 2016 16:38:45 +0000 (11:38 -0500)]
Remove redundant stream operator definitions to make CLang happy

2 years agoCleanup to get test suite building and passing locally (including some de-confusing...
Bill Williams [Tue, 1 Nov 2016 18:07:04 +0000 (13:07 -0500)]
Cleanup to get test suite building and passing locally (including some de-confusing of stream operators).

2 years agoAdd missing #include from SymReader changes.
Bill Williams [Mon, 31 Oct 2016 16:45:14 +0000 (11:45 -0500)]
Add missing #include from SymReader changes.

2 years agoRevert to dumb pointers for compatibility within line info interfaces, but add Ptr...
Bill Williams [Thu, 27 Oct 2016 21:51:42 +0000 (16:51 -0500)]
Revert to dumb pointers for compatibility within line info interfaces, but add Ptr/ConstPtr typedefs.

2 years agoDisable multi-index serialization so we'll actually link.
Bill Williams [Thu, 27 Oct 2016 17:03:24 +0000 (12:03 -0500)]
Disable multi-index serialization so we'll actually link.

2 years agoSet boost lib layout to system--we're building one set of static libs to link in...
Bill Williams [Thu, 27 Oct 2016 16:27:40 +0000 (11:27 -0500)]
Set boost lib layout to system--we're building one set of static libs to link in invisibly, and they should match the Dyninst toolchain.

2 years agoExplicitly link Symtab against Boost libs
Bill Williams [Wed, 26 Oct 2016 17:12:34 +0000 (12:12 -0500)]
Explicitly link Symtab against Boost libs

2 years agoDisable boost auto-link on Windows and have it always manually link (only).
Bill Williams [Mon, 31 Oct 2016 16:01:46 +0000 (11:01 -0500)]
Disable boost auto-link on Windows and have it always manually link (only).

2 years agoTweak boost as external project settings
Bill Williams [Tue, 25 Oct 2016 16:18:35 +0000 (11:18 -0500)]
Tweak boost as external project settings

2 years agoAdd IDE directory to gitignore
Bill Williams [Mon, 24 Oct 2016 21:49:46 +0000 (16:49 -0500)]
Add IDE directory to gitignore

2 years agoRemove IDE files from repo
Bill Williams [Mon, 24 Oct 2016 21:49:13 +0000 (16:49 -0500)]
Remove IDE files from repo

2 years agoImplement symreader dependency on Windows
Bill Williams [Mon, 24 Oct 2016 18:06:50 +0000 (13:06 -0500)]
Implement symreader dependency on Windows

2 years agoMake parseLineInfoForCU accessible (though it's not used for PE files at present)
Bill Williams [Thu, 20 Oct 2016 21:42:06 +0000 (16:42 -0500)]
Make parseLineInfoForCU accessible (though it's not used for PE files at present)

2 years agoCleanup
Bill Williams [Thu, 20 Oct 2016 16:21:34 +0000 (11:21 -0500)]
Cleanup

2 years agoDisable boost's variadic templates under MSVC, as they're known buggy on some versions.
Bill Williams [Thu, 20 Oct 2016 16:18:27 +0000 (11:18 -0500)]
Disable boost's variadic templates under MSVC, as they're known buggy on some versions.

2 years agoStream out module low/high addresses, not function pointers (which breaks clang,...
Bill Williams [Wed, 19 Oct 2016 21:39:23 +0000 (16:39 -0500)]
Stream out module low/high addresses, not function pointers (which breaks clang, in addition to being wrong).

2 years agoMore Windows cleanup
Bill Williams [Wed, 19 Oct 2016 21:13:57 +0000 (16:13 -0500)]
More Windows cleanup

2 years agoName fix for Windows
Bill Williams [Wed, 19 Oct 2016 20:55:04 +0000 (15:55 -0500)]
Name fix for Windows

2 years agoCode cleanup: we don't need to handle the cases where there's no module range info.
Bill Williams [Wed, 19 Oct 2016 20:10:23 +0000 (15:10 -0500)]
Code cleanup: we don't need to handle the cases where there's no module range info.

2 years agoInterval refactoring.
Bill Williams [Thu, 13 Oct 2016 16:59:40 +0000 (11:59 -0500)]
Interval refactoring.

2 years agoCleanup
Bill Williams [Mon, 10 Oct 2016 16:58:13 +0000 (11:58 -0500)]
Cleanup

2 years agoRefactor module lookup implementation
Bill Williams [Fri, 30 Sep 2016 21:09:34 +0000 (16:09 -0500)]
Refactor module lookup implementation
Remove dead code
Fix up default module construction

2 years agoReplace all object-elf arch_foo defines with dynamic architecture detection.
Bill Williams [Fri, 30 Sep 2016 21:01:17 +0000 (16:01 -0500)]
Replace all object-elf arch_foo defines with dynamic architecture detection.

2 years agoDwarfWalker cleanup
Bill Williams [Fri, 30 Sep 2016 20:59:25 +0000 (15:59 -0500)]
DwarfWalker cleanup

2 years agoAdd pure multi-index container implementation of fast interval-based lookup.
Bill Williams [Fri, 30 Sep 2016 20:52:30 +0000 (15:52 -0500)]
Add pure multi-index container implementation of fast interval-based lookup.

2 years agoInterfaces to byte-swap ElfData buffers between file and memory order.
Bill Williams [Mon, 26 Sep 2016 15:57:18 +0000 (10:57 -0500)]
Interfaces to byte-swap ElfData buffers between file and memory order.

2 years agoSecondary fix for bad inline filenames
Bill Williams [Thu, 22 Sep 2016 21:29:51 +0000 (16:29 -0500)]
Secondary fix for bad inline filenames
Ensures that we're not doing bad partial initialization of string tables by being over-lazy

2 years agoEnsure default module goes at the beginning of _mods so we can avoid lookup-by-name.
Bill Williams [Mon, 19 Sep 2016 21:01:12 +0000 (16:01 -0500)]
Ensure default module goes at the beginning of _mods so we can avoid lookup-by-name.

2 years agoBuild fixup
Bill Williams [Mon, 19 Sep 2016 21:00:51 +0000 (16:00 -0500)]
Build fixup

2 years agoClean up stream operators: warnings, template vs. std::ostream
Bill Williams [Tue, 13 Sep 2016 19:27:01 +0000 (14:27 -0500)]
Clean up stream operators: warnings, template vs. std::ostream

2 years agoFactor out arange parsing and avoid early exit if it's absent
Bill Williams [Tue, 13 Sep 2016 19:26:17 +0000 (14:26 -0500)]
Factor out arange parsing and avoid early exit if it's absent

2 years agoRemove dead code
Bill Williams [Tue, 13 Sep 2016 19:24:58 +0000 (14:24 -0500)]
Remove dead code

2 years agoFix signed/unsigned warning
Bill Williams [Tue, 13 Sep 2016 19:24:22 +0000 (14:24 -0500)]
Fix signed/unsigned warning

2 years agoCleanup so we build cleanly under boost 1.41/gcc 4.4 again.
Bill Williams [Thu, 8 Sep 2016 20:44:05 +0000 (15:44 -0500)]
Cleanup so we build cleanly under boost 1.41/gcc 4.4 again.

2 years agoAdded interface for line info find-with-hint.
Bill Williams [Wed, 7 Sep 2016 18:25:12 +0000 (13:25 -0500)]
Added interface for line info find-with-hint.
Fixed dwarfWalker bug where we doubled up on compensating for one-based indexing.
dwarfWalker now uses/fills a Module's stringtable directly.
StringTables now streamable for debugging.
Inlines use string table entries for filenames.

2 years agoAssorted cleanup. Fixed infinite loop in IBSTree_fast::find.
Bill Williams [Tue, 6 Sep 2016 15:54:13 +0000 (10:54 -0500)]
Assorted cleanup. Fixed infinite loop in IBSTree_fast::find.

2 years agoLine info fixes: nwchem is now running clean. There's a good bit of room for performa...
Bill Williams [Thu, 1 Sep 2016 19:33:21 +0000 (14:33 -0500)]
Line info fixes: nwchem is now running clean. There's a good bit of room for performance improvements (notably in ensuring that we don't have redundant module intervals).

2 years agoLots of refactoring and some optimizations. We're not saving space or time anymore...
Bill Williams [Fri, 26 Aug 2016 22:46:21 +0000 (17:46 -0500)]
Lots of refactoring and some optimizations. We're not saving space or time anymore but at least it's clean and we're only missing ~10k entries (down from ~100k) on nwchem.

2 years agoGut RangeLookup and replace with boost::multi_index_container as our line information...
Bill Williams [Thu, 25 Aug 2016 21:33:54 +0000 (16:33 -0500)]
Gut RangeLookup and replace with boost::multi_index_container as our line information implementation. Still has some obvious performance problems, but appears to work.

2 years agoMake interval trees containers
Bill Williams [Thu, 25 Aug 2016 21:32:17 +0000 (16:32 -0500)]
Make interval trees containers

2 years agoAdded find and lower_bound to RangeLookup.
Bill Williams [Tue, 16 Aug 2016 18:09:53 +0000 (13:09 -0500)]
Added find and lower_bound to RangeLookup.

2 years agoRestore old findModuleByOffset interface in parallel with the new one.
Bill Williams [Mon, 15 Aug 2016 19:32:51 +0000 (14:32 -0500)]
Restore old findModuleByOffset interface in parallel with the new one.

2 years agoMany fixes and optimizations--mostly, moving the interval trees for module ranges...
Bill Williams [Fri, 12 Aug 2016 16:05:35 +0000 (11:05 -0500)]
Many fixes and optimizations--mostly, moving the interval trees for module ranges from one per module to one per symtab with a pointer to the module.

2 years agoInitialize DIE to NULL, rather than default constructing, so it's checkable.
Bill Williams [Wed, 10 Aug 2016 18:55:40 +0000 (13:55 -0500)]
Initialize DIE to NULL, rather than default constructing, so it's checkable.

2 years agoRemove dead file from CMakeLists.
Bill Williams [Fri, 29 Jul 2016 19:31:40 +0000 (14:31 -0500)]
Remove dead file from CMakeLists.

2 years agoCache module DIEs and build ranges as interval trees.
Bill Williams [Fri, 29 Jul 2016 19:31:24 +0000 (14:31 -0500)]
Cache module DIEs and build ranges as interval trees.

2 years agoWarning cleanup.
Bill Williams [Wed, 13 Jul 2016 18:44:45 +0000 (13:44 -0500)]
Warning cleanup.

2 years agoReplace individual linesrc calls with srcfiles, allowing libdwarf to allocate once...
Bill Williams [Tue, 12 Jul 2016 21:00:12 +0000 (16:00 -0500)]
Replace individual linesrc calls with srcfiles, allowing libdwarf to allocate once and us to do lookups by index rather than strcmp.

2 years agoReplace iterative dealloc with dwarf_srclines_dealloc, which should avoid certain...
Bill Williams [Tue, 12 Jul 2016 20:09:50 +0000 (15:09 -0500)]
Replace iterative dealloc with dwarf_srclines_dealloc, which should avoid certain leaks that were inherent in the iterative style.

2 years agoMake Statement's filenames const char* pointing into the string table, not just LineI...
Bill Williams [Tue, 12 Jul 2016 18:58:47 +0000 (13:58 -0500)]
Make Statement's filenames const char* pointing into the string table, not just LineInformation's copies of same.

2 years agoRename emitElf64, fix 32-bit build
Bill Williams [Thu, 2 Jun 2016 16:47:30 +0000 (11:47 -0500)]
Rename emitElf64, fix 32-bit build

2 years agofixes 171/head
Peter Foley [Sun, 15 May 2016 01:08:30 +0000 (21:08 -0400)]
fixes

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

2 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]

2 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

2 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

2 years agoproccontrol: refactor plat_getOSRunningStates 212/head
Josh Stone [Sat, 29 Oct 2016 01:09:16 +0000 (18:09 -0700)]
proccontrol: refactor plat_getOSRunningStates

- The file is now opened with ifstream for RAII.
- The former paren_level logic is removed to instead scan for ") R ".
  (If there were parens in the command, they might not be balanced!)

2 years agoFix errors when thread disappears during attach 211/head
Matthew LeGendre [Tue, 25 Oct 2016 23:13:05 +0000 (16:13 -0700)]
Fix errors when thread disappears during attach

2 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