dyninst.git
3 years agoFix writable string warning
Peter Foley [Mon, 21 Nov 2016 08:14:20 +0000 (03:14 -0500)]
Fix writable string warning

C.y:43:25: warning: ISO C++ forbids converting a string constant to
‘char*’ [-Wwrite-strings]

3 years agoremove trailing whitespace
Peter Foley [Mon, 21 Nov 2016 08:13:37 +0000 (03:13 -0500)]
remove trailing whitespace

3 years agodisable cmake boost debugging by default
Peter Foley [Mon, 21 Nov 2016 07:39:32 +0000 (02:39 -0500)]
disable cmake boost debugging by default

3 years agofix cmake warning
Peter Foley [Mon, 21 Nov 2016 07:39:15 +0000 (02:39 -0500)]
fix cmake warning

3 years agoMerge pull request #205 from dyninst/dync_windows
Bill Williams [Tue, 15 Nov 2016 22:43:38 +0000 (15:43 -0700)]
Merge pull request #205 from dyninst/dync_windows

Make dynC work on windows

3 years agoMerge pull request #231 from cuviper/constrain-trymmap-master
Bill Williams [Tue, 15 Nov 2016 18:01:53 +0000 (11:01 -0700)]
Merge pull request #231 from cuviper/constrain-trymmap-master

RT: trymmap should retry if the result is out of range

3 years agoRT: trymmap should retry if the result is out of range 231/head
Josh Stone [Fri, 9 Sep 2016 21:27:49 +0000 (14:27 -0700)]
RT: trymmap should retry if the result is out of range

An address passed to `mmap` is just taken as a hint, and the OS may
return something wildly different if that address is not available.
This is undesirable when we're trying to create a constrained alloc.

Now we will check that the address is in the requested range before
accepting it.  Otherwise, unmap it and try a new hint.

3 years agoMerge pull request #186 from dyninst/release9.2/fixes/eh_frame_rewriting
Bill Williams [Mon, 14 Nov 2016 18:11:24 +0000 (11:11 -0700)]
Merge pull request #186 from dyninst/release9.2/fixes/eh_frame_rewriting

Exception frame rewriting fixes

3 years agoException rewriting tests passing 186/head
John Detter [Fri, 11 Nov 2016 20:22:13 +0000 (14:22 -0600)]
Exception rewriting tests passing

3 years agoMerge pull request #226 from dyninst/origin-master
Bill Williams [Fri, 11 Nov 2016 16:57:15 +0000 (10:57 -0600)]
Merge pull request #226 from dyninst/origin-master

line info bugfixes

3 years agoMerge pull request #206 from dyninst/icc_flags
Bill Williams [Fri, 11 Nov 2016 16:56:48 +0000 (10:56 -0600)]
Merge pull request #206 from dyninst/icc_flags

Fix icc warning flags

3 years agoMerge pull request #182 from rafzi/pr3_arch_from_elf
Bill Williams [Fri, 11 Nov 2016 16:56:39 +0000 (10:56 -0600)]
Merge pull request #182 from rafzi/pr3_arch_from_elf

Determine the architecture of an ELF by looking at the file header in…

3 years agoRegenerate flex/bison files to fix build on windows. 205/head
Peter Foley [Fri, 1 Jul 2016 23:30:22 +0000 (19:30 -0400)]
Regenerate flex/bison files to fix build on windows.

3 years agodynC for Windows
Peter Foley [Fri, 1 Jul 2016 18:27:32 +0000 (14:27 -0400)]
dynC for Windows

3 years agoMerge remote-tracking branch 'upstream/release9.2/fixes/object-elf-arch-defs' into... 182/head
Rafael Stahl [Thu, 10 Nov 2016 23:08:53 +0000 (00:08 +0100)]
Merge remote-tracking branch 'upstream/release9.2/fixes/object-elf-arch-defs' into pr3_arch_from_elf

Conflicts:
symtabAPI/src/Object-elf.C

3 years agoObject-nt: implement getArch
Rafael Stahl [Wed, 28 Sep 2016 14:33:29 +0000 (16:33 +0200)]
Object-nt: implement getArch

3 years agoObject-nt: Fix member function constness
Rafael Stahl [Sun, 25 Sep 2016 19:26:37 +0000 (21:26 +0200)]
Object-nt: Fix member function constness

3 years agoDetermine the architecture of an ELF by looking at the file header instead of the...
Rafael Stahl [Sun, 25 Sep 2016 19:05:11 +0000 (21:05 +0200)]
Determine the architecture of an ELF by looking at the file header instead of the compiled architecture

3 years agoMerge remote-tracking branch 'origin/origin-master' into origin-master 226/head
Bill Williams [Thu, 10 Nov 2016 22:32:35 +0000 (16:32 -0600)]
Merge remote-tracking branch 'origin/origin-master' into origin-master

3 years agoSafeguard against infinite loop
Bill Williams [Thu, 10 Nov 2016 21:30:43 +0000 (15:30 -0600)]
Safeguard against infinite loop

3 years agoFix for broken libelfs that can't handle translate-in-place on Elf_Data.
Bill Williams [Thu, 10 Nov 2016 20:01:07 +0000 (14:01 -0600)]
Fix for broken libelfs that can't handle translate-in-place on Elf_Data.

3 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

3 years agoSafeguard against infinite loop
Bill Williams [Thu, 10 Nov 2016 21:30:43 +0000 (15:30 -0600)]
Safeguard against infinite loop

3 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

3 years agoFix for broken libelfs that can't handle translate-in-place on Elf_Data.
Bill Williams [Thu, 10 Nov 2016 20:01:07 +0000 (14:01 -0600)]
Fix for broken libelfs that can't handle translate-in-place on Elf_Data.

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

3 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

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

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

3 years agofix icc warning flags 206/head
Peter Foley [Wed, 6 Jul 2016 13:58:54 +0000 (09:58 -0400)]
fix icc warning flags

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

3 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;
                                ^~~

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

3 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

3 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

3 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

3 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

3 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).

3 years agoException sensitive call detection now has less false positives
John Detter [Tue, 1 Nov 2016 11:20:31 +0000 (06:20 -0500)]
Exception sensitive call detection now has less false positives

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

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

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

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

3 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

3 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).

3 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

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

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

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

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

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

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

3 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).

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

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

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

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

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

3 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

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

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

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

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

3 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

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

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

3 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

3 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

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

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

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

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

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

3 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).

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

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

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

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

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

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

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

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

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

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

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

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

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

3 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

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

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

3 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

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.