gcc-2.95.c does not support anonymous unions.

Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/net/bridge/br_fdb.c     |   18 ++++++++++--------
 25-akpm/net/bridge/br_private.h |    2 +-
 2 files changed, 11 insertions(+), 9 deletions(-)

diff -puN net/bridge/br_private.h~bridge-build-fix net/bridge/br_private.h
--- 25/net/bridge/br_private.h~bridge-build-fix	2004-08-01 23:24:10.589009888 -0700
+++ 25-akpm/net/bridge/br_private.h	2004-08-01 23:24:26.385608440 -0700
@@ -49,7 +49,7 @@ struct net_bridge_fdb_entry
 	union {
 		struct list_head	age_list;
 		struct rcu_head		rcu;
-	};
+	} u;
 	atomic_t			use_count;
 	unsigned long			ageing_timer;
 	mac_addr			addr;
diff -puN net/bridge/br_fdb.c~bridge-build-fix net/bridge/br_fdb.c
--- 25/net/bridge/br_fdb.c~bridge-build-fix	2004-08-01 23:24:38.815718776 -0700
+++ 25-akpm/net/bridge/br_fdb.c	2004-08-01 23:26:30.652716968 -0700
@@ -75,7 +75,7 @@ static __inline__ void fdb_delete(struct
 {
 	hlist_del_rcu(&f->hlist);
 	if (!f->is_static)
-		list_del(&f->age_list);
+		list_del(&f->u.age_list);
 
 	br_fdb_put(f);
 }
@@ -130,9 +130,11 @@ void br_fdb_cleanup(unsigned long _data)
 	delay = hold_time(br);
 
 	list_for_each_safe(l, n, &br->age_list) {
-		struct net_bridge_fdb_entry *f
-			= list_entry(l, struct net_bridge_fdb_entry, age_list);
-		unsigned long expires = f->ageing_timer + delay;
+		struct net_bridge_fdb_entry *f;
+		unsigned long expires;
+
+		f = list_entry(l, struct net_bridge_fdb_entry, u.age_list);
+		expires = f->ageing_timer + delay;
 
 		if (time_before_eq(expires, jiffies)) {
 			WARN_ON(f->is_static);
@@ -220,7 +222,7 @@ struct net_bridge_fdb_entry *br_fdb_get(
 static void fdb_rcu_free(struct rcu_head *head)
 {
 	struct net_bridge_fdb_entry *ent
-		= container_of(head, struct net_bridge_fdb_entry, rcu);
+		= container_of(head, struct net_bridge_fdb_entry, u.rcu);
 	kmem_cache_free(br_fdb_cache, ent);
 }
 
@@ -228,7 +230,7 @@ static void fdb_rcu_free(struct rcu_head
 void br_fdb_put(struct net_bridge_fdb_entry *ent)
 {
 	if (atomic_dec_and_test(&ent->use_count))
-		call_rcu(&ent->rcu, fdb_rcu_free);
+		call_rcu(&ent->u.rcu, fdb_rcu_free);
 }
 
 /*
@@ -314,7 +316,7 @@ static int fdb_insert(struct net_bridge 
 				return 0;
 
 			/* move to end of age list */
-			list_del(&fdb->age_list);
+			list_del(&fdb->u.age_list);
 			goto update;
 		}
 	}
@@ -338,7 +340,7 @@ static int fdb_insert(struct net_bridge 
 	fdb->is_static = is_local;
 	fdb->ageing_timer = jiffies;
 	if (!is_local) 
-		list_add_tail(&fdb->age_list, &br->age_list);
+		list_add_tail(&fdb->u.age_list, &br->age_list);
 
 	return 0;
 }
_