22 months agoMinor fixes to FP Stack Unwinding through Inst Frames
Benjamin Welton [Thu, 4 Oct 2018 21:43:11 +0000 (16:43 -0500)]
Minor fixes to FP Stack Unwinding through Inst Frames

Minor fixes to stack unwinding through instrimentation (applies to First Party stackwalker only).

Added additional comments to the walker to detail how it functions more clearly and what it is looking for to
accept a stack frame.

22 months agoMerge branch 'master' of github.com:dyninst/dyninst
Benjamin Welton [Wed, 3 Oct 2018 22:38:38 +0000 (17:38 -0500)]
Merge branch 'master' of github.com:dyninst/dyninst

22 months agoModification to x86 emitter to support SW out of inst frames.
Benjamin Welton [Thu, 12 Apr 2018 17:32:31 +0000 (12:32 -0500)]
Modification to x86 emitter to support SW out of inst frames.

This patch contains changes to the emitter to support first party stackwalking out of inst's frames. For inst frames to be walkable, instrimentation frames must be enabled.

The following changes were made to support this:

- Insertion of the previous SP into the stack at a known location (2 slots above the FP).
- Insertion of a special word into the stack such that stackwalker can easily identify that this frame is an inst frame (and to select the correct walker). BEEFDEAD is located at +1 slot away from FP.
- The poping of these values from the stack at frame teardown.
- Fixes to the emitter to use scratch registers where hard coded ones were present before.

Total performance impact of this patch is an extra 5 instruction. 3 on frame creation, 2 on destruction.

22 months agoNew walker to walk out of Instrimentation Frames FP
Benjamin Welton [Thu, 12 Apr 2018 17:58:17 +0000 (12:58 -0500)]
New walker to walk out of Instrimentation Frames FP

This patch contains a new walker that can walk out of inst frames in first party stackwalking mode.

For this to work, the emitter fixes located in pull request #451 must be applied. The walker itself creates
a Stackwalker frame based on the information saved by the emitter.

22 months agoMerge pull request #452 from bwelton/sw_instFrameWalker
Benjamin Welton [Tue, 2 Oct 2018 21:43:38 +0000 (16:43 -0500)]
Merge pull request #452 from bwelton/sw_instFrameWalker

New walker to walk out of Instrumentation Frames first party. Build and test suite passes (x64, ubuntu)

22 months agoMerge pull request #460 from bwelton/inst_fix
Benjamin Welton [Tue, 2 Oct 2018 17:05:00 +0000 (12:05 -0500)]
Merge pull request #460 from bwelton/inst_fix

Fix for crashing on relocating at unistrumentable points. Fix checks whether a parameter is NULL or not, if it is NULL it does not perform the instrumentation.

22 months agoImplementing BPatch_xor for POWER.
Sasha @poman [Fri, 28 Sep 2018 21:32:28 +0000 (16:32 -0500)]
Implementing BPatch_xor for POWER.

22 months agoSeparate debug info file issue fixed.
Sasha Nicolas [Mon, 24 Sep 2018 22:59:03 +0000 (17:59 -0500)]
Separate debug info file issue fixed.
A DwarfFrameParser object was not being created in the case of separate
debug info file, because libdw does not create Dwarf handles to files
that contain only .eh_frame section without .debug_*. This was causing
AST variable node to assert because the local variables did not get
location list, since .eh_frame reference was never saved for lookup.
The solution was to create a DwarfFrameParser saving not only a possible
Dwarf handle but also an Elf reference, since the .eh_frame section will
be in the main stripped binary, while the Dwarf handle will point to
the separate debug file.

23 months agoadded arithExpr xor
van Hauser [Sat, 24 Mar 2018 12:46:06 +0000 (13:46 +0100)]
added arithExpr xor
(cherry picked from commit eee4b0740bb24e07581af453392220808ac0524c)

23 months agoMerge pull request #485 from dyninst/power8_instrumentation_fix
Xiaozhu Meng [Fri, 7 Sep 2018 16:26:45 +0000 (11:26 -0500)]
Merge pull request #485 from dyninst/power8_instrumentation_fix

Power8 instrumentation fix

23 months agoRemove debugging printf statement 485/head
Xiaozhu Meng [Fri, 7 Sep 2018 16:03:51 +0000 (11:03 -0500)]
Remove debugging printf statement

23 months agoThe fixes for power preamble should not be enabled on other platforms
Xiaozhu Meng [Fri, 7 Sep 2018 15:57:49 +0000 (10:57 -0500)]
The fixes for power preamble should not be enabled on other platforms
and suppress unncessary warning output

23 months agoSetting the default value of pointers encoding
Sasha Nicolas [Thu, 6 Sep 2018 22:14:20 +0000 (17:14 -0500)]
Setting the default value of pointers encoding
in a Frame Description Entry (FDE) to be DW_EH_PE_absptr.

23 months agoFix power rewriter mode
Xiaozhu Meng [Thu, 6 Sep 2018 18:55:58 +0000 (13:55 -0500)]
Fix power rewriter mode

1. there is no longer .opd section in Power 8 binaries. We used to derived TOC for each
   function based on .opd section. Such code is outdated.
2. Fix genearting calls to PLT on power. If the caller and the callee are not in the
   same object, we need a PLT call.
3. Fix getting the same scratch registers

23 months agoFix for test1_30:
Sasha Nicolas [Wed, 5 Sep 2018 17:51:41 +0000 (12:51 -0500)]
Fix for test1_30:
this test would show PASSED but in reality the return value of the
functions getAddressRanges either in BPatch_image or BPatch_module was
false, meaning the ranges weren't being found correctly.
It turns out that the comparison between filenames was wrong.
For this fix, StringTableEntry needed to be changed in other to store the filename
without the path, and thus allow StringTable boost::multi_index_container
to be indexed by "filename" and not only by "/path/filename".

23 months agoTwo more fixes for instrumentation on power. Now all tests in create and attach modes...
Xiaozhu Meng [Wed, 5 Sep 2018 17:49:52 +0000 (12:49 -0500)]
Two more fixes for instrumentation on power. Now all tests in create and attach modes are passing.

1. call site instrumentation point should return the real function rather than the targ function
2. loop tree node should not include targ functions as callee

23 months agoMore fixes for power instrumentation
Xiaozhu Meng [Wed, 5 Sep 2018 13:24:37 +0000 (08:24 -0500)]
More fixes for power instrumentation

1. Do not relocate the power preamble by skipping the first two instructions,
   instead of comparing addresses
2. RelocGraph indexes RelocBlock by block starting address rather than
   block_instance pointers
3. Function entry springboard is now using OffLimits springboard priority,
   as it should have a higher priority than block entry springboard.

23 months ago1. Copy Ben's fix for code gen on power
Xiaozhu Meng [Mon, 3 Sep 2018 17:09:45 +0000 (12:09 -0500)]
1. Copy Ben's fix for code gen on power
2. Make sure we skip the function preamble when genearting springboard
3. Reloc block now can be empty, so should not assert

23 months agoStart to make instrumentation on Power8 work.
Xiaozhu Meng [Thu, 30 Aug 2018 18:42:26 +0000 (13:42 -0500)]
Start to make instrumentation on Power8 work.

The first issue is about the new power ABI, where each function has two entries.
The inter-procedural entry has the function name and the intra-procedural entry
does not, and so is named as targXXXX. We do two things here:
1. We should not relocate targXXXX as it is essentially the same function as the inter-procedural one.
2. The inter-procedural entry contains two preamble to set up the value of r2 (TOC). We should
   not relocate these two instructions. So, when creating a RelocBlock for such entry, we skip
   the first two instructions.

The second issue is about generating long branches. This is related to springboard
and generating function call instrumentation (as function call on power is branch).
For calls, Ben introduces the uses of TAR register to store the target address. The
power manual says TAR register is reserved for system software. We will need to
revisit the use of TAR register. For long springboard, right now we cannot create an
instPoint to do liveness. So, long springboards are now done by traps.

23 months agoPower8 does not necessary have the .opd section
Xiaozhu Meng [Tue, 28 Aug 2018 14:50:15 +0000 (09:50 -0500)]
Power8 does not necessary have the .opd section

23 months agoThe instruction semantics code for push should consider different
Xiaozhu Meng [Mon, 27 Aug 2018 15:29:57 +0000 (10:29 -0500)]
The instruction semantics code for push should consider different
register sizes

23 months agoShould prefer CU level line info parsing over object level line info
Xiaozhu Meng [Fri, 24 Aug 2018 20:31:45 +0000 (15:31 -0500)]
Should prefer CU level line info parsing over object level line info
parsing when there is a seperate debug info file

23 months agoWhen the ".debug_info" section is not present, we do object level line
Xiaozhu Meng [Fri, 24 Aug 2018 16:45:22 +0000 (11:45 -0500)]
When the ".debug_info" section is not present, we do object level line
infomation parsing. However, when we iterate every module in the object,
we will re-parse the line information for the whole object. We should
just parse once and share the parsing results in different modules.

23 months agoFix wrong register operands in x86-64 instruction decoding
Xiaozhu Meng [Thu, 23 Aug 2018 15:51:29 +0000 (10:51 -0500)]
Fix wrong register operands in x86-64 instruction decoding

23 months agoMerge pull request #463 from dyninst/vector_categories
Xiaozhu Meng [Wed, 22 Aug 2018 14:24:34 +0000 (09:24 -0500)]
Merge pull request #463 from dyninst/vector_categories

Vector categories merge into master

23 months ago1. The FULL register size must have value 0 due to the way we calculate 463/head
Xiaozhu Meng [Wed, 22 Aug 2018 00:59:44 +0000 (19:59 -0500)]
1. The FULL register size must have value 0 due to the way we calculate
base registers.
2. Update liveness for the value changes

2 years agoadd debugging support to LineInformation
John Mellor-Crummey [Tue, 17 Oct 2017 17:22:44 +0000 (12:22 -0500)]
add debugging support to LineInformation

2 years agoadd debugging support to Symtab interface
John Mellor-Crummey [Tue, 17 Oct 2017 17:19:37 +0000 (12:19 -0500)]
add debugging support to Symtab interface

use new IBSTree dumping functionality to dump function and
module ranges.

2 years agoadd debugging support to IBSTree.h
John Mellor-Crummey [Tue, 17 Oct 2017 16:48:10 +0000 (11:48 -0500)]
add debugging support to IBSTree.h

2 years agocorrect dwarf debug printing
John Mellor-Crummey [Wed, 18 Oct 2017 15:48:34 +0000 (10:48 -0500)]
correct dwarf debug printing

in dwarfWalker::setFuncFromLowest, set the current function
before calling dwarf_printf so that curFunc() in the
dwarf_printf sees the function just found

(cherry picked from commit a786739e5369b79ff6823cf742042c9f2d874765)

2 years agoupdate line map reader based on dwarf_next_lines
John Mellor-Crummey [Sat, 30 Jun 2018 17:58:19 +0000 (12:58 -0500)]
update line map reader based on dwarf_next_lines

integrate changes in master's parseLineMapInfoForCU that
avoid missing line map entries into new line map parser
based on elfutils 0.173 that uses dwarf_next_lines for
binaries that lack a .debug_info section

2 years agoremove old line map parsing code
John Mellor-Crummey [Sat, 30 Jun 2018 16:41:53 +0000 (11:41 -0500)]
remove old line map parsing code

2 years agofix line map parsing to avoid omissions
John Mellor-Crummey [Sat, 30 Jun 2018 16:39:42 +0000 (11:39 -0500)]
fix line map parsing to avoid omissions

2 years agouse dwarf_next_lines to read .debug_line without .debug_info
John Mellor-Crummey [Fri, 29 Jun 2018 19:33:08 +0000 (14:33 -0500)]
use dwarf_next_lines to read .debug_line without .debug_info

2 years agohandle empty DebugSectionMap
John Mellor-Crummey [Sat, 2 Jun 2018 18:06:11 +0000 (13:06 -0500)]
handle empty DebugSectionMap

2 years agoavoid infinite loop on bad DWARF CFI record
John Mellor-Crummey [Fri, 1 Jun 2018 23:35:54 +0000 (18:35 -0500)]
avoid infinite loop on bad DWARF CFI record

2 years agoMerge branch 'master' of https://github.com/dyninst/dyninst
Sasha Nicolas [Tue, 10 Jul 2018 17:52:12 +0000 (12:52 -0500)]
Merge branch 'master' of https://github.com/dyninst/dyninst

2 years agoChanging URL of Elfutils to always download the lastest released version.
Sasha Nicolas [Tue, 10 Jul 2018 17:46:04 +0000 (12:46 -0500)]
Changing URL of Elfutils to always download the lastest released version.

2 years agoMerge pull request #469 from rafzi/upstream
Sasha NĂ­colas [Fri, 29 Jun 2018 23:41:55 +0000 (18:41 -0500)]
Merge pull request #469 from rafzi/upstream

symtab: fix memory error in Statement::getFile

2 years agosymtab: fix memory error in Statement::getFile 469/head
Rafael Stahl [Tue, 19 Jun 2018 15:24:19 +0000 (17:24 +0200)]
symtab: fix memory error in Statement::getFile

2 years agoFix register sizes in InstructionAPI
Xiaozhu Meng [Wed, 6 Jun 2018 20:37:40 +0000 (15:37 -0500)]
Fix register sizes in InstructionAPI

2 years agoMerge branch 'github_master' into vector_categories
Xiaozhu Meng [Wed, 6 Jun 2018 19:40:26 +0000 (14:40 -0500)]
Merge branch 'github_master' into vector_categories

2 years agoFix bit-size for YMM and ZMM registers
Xiaozhu Meng [Wed, 6 Jun 2018 19:39:16 +0000 (14:39 -0500)]
Fix bit-size for YMM and ZMM registers

2 years agoFixing parsing of try/catch blocks.
Sasha Nicolas [Wed, 30 May 2018 01:33:15 +0000 (20:33 -0500)]
Fixing parsing of try/catch blocks.
The FDEs were not necessarily following the CIE, as the format says.
In the ARM binary, because there were FDEs with different CIEs mixed together
we were ignoring FDEs whose CIE had past or whose CIE's reference had changed.

2 years agoFix: parsing .eh_frame on binaries without .debug_frame.
Sasha Nicolas [Thu, 24 May 2018 01:30:27 +0000 (20:30 -0500)]
Fix: parsing .eh_frame on binaries without .debug_frame.

2 years agoFixing the calculation of offset for FDE augmentation data.
Sasha Nicolas [Fri, 13 Oct 2017 21:16:34 +0000 (16:16 -0500)]
Fixing the calculation of offset for FDE augmentation data.

(cherry picked from commit 0780fb7bd7371acea691110826718f810c1f3dd4)

2 years agoMerge branch 'master' of https://github.com/dyninst/dyninst
Sasha Nicolas [Wed, 23 May 2018 17:46:04 +0000 (12:46 -0500)]
Merge branch 'master' of https://github.com/dyninst/dyninst

2 years agoFix for crashing on relocating at unistrumentable points 460/head
Benjamin Welton [Tue, 1 May 2018 15:19:42 +0000 (10:19 -0500)]
Fix for crashing on relocating at unistrumentable points

This fix is to address issue #455. When an unistrimentable point is selected for instrimenation
the behaviour Dyninst will now exhibit is the following:

1. InsertSnippet will return NULL if not in an insertion set and an illegal when parameter is used

2. If in an insertion set, InsertSnippet will return an object to the instrimentation. However when the set
   is closed the insertion of that point will fail. It will either fail and continue to the next point (if
   the insertion set closure is set to continue past errors) or roll back all prior insertions.

2 years agoMerge pull request #430 from jmellorcrummey/master
Xiaozhu Meng [Tue, 17 Apr 2018 20:05:03 +0000 (15:05 -0500)]
Merge pull request #430 from jmellorcrummey/master

add missing initialization for flags when Elf_X is a memory image

2 years agoMerge pull request #445 from stanfordcox/irelative
Xiaozhu Meng [Tue, 17 Apr 2018 19:34:08 +0000 (14:34 -0500)]
Merge pull request #445 from stanfordcox/irelative

Remove unused rpc/xdr references.

2 years agoNew walker to walk out of Instrimentation Frames FP 452/head
Benjamin Welton [Thu, 12 Apr 2018 17:58:17 +0000 (12:58 -0500)]
New walker to walk out of Instrimentation Frames FP

This patch contains a new walker that can walk out of inst frames in first party stackwalking mode.

For this to work, the emitter fixes located in pull request #451 must be applied. The walker itself creates
a Stackwalker frame based on the information saved by the emitter.

2 years agoCorrecting declaration of variable for the value of DW_AT_comp_dir of Modules.
Sasha Nicolas [Wed, 4 Apr 2018 22:58:11 +0000 (17:58 -0500)]
Correcting declaration of variable for the value of DW_AT_comp_dir of Modules.

2 years agoMerge branch 'sasha/dwarf-absolute-filenames'
Sasha Nicolas [Sat, 31 Mar 2018 00:42:15 +0000 (19:42 -0500)]
Merge branch 'sasha/dwarf-absolute-filenames'

2 years agoAdding getCompDir method to Module.
Sasha Nicolas [Sat, 31 Mar 2018 00:37:56 +0000 (19:37 -0500)]
Adding getCompDir method to Module.
This method returns the DW_AT_comp_dir of Compilation Units.

2 years agoMerge pull request #446 from mxz297/powerpc_and_loop
Xiaozhu Meng [Thu, 29 Mar 2018 21:28:36 +0000 (16:28 -0500)]
Merge pull request #446 from mxz297/powerpc_and_loop

Fixes for testsuite failures on powerv7 and block boundary aligning for overlapping instructions

2 years agoWhen checking whether an address is consistent with instructionsin a 446/head
Xiaozhu Meng [Thu, 29 Mar 2018 20:55:56 +0000 (15:55 -0500)]
When checking whether an address is consistent with instructionsin a
block, first check whether the address is within the block

2 years agoShould continue to check other CIEs when we cannot find FDE in one of the CIE
Xiaozhu Meng [Thu, 29 Mar 2018 15:11:04 +0000 (10:11 -0500)]
Should continue to check other CIEs when we cannot find FDE in one of the CIE

2 years agoppc32 and ppc64 should use the same formatter
Xiaozhu Meng [Wed, 28 Mar 2018 21:36:00 +0000 (16:36 -0500)]
ppc32 and ppc64 should use the same formatter

2 years agoNeed to flush trap mapping table into the mutatee after instrumentation for registeri...
Xiaozhu Meng [Mon, 26 Mar 2018 21:31:36 +0000 (16:31 -0500)]
Need to flush trap mapping table into the mutatee after instrumentation for registering callbacks

2 years agoWhen dealing with overlapping instructions, we should align block as
Xiaozhu Meng [Thu, 22 Mar 2018 17:14:15 +0000 (12:14 -0500)]
When dealing with overlapping instructions, we should align block as
soon as possible, correctly split blocks, anc create new fall-through

2 years agoAdd instruction semantics for extsw on powerpc
Xiaozhu Meng [Mon, 19 Mar 2018 16:56:34 +0000 (11:56 -0500)]
Add instruction semantics for extsw on powerpc

2 years agoRemove unused rpc/xdr references. 445/head
Stan Cox [Wed, 28 Mar 2018 18:06:32 +0000 (14:06 -0400)]
Remove unused rpc/xdr references.

2 years agoMerge remote-tracking branch 'upstream/master' into irelative
Stan Cox [Wed, 28 Mar 2018 18:04:24 +0000 (14:04 -0400)]
Merge remote-tracking branch 'upstream/master' into irelative

2 years agoFixing problem of relative paths from libdw.
Sasha Nicolas [Tue, 27 Mar 2018 21:12:12 +0000 (16:12 -0500)]
Fixing problem of relative paths from libdw.
Now all paths coming from libdw dwarf_filesrc() and dwarf_linesrc() are
being checked and converted to be absolute.

2 years agoPrevious commits broke the build. This is to fix the compiling, but the changes done...
Sasha Nicolas [Wed, 21 Mar 2018 22:34:18 +0000 (17:34 -0500)]
Previous commits broke the build. This is to fix the compiling, but the changes done in the commits should be examined.

2 years agoMerge pull request #441 from thomasdullien/master
Bill Williams [Tue, 20 Mar 2018 19:50:43 +0000 (14:50 -0500)]
Merge pull request #441 from thomasdullien/master

Very minor clean-up a particualrly ugly piece of code.

2 years agoMerge branch 'master' of https://github.com/dyninst/dyninst
Sasha Nicolas [Tue, 20 Mar 2018 16:43:32 +0000 (11:43 -0500)]
Merge branch 'master' of https://github.com/dyninst/dyninst

2 years agoFix segfault due to missing arguments in call to parse_printf 441/head
Thomas Dullien [Tue, 20 Mar 2018 15:09:57 +0000 (16:09 +0100)]
Fix segfault due to missing arguments in call to parse_printf

2 years agoMerge remote-tracking branch 'upstream/master'
Thomas Dullien [Tue, 20 Mar 2018 09:28:07 +0000 (10:28 +0100)]
Merge remote-tracking branch 'upstream/master'

2 years agoMerge pull request #437 from mxz297/ret_crossarch
Xiaozhu Meng [Mon, 19 Mar 2018 16:12:34 +0000 (11:12 -0500)]
Merge pull request #437 from mxz297/ret_crossarch

Fixes for non-returning functions, endianness for cross architecture parsing, and powerpc instruction decoding. In addition, fix failures in testsuite on x86/64

2 years agoFix DWARF parsing for arraies 437/head
Xiaozhu Meng [Mon, 19 Mar 2018 16:09:01 +0000 (11:09 -0500)]
Fix DWARF parsing for arraies

2 years agoVery minor clean-up a particualrly ugly piece of code.
Thomas Dullien [Mon, 19 Mar 2018 11:37:55 +0000 (12:37 +0100)]
Very minor clean-up a particualrly ugly piece of code.

2 years agoIn loop anaylsis, visit blocks according to the starting addresses to
Xiaozhu Meng [Fri, 16 Mar 2018 14:10:52 +0000 (09:10 -0500)]
In loop anaylsis, visit blocks according to the starting addresses to
ensure deterministic results. And ignore catch edges in loop analysis

2 years agoHandle wait instruction on powerpc and add vrsave SPR
Xiaozhu Meng [Thu, 8 Mar 2018 20:11:24 +0000 (14:11 -0600)]
Handle wait instruction on powerpc and add vrsave SPR

2 years ago~0 --> ~0u to avoid warnings about left shift of signed value 430/head
John Mellor-Crummey [Thu, 8 Mar 2018 19:50:35 +0000 (13:50 -0600)]
~0 --> ~0u to avoid warnings about left shift of signed value

2 years agocorrect misleading indentation to avoid compiler warnings
John Mellor-Crummey [Thu, 8 Mar 2018 19:49:51 +0000 (13:49 -0600)]
correct misleading indentation to avoid compiler warnings

2 years agoFix a few powerpc instruction decoding problems and the endianness issue
Xiaozhu Meng [Thu, 8 Mar 2018 19:15:50 +0000 (13:15 -0600)]
Fix a few powerpc instruction decoding problems and the endianness issue
of code sections that are not named ".text"

2 years agoMerge branch 'master' of https://github.com/dyninst/dyninst
John Mellor-Crummey [Thu, 8 Mar 2018 17:09:22 +0000 (11:09 -0600)]
Merge branch 'master' of https://github.com/dyninst/dyninst

bringing my jmellorcrummey fork up to date with wisconsin.

2 years agoMerge branch 'master' of https://github.com/dyninst/dyninst
Sasha Nicolas [Tue, 6 Mar 2018 20:02:50 +0000 (14:02 -0600)]
Merge branch 'master' of https://github.com/dyninst/dyninst

2 years agoDelete deprecated #ifdef in liveness analysis
Xiaozhu Meng [Thu, 1 Mar 2018 19:41:10 +0000 (13:41 -0600)]
Delete deprecated #ifdef in liveness analysis

2 years agoShould ignore setting function return status when the function is known
Xiaozhu Meng [Sun, 18 Feb 2018 16:56:06 +0000 (10:56 -0600)]
Should ignore setting function return status when the function is known
as non-returning.

2 years agoHandle data endianness in parsing try/catch blocks, so it can be
Xiaozhu Meng [Sun, 18 Feb 2018 16:18:40 +0000 (10:18 -0600)]
Handle data endianness in parsing try/catch blocks, so it can be

2 years agoShould delay parsing tail call edges when the return status of the tail
Xiaozhu Meng [Fri, 16 Feb 2018 16:40:11 +0000 (10:40 -0600)]
Should delay parsing tail call edges when the return status of the tail
callee is still UNSET

2 years agoFor known non-returning functions, we should ignore possible conflicting
Xiaozhu Meng [Fri, 16 Feb 2018 16:22:46 +0000 (10:22 -0600)]
For known non-returning functions, we should ignore possible conflicting
non-returning analysis results and still treat them as non-returning.

2 years agoadd missing initialization for flags when Elf_X is a memory image
John Mellor-Crummey [Sun, 11 Feb 2018 04:39:31 +0000 (22:39 -0600)]
add missing initialization for flags when Elf_X is a memory image

2 years agoMerge pull request #410 from jmellorcrummey/cuda-machine
Bill Williams [Fri, 26 Jan 2018 20:04:10 +0000 (14:04 -0600)]
Merge pull request #410 from jmellorcrummey/cuda-machine

Add basic support for EM_CUDA binary type

2 years agoMerge pull request #427 from nedwill/master
Bill Williams [Mon, 22 Jan 2018 16:55:04 +0000 (10:55 -0600)]
Merge pull request #427 from nedwill/master

Fix sh_info for VERNEED section

2 years agoShould only check for thunk call when it is a call instruction
Xiaozhu Meng [Fri, 12 Jan 2018 21:54:30 +0000 (15:54 -0600)]
Should only check for thunk call when it is a call instruction

2 years agoFixing verdef and vernum section headers info. Alignment and number of items.
Sasha Nicolas [Fri, 12 Jan 2018 18:54:44 +0000 (12:54 -0600)]
Fixing verdef and vernum section headers info. Alignment and number of items.

2 years agoFix sh_info for VERNEED section 427/head
Ned Williamson [Fri, 12 Jan 2018 01:41:20 +0000 (17:41 -0800)]
Fix sh_info for VERNEED section

This field used to contain verneednum, but now is hardcoded to 2.
This changes restores the original correct behavior.

2 years agoParseAPI should treat IFUNC type symbols as code
Xiaozhu Meng [Thu, 11 Jan 2018 22:19:13 +0000 (16:19 -0600)]
ParseAPI should treat IFUNC type symbols as code

2 years agoCompare against the proper operand field (addressing mode, not type).
Bill Williams [Wed, 10 Jan 2018 17:44:40 +0000 (11:44 -0600)]
Compare against the proper operand field (addressing mode, not type).

2 years agoClean unwanted files
Xiaozhu Meng [Fri, 29 Dec 2017 16:33:33 +0000 (10:33 -0600)]
Clean unwanted files

2 years agoAdd unstrip and codeCoverage to the example dir. Will build and install
Xiaozhu Meng [Fri, 29 Dec 2017 16:26:49 +0000 (10:26 -0600)]
Add unstrip and codeCoverage to the example dir. Will build and install
them with Dyninst

2 years agoAdd missing operand types for vector info.
Bill Williams [Thu, 21 Dec 2017 22:03:01 +0000 (16:03 -0600)]
Add missing operand types for vector info.

2 years agoAdd examples directory and add ParseAPI CFG example as a target.
Bill Williams [Wed, 20 Dec 2017 17:01:00 +0000 (11:01 -0600)]
Add examples directory and add ParseAPI CFG example as a target.

2 years agoMerge remote-tracking branch 'origin/master'
Bill Williams [Wed, 29 Nov 2017 19:51:48 +0000 (13:51 -0600)]
Merge remote-tracking branch 'origin/master'

2 years agoMerge pull request #413 from stanfordcox/irelative
Bill Williams [Tue, 28 Nov 2017 17:19:38 +0000 (11:19 -0600)]
Merge pull request #413 from stanfordcox/irelative

Handle R_X86_64_IRELATIVE relocation.

2 years agoMerge pull request #418 from mitalirawat/bugfixes-windows
mitalirawat [Sun, 26 Nov 2017 19:11:53 +0000 (13:11 -0600)]
Merge pull request #418 from mitalirawat/bugfixes-windows

Bugfixes windows

2 years agoreplacing deprecated hash maps and set in msc with unordered map and set 418/head
Mitali Rawat [Tue, 14 Nov 2017 17:09:08 +0000 (11:09 -0600)]
replacing deprecated hash maps and set in msc with unordered map and set