Jacek Caban : dbghelp: Use local dynamic section entry declaration.

Alexandre Julliard julliard at winehq.org
Tue Mar 31 16:44:25 CDT 2020


Module: wine
Branch: master
Commit: 849cf6ed514aaa5071e61dc471dca6be1d58393f
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=849cf6ed514aaa5071e61dc471dca6be1d58393f

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Mar 31 18:22:11 2020 +0200

dbghelp: Use local dynamic section entry declaration.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/dbghelp/elf_module.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/dlls/dbghelp/elf_module.c b/dlls/dbghelp/elf_module.c
index 01ba4528e0..17f0ecb263 100644
--- a/dlls/dbghelp/elf_module.c
+++ b/dlls/dbghelp/elf_module.c
@@ -1106,7 +1106,11 @@ static BOOL elf_load_file_from_fmap(struct process* pcs, const WCHAR* filename,
 
             if (fmap->addr_size == 32)
             {
-                Elf32_Dyn dyn;
+                struct
+                {
+                    INT32  d_tag;    /* Dynamic entry type */
+                    UINT32 d_val;    /* Integer or address value */
+                } dyn;
 
                 do
                 {
@@ -1115,7 +1119,7 @@ static BOOL elf_load_file_from_fmap(struct process* pcs, const WCHAR* filename,
                         return ret;
                     if (dyn.d_tag == DT_DEBUG)
                     {
-                        elf_info->dbg_hdr_addr = dyn.d_un.d_ptr;
+                        elf_info->dbg_hdr_addr = dyn.d_val;
                         if (load_offset == 0 && dyn_addr == 0) /* likely the case */
                             /* Assume this module (the Wine loader) has been
                              * loaded at its preferred address */
@@ -1128,7 +1132,11 @@ static BOOL elf_load_file_from_fmap(struct process* pcs, const WCHAR* filename,
             }
             else
             {
-                Elf64_Dyn dyn;
+                struct
+                {
+                    INT64  d_tag;    /* Dynamic entry type */
+                    UINT64 d_val;    /* Integer or address value */
+                } dyn;
 
                 do
                 {
@@ -1137,7 +1145,7 @@ static BOOL elf_load_file_from_fmap(struct process* pcs, const WCHAR* filename,
                         return ret;
                     if (dyn.d_tag == DT_DEBUG)
                     {
-                        elf_info->dbg_hdr_addr = dyn.d_un.d_ptr;
+                        elf_info->dbg_hdr_addr = dyn.d_val;
                         if (load_offset == 0 && dyn_addr == 0) /* likely the case */
                             /* Assume this module (the Wine loader) has been
                              * loaded at its preferred address */




More information about the wine-cvs mailing list