This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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(-)

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 */
-- 
2.4.4


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]