about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAdam Conrad <adconrad@0c3.net>2014-02-21 00:24:03 -0700
committerAdam Conrad <adconrad@0c3.net>2014-02-21 00:24:03 -0700
commit105fa3815690f5e370421701daf89cfa49afd5b3 (patch)
tree5aaffde227d307ff56ef4e66d331456928a4bcdd
parentb8cd1c4ea5788d10bdb586f22a75f38f284ccdf0 (diff)
downloadglibc-105fa3815690f5e370421701daf89cfa49afd5b3.tar.gz
glibc-105fa3815690f5e370421701daf89cfa49afd5b3.tar.xz
glibc-105fa3815690f5e370421701daf89cfa49afd5b3.zip
Allow sys/auxv.h to be used from the testsuite on powerpc and sparc.
elf/tst-auxv.c includes misc/sys/auxv.h, which ends up not actually
being included due to the guard overlap, and getauxval becomes an
implicit declaration and implicit pointer conversion which means, at
best, the test isn't actually testing what it thinks it is and, at
worst, it'll crash and burn on platforms where implict pointer
conversion is a Very Bad Thing.

	* sysdeps/powerpc/bits/hwcap.h: Allow _SYSDEPS_SYSDEP_H guard as a
	synonym for _SYS_AUXV_H to allow direct inclusion.
	* sysdeps/sparc/bits/hwcap.h: Likewise.
	* sysdeps/powerpc/sysdep.h: Define _SYSDEPS_SYSDEP_H instead of
	_SYS_AUXV_H so we can include sysdep.h and sys/auxv.h together.
	* sysdeps/sparc/sysdep.h: Likewise.
-rw-r--r--ChangeLog9
-rw-r--r--sysdeps/powerpc/bits/hwcap.h2
-rw-r--r--sysdeps/powerpc/sysdep.h2
-rw-r--r--sysdeps/sparc/bits/hwcap.h2
-rw-r--r--sysdeps/sparc/sysdep.h2
5 files changed, 13 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index ddd3247be3..f7818fc4a8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2014-02-21  Adam Conrad  <adconrad@0c3.net>
+
+	* sysdeps/powerpc/bits/hwcap.h: Allow _SYSDEPS_SYSDEP_H guard as a
+	synonym for _SYS_AUXV_H to allow direct inclusion.
+	* sysdeps/sparc/bits/hwcap.h: Likewise.
+	* sysdeps/powerpc/sysdep.h: Define _SYSDEPS_SYSDEP_H instead of
+	_SYS_AUXV_H so we can include sysdep.h and sys/auxv.h together.
+	* sysdeps/sparc/sysdep.h: Likewise.
+
 2014-02-21  Siddhesh Poyarekar  <siddhesh@redhat.com>
 
 	* benchtests/bench-strrchr.c (do_test): Fix minor formatting.
diff --git a/sysdeps/powerpc/bits/hwcap.h b/sysdeps/powerpc/bits/hwcap.h
index 1af8c82c90..7daec9151d 100644
--- a/sysdeps/powerpc/bits/hwcap.h
+++ b/sysdeps/powerpc/bits/hwcap.h
@@ -16,7 +16,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#ifndef _SYS_AUXV_H
+#if !defined(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H)
 # error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
 #endif
 
diff --git a/sysdeps/powerpc/sysdep.h b/sysdeps/powerpc/sysdep.h
index 541b657db2..e6627c071f 100644
--- a/sysdeps/powerpc/sysdep.h
+++ b/sysdeps/powerpc/sysdep.h
@@ -19,7 +19,7 @@
  * Powerpc Feature masks for the Aux Vector Hardware Capabilities (AT_HWCAP).
  * This entry is copied to _dl_hwcap or rtld_global._dl_hwcap during startup.
  */
-#define _SYS_AUXV_H 1
+#define _SYSDEPS_SYSDEP_H 1
 #include <bits/hwcap.h>
 
 #define PPC_FEATURE_970 (PPC_FEATURE_POWER4 + PPC_FEATURE_HAS_ALTIVEC)
diff --git a/sysdeps/sparc/bits/hwcap.h b/sysdeps/sparc/bits/hwcap.h
index cf7c3db6c0..74e1d7fcea 100644
--- a/sysdeps/sparc/bits/hwcap.h
+++ b/sysdeps/sparc/bits/hwcap.h
@@ -16,7 +16,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#ifndef _SYS_AUXV_H
+#if !defined(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H)
 # error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
 #endif
 
diff --git a/sysdeps/sparc/sysdep.h b/sysdeps/sparc/sysdep.h
index 1404cc1b6c..a566bd84d5 100644
--- a/sysdeps/sparc/sysdep.h
+++ b/sysdeps/sparc/sysdep.h
@@ -15,7 +15,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define _SYS_AUXV_H 1
+#define _SYSDEPS_SYSDEP_H 1
 #include <bits/hwcap.h>
 
 #ifdef	__ASSEMBLER__