mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 08:25:03 +00:00
[WINESYNC] dbghelp: Use local macho section declaration.
Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org> wine commit id 64341284c58bcc22f13f8146bcb6c8a08c0c4ff2 by Jacek Caban <jacek@codeweavers.com>
This commit is contained in:
parent
739259ac2f
commit
eff9360f47
3 changed files with 35 additions and 16 deletions
|
@ -21,16 +21,6 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#ifdef HAVE_LINK_H
|
||||
# include <link.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_LINK_H
|
||||
# include <sys/link.h>
|
||||
#endif
|
||||
#ifdef HAVE_MACH_O_LOADER_H
|
||||
#include <mach-o/loader.h>
|
||||
#endif
|
||||
|
||||
#define IMAGE_NO_MAP ((void*)-1)
|
||||
|
||||
struct elf_header
|
||||
|
@ -78,6 +68,37 @@ struct macho_uuid_command
|
|||
UINT8 uuid[16];
|
||||
};
|
||||
|
||||
struct macho_section
|
||||
{
|
||||
char sectname[16]; /* name of this section */
|
||||
char segname[16]; /* segment this section goes in */
|
||||
UINT64 addr; /* memory address of this section */
|
||||
UINT64 size; /* size in bytes of this section */
|
||||
UINT32 offset; /* file offset of this section */
|
||||
UINT32 align; /* section alignment (power of 2) */
|
||||
UINT32 reloff; /* file offset of relocation entries */
|
||||
UINT32 nreloc; /* number of relocation entries */
|
||||
UINT32 flags; /* flags (section type and attributes)*/
|
||||
UINT32 reserved1; /* reserved (for offset or index) */
|
||||
UINT32 reserved2; /* reserved (for count or sizeof) */
|
||||
UINT32 reserved3; /* reserved */
|
||||
};
|
||||
|
||||
struct macho_section32
|
||||
{
|
||||
char sectname[16]; /* name of this section */
|
||||
char segname[16]; /* segment this section goes in */
|
||||
UINT32 addr; /* memory address of this section */
|
||||
UINT32 size; /* size in bytes of this section */
|
||||
UINT32 offset; /* file offset of this section */
|
||||
UINT32 align; /* section alignment (power of 2) */
|
||||
UINT32 reloff; /* file offset of relocation entries */
|
||||
UINT32 nreloc; /* number of relocation entries */
|
||||
UINT32 flags; /* flags (section type and attributes)*/
|
||||
UINT32 reserved1; /* reserved (for offset or index) */
|
||||
UINT32 reserved2; /* reserved (for count or sizeof) */
|
||||
};
|
||||
|
||||
/* structure holding information while handling an ELF image
|
||||
* allows one by one section mapping for memory savings
|
||||
*/
|
||||
|
@ -120,15 +141,13 @@ struct image_file_map
|
|||
* read from arch_offset. */
|
||||
unsigned arch_offset;
|
||||
|
||||
#ifdef HAVE_MACH_O_LOADER_H
|
||||
int num_sections;
|
||||
struct
|
||||
{
|
||||
struct section_64 section;
|
||||
struct macho_section section;
|
||||
const char* mapped;
|
||||
unsigned int ignored : 1;
|
||||
}* sect;
|
||||
#endif
|
||||
} macho;
|
||||
struct pe_file_map
|
||||
{
|
||||
|
|
|
@ -624,7 +624,7 @@ static int macho_load_section_info(struct image_file_map* ifm, const struct mach
|
|||
{
|
||||
if (ifm->addr_size == 32)
|
||||
{
|
||||
const struct section *section = &((const struct section *)sections)[i];
|
||||
const struct macho_section32 *section = &((const struct macho_section32 *)sections)[i];
|
||||
memcpy(fmap->sect[info->section_index].section.sectname, section->sectname, sizeof(section->sectname));
|
||||
memcpy(fmap->sect[info->section_index].section.segname, section->segname, sizeof(section->segname));
|
||||
fmap->sect[info->section_index].section.addr = section->addr;
|
||||
|
@ -636,7 +636,7 @@ static int macho_load_section_info(struct image_file_map* ifm, const struct mach
|
|||
fmap->sect[info->section_index].section.flags = section->flags;
|
||||
}
|
||||
else
|
||||
fmap->sect[info->section_index].section = ((const struct section_64 *)sections)[i];
|
||||
fmap->sect[info->section_index].section = ((const struct macho_section *)sections)[i];
|
||||
|
||||
fmap->sect[info->section_index].mapped = IMAGE_NO_MAP;
|
||||
fmap->sect[info->section_index].ignored = ignore;
|
||||
|
|
|
@ -4,4 +4,4 @@ files:
|
|||
include/dbghelp.h: sdk/include/psdk/dbghelp.h
|
||||
include/wine/mscvpdb.h: sdk/include/reactos/wine/mscvpdb.h
|
||||
tags:
|
||||
wine: c695e7e99e0a06b6039d46f98fea35c363aa6cbe
|
||||
wine: 64341284c58bcc22f13f8146bcb6c8a08c0c4ff2
|
||||
|
|
Loading…
Reference in a new issue