#include long get_sysvar(void *var) { long ret; long save_ssp; save_ssp = Super(0L); /* note: dont remove volatile, otherwise gcc will reorder these statements and we get bombs */ ret = *((volatile long *)var); (void)Super(save_ssp); return ret; } void set_sysvar_to_long(void *var, long val) { long save_ssp; save_ssp = Super(0L); *((volatile long *)var) = val; (void)Super(save_ssp); }