some gcc4 portability patches, including a serious aliasing bug exposed in

* include/libxml/hash.h libxml.h libxml.spec.in: some gcc4 portability
  patches, including a serious aliasing bug exposed in s390
  when trying to convert data pointer to code pointer.
Daniel
diff --git a/libxml.h b/libxml.h
index e997462..89ec595 100644
--- a/libxml.h
+++ b/libxml.h
@@ -54,9 +54,11 @@
 #ifdef __GNUC__
 #ifdef PIC
 #ifdef linux
+#if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || (__GNUC__ > 3)
 #include "elfgcchack.h"
 #endif
 #endif
 #endif
 #endif
+#endif
 #endif /* ! __XML_LIBXML_H__ */