Make it build on R H 6.2 (with egcs-2.91.66).
Jeremy, can you just cast your eye over this (sanity check) ? Thx -- J
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1359 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/helgrind/hg_main.c b/helgrind/hg_main.c
index 60b5a48..2cc640d 100644
--- a/helgrind/hg_main.c
+++ b/helgrind/hg_main.c
@@ -220,8 +220,7 @@
union u_ec_eip {
Addr eip;
ExeContext *ec;
- };
-
+ } uu_ec_eip;
UInt state:STATE_BITS;
UInt tls:OTHER_BITS; /* packed TLS */
} EC_EIP;
@@ -2504,10 +2503,11 @@
if (*msg)
VG_(message)(Vg_UserMsg, " Previous state: %s", msg);
- if (clo_execontext == EC_Some && extra->lasttouched.eip != 0) {
+ if (clo_execontext == EC_Some
+ && extra->lasttouched.uu_ec_eip.eip != 0) {
Char file[100];
UInt line;
- Addr eip = extra->lasttouched.eip;
+ Addr eip = extra->lasttouched.uu_ec_eip.eip;
VG_(message)(Vg_UserMsg, " Word at %p last changed state from %s by thread %u",
err_addr,
@@ -2523,12 +2523,13 @@
} else {
VG_(message)(Vg_UserMsg, " at %p: %y", eip, eip);
}
- } else if (clo_execontext == EC_All && extra->lasttouched.ec != NULL) {
+ } else if (clo_execontext == EC_All
+ && extra->lasttouched.uu_ec_eip.ec != NULL) {
VG_(message)(Vg_UserMsg, " Word at %p last changed state from %s in tid %u",
err_addr,
pp_state(extra->lasttouched.state),
unpackTLS(extra->lasttouched.tls)->tid);
- VG_(pp_ExeContext)(extra->lasttouched.ec);
+ VG_(pp_ExeContext)(extra->lasttouched.uu_ec_eip.ec);
}
break;
}
@@ -2539,9 +2540,9 @@
VG_(get_error_address)(err),
VG_(get_error_string)(err));
pp_ExeContext();
- if (extra->lasttouched.ec != NULL) {
+ if (extra->lasttouched.uu_ec_eip.ec != NULL) {
VG_(message)(Vg_UserMsg, " last touched by thread %d", extra->lasttid);
- VG_(pp_ExeContext)(extra->lasttouched.ec);
+ VG_(pp_ExeContext)(extra->lasttouched.uu_ec_eip.ec);
}
pp_AddrInfo(VG_(get_error_address)(err), &extra->addrinfo);
break;
@@ -2727,7 +2728,7 @@
static void eraser_mem_read_word(Addr a, ThreadId tid, ThreadState *tst)
{
- shadow_word* sword;
+ shadow_word* sword /* egcs-2.91.66 complains uninit */ = NULL;
shadow_word prevstate;
ThreadLifeSeg *tls;
const LockSet *ls;
@@ -2847,7 +2848,7 @@
static void eraser_mem_write_word(Addr a, ThreadId tid, ThreadState *tst)
{
ThreadLifeSeg *tls;
- shadow_word* sword;
+ shadow_word* sword /* egcs-2.91.66 complains uninit */ = NULL;
shadow_word prevstate;
Bool statechange = False;
static const void *const states[4] = {