Module: wine Branch: master Commit: cb7453ff4d7125063e582d05839d5f23ecaf8541 URL: http://source.winehq.org/git/wine.git/?a=commit;h=cb7453ff4d7125063e582d0583...
Author: Dmitry Timoshkov dmitry@codeweavers.com Date: Thu Dec 7 21:43:04 2006 +0800
winedump: IMAGE_SCN_ALIGN_??? are not the bit fields, but the values masked by IMAGE_SCN_ALIGN_MASK.
---
tools/winedump/pe.c | 31 +++++++++++++++++++++---------- 1 files changed, 21 insertions(+), 10 deletions(-)
diff --git a/tools/winedump/pe.c b/tools/winedump/pe.c index 8365432..a5bba57 100644 --- a/tools/winedump/pe.c +++ b/tools/winedump/pe.c @@ -365,8 +365,8 @@ static void dump_sections(const void* ad printf(" line # offs: %-8u line #'s: %-8u\n", sectHead->PointerToLinenumbers, sectHead->NumberOfLinenumbers); printf(" characteristics: 0x%08x\n", sectHead->Characteristics); - printf(" "); -#define X(b,s) if (sectHead->Characteristics & b) printf(s " ") + printf(" "); +#define X(b,s) if (sectHead->Characteristics & b) printf(" " s) /* #define IMAGE_SCN_TYPE_REG 0x00000000 - Reserved */ /* #define IMAGE_SCN_TYPE_DSECT 0x00000001 - Reserved */ /* #define IMAGE_SCN_TYPE_NOLOAD 0x00000002 - Reserved */ @@ -394,14 +394,25 @@ static void dump_sections(const void* ad X(IMAGE_SCN_MEM_LOCKED, "MEM_LOCKED"); X(IMAGE_SCN_MEM_PRELOAD, "MEM_PRELOAD");
- X(IMAGE_SCN_ALIGN_1BYTES, "ALIGN_1BYTES"); - X(IMAGE_SCN_ALIGN_2BYTES, "ALIGN_2BYTES"); - X(IMAGE_SCN_ALIGN_4BYTES, "ALIGN_4BYTES"); - X(IMAGE_SCN_ALIGN_8BYTES, "ALIGN_8BYTES"); - X(IMAGE_SCN_ALIGN_16BYTES, "ALIGN_16BYTES"); - X(IMAGE_SCN_ALIGN_32BYTES, "ALIGN_32BYTES"); - X(IMAGE_SCN_ALIGN_64BYTES, "ALIGN_64BYTES"); -/* 0x00800000 - Unused */ + switch (sectHead->Characteristics & IMAGE_SCN_ALIGN_MASK) + { +#define X2(b,s) case b: printf(" " s); break; + X2(IMAGE_SCN_ALIGN_1BYTES, "ALIGN_1BYTES"); + X2(IMAGE_SCN_ALIGN_2BYTES, "ALIGN_2BYTES"); + X2(IMAGE_SCN_ALIGN_4BYTES, "ALIGN_4BYTES"); + X2(IMAGE_SCN_ALIGN_8BYTES, "ALIGN_8BYTES"); + X2(IMAGE_SCN_ALIGN_16BYTES, "ALIGN_16BYTES"); + X2(IMAGE_SCN_ALIGN_32BYTES, "ALIGN_32BYTES"); + X2(IMAGE_SCN_ALIGN_64BYTES, "ALIGN_64BYTES"); + X2(IMAGE_SCN_ALIGN_128BYTES, "ALIGN_128BYTES"); + X2(IMAGE_SCN_ALIGN_256BYTES, "ALIGN_256BYTES"); + X2(IMAGE_SCN_ALIGN_512BYTES, "ALIGN_512BYTES"); + X2(IMAGE_SCN_ALIGN_1024BYTES, "ALIGN_1024BYTES"); + X2(IMAGE_SCN_ALIGN_2048BYTES, "ALIGN_2048BYTES"); + X2(IMAGE_SCN_ALIGN_4096BYTES, "ALIGN_4096BYTES"); + X2(IMAGE_SCN_ALIGN_8192BYTES, "ALIGN_8192BYTES"); +#undef X2 + }
X(IMAGE_SCN_LNK_NRELOC_OVFL, "LNK_NRELOC_OVFL");