mirror of
https://github.com/reactos/reactos.git
synced 2024-09-30 22:47:28 +00:00
[WINESYNC] dbghelp: Use local elf_section_header declaration.
Based on glibc. Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org> wine commit id a6f0fe8d1ca16243771784ec34c49453c96e6479 by Jacek Caban <jacek@codeweavers.com>
This commit is contained in:
parent
6c0765a0ec
commit
2a7f64af1f
|
@ -322,10 +322,22 @@ static BOOL elf_map_shdr(struct elf_map_file_data* emfd, struct image_file_map*
|
||||||
{
|
{
|
||||||
if (fmap->addr_size == 32)
|
if (fmap->addr_size == 32)
|
||||||
{
|
{
|
||||||
Elf32_Shdr shdr32;
|
struct
|
||||||
|
{
|
||||||
|
UINT32 sh_name; /* Section name (string tbl index) */
|
||||||
|
UINT32 sh_type; /* Section type */
|
||||||
|
UINT32 sh_flags; /* Section flags */
|
||||||
|
UINT32 sh_addr; /* Section virtual addr at execution */
|
||||||
|
UINT32 sh_offset; /* Section file offset */
|
||||||
|
UINT32 sh_size; /* Section size in bytes */
|
||||||
|
UINT32 sh_link; /* Link to another section */
|
||||||
|
UINT32 sh_info; /* Additional section information */
|
||||||
|
UINT32 sh_addralign; /* Section alignment */
|
||||||
|
UINT32 sh_entsize; /* Entry size if section holds table */
|
||||||
|
} shdr32;
|
||||||
|
|
||||||
if (!elf_map_file_read(fmap, emfd, &shdr32, sizeof(shdr32),
|
if (!elf_map_file_read(fmap, emfd, &shdr32, sizeof(shdr32),
|
||||||
fmap->u.elf.elfhdr.e_shoff + i * sizeof(Elf32_Shdr)))
|
fmap->u.elf.elfhdr.e_shoff + i * sizeof(shdr32)))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
fmap->u.elf.sect[i].shdr.sh_name = shdr32.sh_name;
|
fmap->u.elf.sect[i].shdr.sh_name = shdr32.sh_name;
|
||||||
|
@ -342,7 +354,7 @@ static BOOL elf_map_shdr(struct elf_map_file_data* emfd, struct image_file_map*
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!elf_map_file_read(fmap, emfd, &fmap->u.elf.sect[i].shdr, sizeof(fmap->u.elf.sect[i].shdr),
|
if (!elf_map_file_read(fmap, emfd, &fmap->u.elf.sect[i].shdr, sizeof(fmap->u.elf.sect[i].shdr),
|
||||||
fmap->u.elf.elfhdr.e_shoff + i * sizeof(Elf64_Shdr)))
|
fmap->u.elf.elfhdr.e_shoff + i * sizeof(fmap->u.elf.sect[i].shdr)))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
|
@ -68,6 +68,20 @@ struct elf_header
|
||||||
UINT16 e_shstrndx; /* Section header string table index */
|
UINT16 e_shstrndx; /* Section header string table index */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct elf_section_header
|
||||||
|
{
|
||||||
|
UINT32 sh_name; /* Section name (string tbl index) */
|
||||||
|
UINT32 sh_type; /* Section type */
|
||||||
|
UINT64 sh_flags; /* Section flags */
|
||||||
|
UINT64 sh_addr; /* Section virtual addr at execution */
|
||||||
|
UINT64 sh_offset; /* Section file offset */
|
||||||
|
UINT64 sh_size; /* Section size in bytes */
|
||||||
|
UINT32 sh_link; /* Link to another section */
|
||||||
|
UINT32 sh_info; /* Additional section information */
|
||||||
|
UINT64 sh_addralign; /* Section alignment */
|
||||||
|
UINT64 sh_entsize; /* Entry size if section holds table */
|
||||||
|
};
|
||||||
|
|
||||||
/* structure holding information while handling an ELF image
|
/* structure holding information while handling an ELF image
|
||||||
* allows one by one section mapping for memory savings
|
* allows one by one section mapping for memory savings
|
||||||
*/
|
*/
|
||||||
|
@ -87,13 +101,11 @@ struct image_file_map
|
||||||
const char* shstrtab;
|
const char* shstrtab;
|
||||||
char* target_copy;
|
char* target_copy;
|
||||||
struct elf_header elfhdr;
|
struct elf_header elfhdr;
|
||||||
#if defined(__ELF__) && !defined(DBGHELP_STATIC_LIB)
|
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
Elf64_Shdr shdr;
|
struct elf_section_header shdr;
|
||||||
const char* mapped;
|
const char* mapped;
|
||||||
}* sect;
|
}* sect;
|
||||||
#endif
|
|
||||||
} elf;
|
} elf;
|
||||||
struct macho_file_map
|
struct macho_file_map
|
||||||
{
|
{
|
||||||
|
|
|
@ -4,4 +4,4 @@ files:
|
||||||
include/dbghelp.h: sdk/include/psdk/dbghelp.h
|
include/dbghelp.h: sdk/include/psdk/dbghelp.h
|
||||||
include/wine/mscvpdb.h: sdk/include/reactos/wine/mscvpdb.h
|
include/wine/mscvpdb.h: sdk/include/reactos/wine/mscvpdb.h
|
||||||
tags:
|
tags:
|
||||||
wine: 78845911da06fc75c6d74237f816a1547c24b20b
|
wine: a6f0fe8d1ca16243771784ec34c49453c96e6479
|
||||||
|
|
Loading…
Reference in a new issue