is bigger that an int.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12084
return data[0];
}
+Addr ML_(read_Addr) ( UChar* data ) {
+ if (sizeof(Addr) == sizeof(UInt)) {
+ return ML_(read_UInt)(data);
+ } else if (sizeof(Addr) == sizeof(ULong)) {
+ return ML_(read_ULong)(data);
+ } else {
+ vg_assert(0);
+ }
+}
+
/*--------------------------------------------------------------------*/
/*--- end misc.c ---*/
UInt ML_(read_UInt)( UChar* data );
ULong ML_(read_ULong)( UChar* data );
UChar ML_(read_UChar)( UChar* data );
+Addr ML_(read_Addr)( UChar* data );
/* A handy type, a la Haskell's Maybe type. Yes, I know, C sucks.
Been there. Done that. Seen the movie. Got the T-shirt. Etc. */
break;
case DW_LNE_set_address:
- adr = ML_(read_UInt)(data); // FIXME: read_encoded_Addr ??
+ adr = ML_(read_Addr)(data);
state_machine_regs.address = adr;
if (di->ddump_line)
VG_(printf)(" Extended opcode %d: set Address to 0x%lx\n",