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] = {