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

Look into how mingw produces DWARF-in-PE #40

Closed
luser opened this issue Dec 18, 2017 · 4 comments
Closed

Look into how mingw produces DWARF-in-PE #40

luser opened this issue Dec 18, 2017 · 4 comments

Comments

@luser
Copy link
Contributor

luser commented Dec 18, 2017

The mingw toolchain produces PE binaries with DWARF in them. I'm not 100% sure how it works, but it should be possible to support with gimli+object. This is a follow-on from #39 .

@luser
Copy link
Contributor Author

luser commented Dec 18, 2017

@jon-turney has submitted patches to Breakpad to support this use case, maybe he can point us at some resources that explain what mingw does.

@luser
Copy link
Contributor Author

luser commented Dec 18, 2017

Specifically, there's this patchset that adds support for dumping symbol information from mingw PE files: https://codereview.chromium.org/1451693003/

@jon-turney
Copy link

@jon-turney has submitted patches to Breakpad to support this use case, maybe he can point us at some resources that explain what mingw does.

I'm not sure there's much to explain. The same DWARF information sections are present, but the container is PECOFF rather than ELF.

gsolberg pushed a commit to gsolberg/object that referenced this issue Sep 12, 2018
DWARF sections names in PE files are stored indirectly through a symbol table.
Names of the form "/n" where "n" is a number indicate the section name is
stored in index "n" of a hidden symbol table.  The hidden symbol table immediately
follows the COFF symbol table and is a sequence of null terminated CStrings.
gsolberg pushed a commit to gsolberg/object that referenced this issue Oct 17, 2018
DWARF sections names in PE files are stored indirectly through a symbol table.
Names of the form "/n" where "n" is a number indicate the section name is
stored in index "n" of a hidden symbol table.  The hidden symbol table immediately
follows the COFF symbol table and is a sequence of null terminated CStrings.
gsolberg pushed a commit to gsolberg/object that referenced this issue Oct 17, 2018
gsolberg pushed a commit to gsolberg/object that referenced this issue Oct 23, 2018
philipc added a commit that referenced this issue Oct 24, 2018
Issue #40 -- Support DWARF-in-PE
@philipc
Copy link
Contributor

philipc commented Oct 24, 2018

Fixed in #69

@philipc philipc closed this as completed Oct 24, 2018
mcbegamerxx954 pushed a commit to mcbegamerxx954/object that referenced this issue Jun 15, 2024
DWARF sections names in PE files are stored indirectly through a symbol table.
Names of the form "/n" where "n" is a number indicate the section name is
stored in index "n" of a hidden symbol table.  The hidden symbol table immediately
follows the COFF symbol table and is a sequence of null terminated CStrings.
mcbegamerxx954 pushed a commit to mcbegamerxx954/object that referenced this issue Jun 15, 2024
mcbegamerxx954 pushed a commit to mcbegamerxx954/object that referenced this issue Jun 15, 2024
mcbegamerxx954 pushed a commit to mcbegamerxx954/object that referenced this issue Jun 15, 2024
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

No branches or pull requests

3 participants