{
short int len;
short int id;
- unsigned int unknown1; /* maybe size (of what ?) */
+ unsigned int sz_frame; /* size of frame */
unsigned int unknown2;
unsigned int unknown3;
- unsigned int unknown4; /* maybe size (of what ?) */
- unsigned int unknown5; /* maybe address <offset and segment> (of what ?) */
- unsigned short unknown6;
- unsigned short flags;
- unsigned int unknown7;
- } func_info_v2;
+ unsigned int sz_saved_regs; /* size of saved registers from callee */
+ unsigned int eh_offset; /* offset for exception handler */
+ unsigned short eh_sect; /* section for exception handler */
+ unsigned int flags;
+ } frame_info_v2;
};
#define S_COMPILAND_V1 0x0001
#define S_REGREL_V2 0x100d
#define S_LTHREAD_V2 0x100e
#define S_GTHREAD_V2 0x100f
-#define S_FUNCINFO_V2 0x1012
+#define S_FRAMEINFO_V2 0x1012
#define S_COMPILAND_V2 0x1013
#define S_COMPILAND_V3 0x1101
break;
/* Additional function information */
- case S_FUNCINFO_V2:
- printf("\tFunction info V2 unk1:%x unk2:%x unk3:%x unk4:%x unk5:%x unk6:%x flags:%04x unk7:%x\n",
- sym->func_info_v2.unknown1,
- sym->func_info_v2.unknown2,
- sym->func_info_v2.unknown3,
- sym->func_info_v2.unknown4,
- sym->func_info_v2.unknown5,
- sym->func_info_v2.unknown6,
- sym->func_info_v2.flags,
- sym->func_info_v2.unknown7);
+ case S_FRAMEINFO_V2:
+ printf("\tS-Frame-Info V2: frame-size:%x unk2:%x unk3:%x saved-regs-sz:%x eh(%04x:%08x) flags:%08x\n",
+ sym->frame_info_v2.sz_frame,
+ sym->frame_info_v2.unknown2,
+ sym->frame_info_v2.unknown3,
+ sym->frame_info_v2.sz_saved_regs,
+ sym->frame_info_v2.eh_sect,
+ sym->frame_info_v2.eh_offset,
+ sym->frame_info_v2.flags);
break;
case S_SECUCOOKIE_V3: