Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • D dynamorio
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,467
    • Issues 1,467
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 44
    • Merge requests 44
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • DynamoRIO
  • dynamorio
  • Merge requests
  • !4889

i#3962 label cb: Add instr_clear_label_callback()

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Derek Bruening requested to merge i3962-clone-label-cb into master Apr 29, 2021
  • Overview 5
  • Commits 1
  • Pipelines 0
  • Changes 5

PR #3960 added a call to instr_set_label_callback() to set it to NULL from instr_clone(), but if the callback is non-NULL an assert fires in that case. This only normally happens with emulation labels that turn into traces, which happens to not occur in our very few tests of emulation labels (#3173 covers adding more tests).

We fix that by adding instr_clear_label_callback() here and using that from instr_clone(), since these callbacks are a little different from other values and it feels best to not clear them using the set routine.

A test is added by putting a loop around a scatter-gather expansion, triggering trace creation. I confirmed that the assert does fire without this fix with the loop in place.

Fixes #3962 (closed)

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: i3962-clone-label-cb