Index: trunk/i386/boot2/modules.c =================================================================== --- trunk/i386/boot2/modules.c (revision 2098) +++ trunk/i386/boot2/modules.c (revision 2099) @@ -307,7 +307,7 @@ void* parse_mach(void* binary, int(*dylib_loader)(char*), long long(*symbol_handler)(char*, long long, char), - void (*section_handler)(char* section, char* segment, long long offset, long long address) + void (*section_handler)(char* section, char* segment, long long cmd, long long offset, long long address) ) { char is64 = false; @@ -392,7 +392,7 @@ sectionIndex += sizeof(struct section); - if(section_handler) section_handler(sect->sectname, segCommand->segname, sect->offset, sect->addr); + if(section_handler) section_handler(sect->sectname, segCommand->segname, (long long)sect, sect->offset, sect->addr); @@ -420,10 +420,10 @@ sectionIndex += sizeof(struct section_64); - if(section_handler) section_handler(sect->sectname, segCommand->segname, sect->offset, sect->addr); + if(section_handler) section_handler(sect->sectname, segCommand64->segname, (long long)sect, sect->offset, sect->addr); - if((strcmp("__TEXT", segCommand->segname) == 0) && (strcmp("__text", sect->sectname) == 0)) + if((strcmp("__TEXT", segCommand64->segname) == 0) && (strcmp("__text", sect->sectname) == 0)) { // __TEXT,__text found, save the offset and address for when looking for the calls. textSection = sect->offset; Index: trunk/i386/boot2/modules.h =================================================================== --- trunk/i386/boot2/modules.h (revision 2098) +++ trunk/i386/boot2/modules.h (revision 2099) @@ -90,7 +90,7 @@ void* parse_mach(void* binary, int(*dylib_loader)(char*), long long(*symbol_handler)(char*, long long, char), - void (*section_handler)(char* section, char* segment, long long offset, long long address) + void (*section_handler)(char* section, char* segment, long long cmd, long long offset, long long address) ); unsigned int handle_symtable(UInt32 base, struct symtab_command* symtabCommand,