Fix Sparc64 cross compilation in 32 bit environment, closes #17

git-svn-id: svn://coreboot.org/openbios/openbios-devel@436 f158a5a8-5612-0410-a976-696ce0be7e32
This commit is contained in:
Blue Swirl
2009-01-31 16:42:01 +00:00
parent c683b2e5bd
commit a4a1319305
4 changed files with 70 additions and 31 deletions

View File

@@ -46,15 +46,12 @@
#define target_ucell(value) ((ucell)target_long(value))
#define target_cell(value) ((cell)target_long(value))
#elif BITS==64
#ifdef NATIVE_BITWIDTH_LARGER_THAN_HOST_BITWIDTH
#define target_ucell(value) ( ((ucell)target_long((value)&0xffffffff))<<32 )
#define target_cell(value) ( ((cell)target_long((value)&0xffffffff))<<32 )
#else
#define target_ucell(value) ( ((ucell)target_long((value)&0xffffffff))<<32 | \
((ucell)target_long((value)>>32)) )
#define target_cell(value) ( ((cell)target_long((value)&0xffffffff))<<32 | \
((cell)target_long((value)>>32)) )
#endif
#define target_ucell(value) \
((((ucell)target_long((value) & 0xffffffff)) << 32) | \
((ucell)target_long((value) >> 32)))
#define target_cell(value) \
((((cell)target_long((value) & 0xffffffff)) << 32) | \
((cell)target_long((value) >> 32)))
#else
#error "Endianness not supported. Please report."
#endif