public inbox for gdb-prs@sourceware.org help / color / mirror / Atom feed
From: "corinna at vinschen dot de" <sourceware-bugzilla@sourceware.org> To: gdb-prs@sourceware.org Subject: [Bug win32/18027] dwarf2 debug info after rebasing DLLs unusable Date: Fri, 21 Apr 2023 19:48:01 +0000 [thread overview] Message-ID: <bug-18027-4717-IgWplFpCJN@http.sourceware.org/bugzilla/> (raw) In-Reply-To: <bug-18027-4717@http.sourceware.org/bugzilla/> https://sourceware.org/bugzilla/show_bug.cgi?id=18027 --- Comment #29 from Corinna Vinschen <corinna at vinschen dot de> --- (In reply to Tom Tromey from comment #27) > Another oddity is that the .text section says: > > Idx Name Size VMA LMA File off > Algn > 0 .text 00000648 0000000300001000 0000000300001000 00000600 > 2**4 > CONTENTS, ALLOC, LOAD, READONLY, CODE, DATA > > The VMA is offset by 0x1000. No, the VMA is correct. Please keep in mind that the PE/COFF file has a leading 4K block, the file header. The file header is loaded into the address space together with all other sections. ImageBase is the address of the PE/COFF file header, NOT the address of the .text section. > So my function to compute the offset also says that: > > (top-gdb) print/x pe_rebase_offset(abfd) > $12 = 0x300001000 > > Does this matter? I don't know... but each section has a different offset > here, so if it does matter, then we'd have to know which section each > DWARF entity comes from. Using the .text address is wrong. The address where the image gets loaded to is in the PE header header and the entry is called image_base. It should be available via bfd, shouldn't it? If not, assuming you map the file into memory at address ADDR, then you can use Windows definitions to access ImageBase (example for x86_64): IMAGE_DOS_HEADER *dos_hdr = (IMAGE_DOS_HEADER *) ADDR; IMAGE_NT_HEADERS64 *nt_hdr = (BYTE *) dos_hdr + dos-hdr->e_lfanew; ULONGLONG image_base = nt_hdr->OptionalHeader.ImageBase; The orginal, pre-rebase image_base value is a 32 or 64 bit value in the newly defined .debug_pe_defaddr section. So the offset is just the difference between the above current image_base from the file header and the value stored in the .debug_pe_defaddr HTH, Corinna -- You are receiving this mail because: You are on the CC list for the bug.
next prev parent reply other threads:[~2023-04-21 19:48 UTC|newest] Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-02-26 5:36 [Bug win32/18027] New: " corinna at vinschen dot de 2015-02-26 9:39 ` [Bug win32/18027] " asmwarrior at gmail dot com 2023-02-11 17:48 ` tromey at sourceware dot org 2023-02-12 12:20 ` ssbssa at sourceware dot org 2023-02-13 10:31 ` corinna at vinschen dot de 2023-02-13 10:36 ` corinna at vinschen dot de 2023-02-13 14:01 ` simark at simark dot ca 2023-02-13 16:17 ` corinna at vinschen dot de 2023-02-13 17:13 ` simark at simark dot ca 2023-02-13 17:24 ` ssbssa at sourceware dot org 2023-02-13 19:23 ` tromey at sourceware dot org 2023-02-13 19:46 ` ssbssa at sourceware dot org 2023-02-13 19:48 ` corinna at vinschen dot de 2023-02-13 22:08 ` tromey at sourceware dot org 2023-02-15 10:22 ` corinna at vinschen dot de 2023-02-17 2:15 ` tromey at sourceware dot org 2023-02-28 14:43 ` tromey at sourceware dot org 2023-02-28 15:20 ` corinna at vinschen dot de 2023-02-28 15:22 ` corinna at vinschen dot de 2023-03-24 17:31 ` tromey at sourceware dot org 2023-03-24 19:00 ` corinna at vinschen dot de 2023-03-27 9:19 ` nickc at redhat dot com 2023-03-28 8:58 ` corinna at vinschen dot de 2023-03-28 14:01 ` nickc at redhat dot com 2023-03-28 18:10 ` corinna at vinschen dot de 2023-03-29 12:46 ` tromey at sourceware dot org 2023-03-30 9:23 ` corinna at vinschen dot de 2023-03-30 9:24 ` corinna at vinschen dot de 2023-04-21 16:38 ` tromey at sourceware dot org 2023-04-21 16:54 ` tromey at sourceware dot org 2023-04-21 17:11 ` tromey at sourceware dot org 2023-04-21 19:48 ` corinna at vinschen dot de [this message] 2023-04-24 15:54 ` tromey at sourceware dot org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-18027-4717-IgWplFpCJN@http.sourceware.org/bugzilla/ \ --to=sourceware-bugzilla@sourceware.org \ --cc=gdb-prs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).