[PATCH/committed] hppa: fix sysdep.h header setup

Message ID 1438225947-30343-1-git-send-email-vapier@gentoo.org
State Committed
Delegated to: Mike Frysinger
Headers

Commit Message

Mike Frysinger July 30, 2015, 3:12 a.m. UTC
  The semi-recent SYSCALL_CANCEL inclusion broke hppa due to the sysdep.h
headers not including the unix/sysdep.h headers.  Rework the includes so
we match the other ports:
* hppa/sysdep.h:
	- Do not include sys/syscall.h as the unix sysdep.h headers do it.
	- Do not include config.h as libc-symbols.h does it, and it has no
	#ifdef multiple-include protection, and it breaks when some files
	do things like #undef __OPTIMIZE__.
* sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h:
	- Drop the generic/sysdep.h as the unix sysdep.h headers include it.
* sysdeps/unix/sysv/linux/hppa/sysdep.h:
	- Change to the unix & core hppa sysdep header stacks.
	- Undef a few defines that the core headers already set up for us.
---
 sysdeps/hppa/sysdep.h                        |  2 --
 sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h |  1 -
 sysdeps/unix/sysv/linux/hppa/sysdep.h        | 11 +++++++++--
 3 files changed, 9 insertions(+), 5 deletions(-)
  

Patch

diff --git a/sysdeps/hppa/sysdep.h b/sysdeps/hppa/sysdep.h
index 03fb2a4..366b830 100644
--- a/sysdeps/hppa/sysdep.h
+++ b/sysdeps/hppa/sysdep.h
@@ -18,8 +18,6 @@ 
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdeps/generic/sysdep.h>
-#include <sys/syscall.h>
-#include "config.h"
 
 #undef ASM_LINE_SEP
 #define ASM_LINE_SEP !
diff --git a/sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h b/sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h
index 5580e94..277b721 100644
--- a/sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h
@@ -16,7 +16,6 @@ 
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <sysdeps/generic/sysdep.h>
 #include <tls.h>
 #ifndef __ASSEMBLER__
 # include <nptl/pthreadP.h>
diff --git a/sysdeps/unix/sysv/linux/hppa/sysdep.h b/sysdeps/unix/sysv/linux/hppa/sysdep.h
index 17c8738..d20a04b 100644
--- a/sysdeps/unix/sysv/linux/hppa/sysdep.h
+++ b/sysdeps/unix/sysv/linux/hppa/sysdep.h
@@ -18,8 +18,11 @@ 
    License along with the GNU C Library.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
-#include <asm/unistd.h>
-#include <sysdeps/generic/sysdep.h>
+#ifndef _LINUX_HPPA_SYSDEP_H
+#define _LINUX_HPPA_SYSDEP_H 1
+
+#include <sysdeps/unix/sysdep.h>
+#include <sysdeps/hppa/sysdep.h>
 
 /* Defines RTLD_PRIVATE_ERRNO.  */
 #include <dl-sysdep.h>
@@ -118,6 +121,7 @@ 
    There is currently a bug in gdb which prevents us from specifying
    incomplete stabs information.  Fake some entries here which specify
    the current source file.  */
+#undef ENTRY
 #define	ENTRY(name)							\
 	.text						ASM_LINE_SEP	\
 	.align ALIGNARG(4)				ASM_LINE_SEP	\
@@ -174,6 +178,7 @@ 
 	bv,n 0(2)
 */
 
+#undef PSEUDO
 #define	PSEUDO(name, syscall_name, args)			\
   ENTRY (name)					ASM_LINE_SEP	\
   /* If necc. load args from stack */		ASM_LINE_SEP	\
@@ -483,3 +488,5 @@  L(pre_end):					ASM_LINE_SEP	\
 /* Pointer mangling is not yet supported for HPPA.  */
 #define PTR_MANGLE(var) (void) (var)
 #define PTR_DEMANGLE(var) (void) (var)
+
+#endif /* _LINUX_HPPA_SYSDEP_H */