Work around shadowing warnings in libpci headers

This is needed for warning-free compilation on older gcc versions (3.x
and probably older). Such a gcc version is the default on i386 OpenBSD.

Corresponding to flashrom svn r1061.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Stuart Henderson <sthen@openbsd.org>
diff --git a/Makefile b/Makefile
index 723a15b..00ab0b2 100644
--- a/Makefile
+++ b/Makefile
@@ -310,7 +310,9 @@
 ifeq ($(CHECK_LIBPCI), yes)
 pciutils: compiler
 	@printf "Checking for libpci headers... "
-	@$(shell ( echo "#include <pci/pci.h>";		   \
+	@# Avoid a failing test due to libpci header symbol shadowing breakage
+	@$(shell ( echo "#define index shadow_workaround_index"; \
+		   echo "#include <pci/pci.h>";		   \
 		   echo "struct pci_access *pacc;";	   \
 		   echo "int main(int argc, char **argv)"; \
 		   echo "{ pacc = pci_alloc(); return 0; }"; ) > .test.c )
diff --git a/hwaccess.h b/hwaccess.h
index 91366a6..53e908a 100644
--- a/hwaccess.h
+++ b/hwaccess.h
@@ -31,7 +31,14 @@
 #endif
 
 #if NEED_PCI == 1
+/*
+ * libpci headers use the variable name "index" which triggers shadowing
+ * warnings on systems which have the index() function in a default #include
+ * or as builtin.
+ */
+#define index shadow_workaround_index
 #include <pci/pci.h>
+#undef index
 #endif
 
 #if defined (__i386__) || defined (__x86_64__)