Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(debuginfo): Detect mangled anonymous namespaces in PDB inlinees #261

Merged
merged 2 commits into from
Sep 10, 2020

Conversation

jan-auer
Copy link
Member

ID records specify the mangled format for anonymous namespaces: ?A0x<id>, where id is a hex
identifier of the namespace. Demanglers usually resolve this as "anonymous namespace".

This also fixes an issue with demangling: If the anonymous namespace is in the
beginning of the composed name, it leads the demangler to believe that this is a
mangled MSVC name. However, since this is a composed demangled name, this leads
to a demangle error.

@jan-auer jan-auer requested a review from a team September 10, 2020 10:31
@jan-auer jan-auer self-assigned this Sep 10, 2020
@jan-auer jan-auer merged commit 16b2b58 into master Sep 10, 2020
@jan-auer jan-auer deleted the fix/pdb-inline-anon-ns branch September 10, 2020 14:16
jan-auer added a commit that referenced this pull request Nov 17, 2020
* master: (22 commits)
  fix(debuginfo): Update dmsort to 1.0.1 to avoid panic due to UB (#287)
  ci: Use GHA instead of zeus (#286)
  ref: Introduce explicit NameMangling and better DemangleOptions (#275)
  meta: Bump all semver-major dependencies (#283)
  feat(demangle): Update swift demangler to 5.3 (#282)
  ref: Add File/FunctionIterator and lifetimes to DebugSession (#279)
  fix: Implement new clippy advice (#280)
  fix: Add a SymbolIterator and Lifetimes to ObjectLike trait (#277)
  ci: Switch to GitHub Actions (#273)
  ref: Introduce feature flags for demangling languages (#274)
  ref(common): Change InstructionInfo setters to Option (#272)
  ref: Remove all deprecated items (#271)
  ref: Replace failure with std::error::Error (#264)
  ref: Remove deprecated proguard support (#267)
  build: Reorganize the workspace (#266)
  build(unreal): Rename with-serde to serde (#265)
  fix(debuginfo): Detect mangled anonymous namespaces in PDB inlinees (#261)
  release: 7.5.0
  meta: Update changelog for 7.5.0
  feat: Unsafe transmute for PDB symbols (#258)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants