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

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

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

2 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

2 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

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

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

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

2 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

2 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

2 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

2 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

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

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

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

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

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

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

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

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

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

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

2 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

2 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

2 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

2 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

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

2 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

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

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

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

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

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

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

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