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
  • Issues
  • #4676
Closed
Open
Issue created Jan 16, 2021 by Derek Bruening@derekbrueningContributor

[cleanup] Replace PFX with %p in DR-printed format strings

In PR #3860 I made this key change:

+ Changes the "PFX" format string macro from %x-based to %p-based, in order
  to support enabling format string warnings.  This is now possible because
  on Windows we use our own printing code, rather than the ntdll code,
  making the %p style consistent across platforms.
  We do *not* make this change for native test apps, to avoid breaking
  the golden output.

%p is more convenient than "PFX" because it's so much shorter without having to unquote and requote. As noted, native test apps and other native code using system library print routines shouldn't use %p: but client and core code can. This is a proposed cleanup to go and change the existing code to use %p. It would be a lot of code churn in the history. Another downside is that if we then share code or model native code on %p-using DR/client code we'll have platform inconsistencies.

Assignee
Assign to
Time tracking