+
Skip to content

Tags: tomgond/dynamorio

Tags

cronbuild-8.0.18824

Toggle cronbuild-8.0.18824's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
i#4998: Fix incorrectly nested signals (DynamoRIO#5008)

Fixes a bug where DR delivers a signal while an app is inside its
signal handler for that same signal and has blocked such self-nesting.
The fix is to undo some of the sigsuspend-handling changes that cause
this regression by moving the sigsuspend state restore to actual
delivery rather than at pending signal time.  The ignoring of the current
blocked signal set does have to remain in some form to handle
pselect and signals like it where we can't move the post-syscall
action to after the signal delivery.

Improves the linux.signest test to reproduce the original bug and
verify the fix.  Also adds a test case to ensure that signals are
nested when not blocked.

Fixes DynamoRIO#4998

cronbuild-8.0.18816

Toggle cronbuild-8.0.18816's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
i#4984 view tool: Fix stale prefix on 2-line-disasm bug (DynamoRIO#4997)

Moves the TID prefix outside of the cached disassembly to avoid a
stale prefix in drcachesim's view tool.

Tested manually:
  --------------------------------------------------
  $ bin64/drrun -t drcachesim -offline -- suite/tests/bin/drmemtrace.signal_invariants
  $ bin64/drrun -t drcachesim -indir drmemtrace.drm*[0-9]*.dir -simulator_type view 2>&1 | less
  --------------------------------------------------
Before:
  --------------------------------------------------
  T480221   0x00007ff86d0c4648  48 89 94 24 50 02 00 mov    %rdx, 0x00000250(%rsp)
  T480218                       00
  T480221     write 8 byte(s) @ 0x7ff86c96fd50
  T480221   0x00007ff86d0c4650  48 89 94 24 58 02 00 mov    %rdx, 0x00000258(%rsp)
  T480218                       00
  T480221     write 8 byte(s) @ 0x7ff86c96fd58
  T480221   0x00007ff86d0c4658  48 89 94 24 60 02 00 mov    %rdx, 0x00000260(%rsp)
  T480218                       00
  T480221     write 8 byte(s) @ 0x7ff86c96fd60
  T480221   0x00007ff86d0c4660  48 89 94 24 68 02 00 mov    %rdx, 0x00000268(%rsp)
  T480218                       00
  T480221     write 8 byte(s) @ 0x7ff86c96fd68
  --------------------------------------------------
After:
  --------------------------------------------------
  T480221   0x00007ff86d0c4648  48 89 94 24 50 02 00 mov    %rdx, 0x00000250(%rsp)
  T480221                       00
  T480221     write 8 byte(s) @ 0x7ff86c96fd50
  T480221   0x00007ff86d0c4650  48 89 94 24 58 02 00 mov    %rdx, 0x00000258(%rsp)
  T480221                       00
  T480221     write 8 byte(s) @ 0x7ff86c96fd58
  T480221   0x00007ff86d0c4658  48 89 94 24 60 02 00 mov    %rdx, 0x00000260(%rsp)
  T480221                       00
  T480221     write 8 byte(s) @ 0x7ff86c96fd60
  T480221   0x00007ff86d0c4660  48 89 94 24 68 02 00 mov    %rdx, 0x00000268(%rsp)
  T480221                       00
  T480221     write 8 byte(s) @ 0x7ff86c96fd68
  --------------------------------------------------

Issue: DynamoRIO#4984

cronbuild-8.0.18810

Toggle cronbuild-8.0.18810's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
i#2626: AArch64 v8.0 Decode: Add misc SIMD instructions (DynamoRIO#4993)

Adds the following instructions to the codec:
- CNT
- TRN1, TRN2
- UXTL, UXTL2 (USHLL alias)
- UZP, UZP2
- XTN, XTN2

Issue: DynamoRIO#2626

cronbuild-8.0.18803

Toggle cronbuild-8.0.18803's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
i#2626 AArch64 Decode: Fix imm5 decode bits (DynamoRIO#4968)

Change imm5 bitsize from 6 to 5

Issue: DynamoRIO#2626

cronbuild-8.0.18796

Toggle cronbuild-8.0.18796's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
i#3823 multi-phase drreg: Remove slot id labels. (DynamoRIO#4949)

Modifies free spill slot selection logic to use is_our_spill_or_restore instead
of the labels with spill slot use information added for this purpose. We do not
need the extra information in the latter and can simply use the former routine.

Removes the extra spill slot use metadata added in form of labels from the
instrlist.

Also adds documentation about possibility of DR slot conflicts if DR APIs are
mixed with drreg ones.

Issue: DynamoRIO#3823

cronbuild-8.0.18789

Toggle cronbuild-8.0.18789's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
i#4865 emul: Refactor drmgr callback list management (DynamoRIO#4945)

The drmgr_bb_cb_add() and drmgr_bb_cb_remove() functions had become
unwieldy over time, with very long lists of parameters and complex
conditionals.  This makes it difficult to add new callbacks.  Here we
refactor them to take in helpers to set key fields while sharing all
of the other code.

A new has_pair field is also added.  This fixes a bug where
drmgr_register_opcode_instrumentation_event() incorrectly increased
the pair count.

Issue: DynamoRIO#4865

cronbuild-8.0.18780

Toggle cronbuild-8.0.18780's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
i#4848: AArch64 v8.0 GPR decode: Add DUP to codec (DynamoRIO#4934)

Add DUP to the codec with decoder tests

Issue: DynamoRIO#4848, DynamoRIO#2626

cronbuild-8.0.18774

Toggle cronbuild-8.0.18774's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
i#3823 multi-phase drreg: Delay slot id label (DynamoRIO#4925)

Moves label that contains slot id for register spill/restore instrs to after the instr instead of
before. The free spill slot selection logic that makes use of these labels scans instrs after
the given one, so we may miss the label if it is placed before.

Fixes order of app val spill and tool val restore instrs after an instr that reads and writes a
spilled reg. This was to take into account the label which is now after the tool val restore
instr.

Adds test to verify restoration of reg that was reserved in multiple phases on a fault, for
X86 and AARCHXX.

Also adds AARCHXX variant of the multi-phase slot conflict test, and extends it to also
check proper restoration of app val (under normal operation, as opposed to under a fault
which is done by the above test). The existing test only verified whether the slot used in
different phases is different.

Sets a new signal handler for the part of drreg-test that doesn't expect any signal. It
adds a log message in case a signal is seen due to some test failure.

Adds a note to the label instrs added by drreg-test to mark instrumentation locations. This
is to avoid conflicts with other label instrs.

Issue: DynamoRIO#3823, DynamoRIO#2985

cronbuild-8.0.18767

Toggle cronbuild-8.0.18767's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
i#4847 AArch64 v8.0 memory decode: Expand GPR LDR and STR tests (Dyna…

…moRIO#4900)

Add IR and disassembly tests for the GPR versions of LDR and STR
Failed encodings discovered:
- LDR literal (32/64bit variant)

Issue: DynamoRIO#2626, DynamoRIO#4847

cronbuild-8.0.18760

Toggle cronbuild-8.0.18760's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
i#2985 scatter-gather: Fix scratch mask restoration on fault during s…

…catter (DynamoRIO#4909)

Adds a missing state transition in drx_avx512_scatter_sequence_state_machine
used in drx_event_restore_state. This was causing restoration of the
wrong value to scratch mask k0, resulting in a "ERROR: expected
k0 == 0xffff, but is 0xd360" error in the drx-scattergather app.

Postpones updating trace buffer ptr in the memval_simple sample
client to post-write. This is to mitigate cases when the write buffer
doesn't get written to due to the app write segfaulting, which results
in no matching entry in the write buffer for the trace buffer entry.
This causes an assert failure later for "write_base <= write_ptr" in
trace_fault. A more efficient solution would be to handle this rare
app-write-fail corner case in a fault handler instead. But we skip
adding additional complexity in this sample client. Added an XXX
comment for now.

Adds a test that runs the drx-scattergather app under the memval_simple
client to verify the above two fixes.

Enables client.memval-test on 64-bit Linux.

Issue: DynamoRIO#2985
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载