- if(*(Uint32*)base == (0x7F|('E'<<8)|('L'<<16)|('F'<<24)))
- return ElfGetSymbol(base, name, ret);
- if(*(Uint16*)base == ('M'|('Z'<<8)))
- return PE_GetSymbol(base, name, ret);
- SysDebug("Unknown type at %p", base);
+ uint8_t *hdr = base;
+ if(hdr[0] == 0x7F && hdr[1] == 'E' && hdr[2] == 'L' && hdr[3] == 'F')
+ return ElfGetSymbol(base, name, ret, Size);
+ if(hdr[0] == 'M' && hdr[1] == 'Z')
+ return PE_GetSymbol(base, name, ret, Size);
+ SysDebug("Unknown type at %p (%02x %02x %02x %02x)", base,
+ hdr[0], hdr[1], hdr[2], hdr[3]);