This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
PATCH: Don't include <asm/fpu.h> and <asm/elf.h>
- From: "H. J. Lu" <hjl at lucon dot org>
- To: GNU C Library <libc-alpha at sources dot redhat dot com>
- Date: Wed, 8 Oct 2003 09:20:24 -0700
- Subject: PATCH: Don't include <asm/fpu.h> and <asm/elf.h>
This patch removes the dependencies on <asm/fpu.h> and <asm/elf.h>.
H.J.
---
2003-10-08 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Don't include
<asm/fpu.h>.
(struct ia64_fpreg): New.
* sysdeps/unix/sysv/linux/ia64/sys/procfs.h: Don't include
<asm/elf.h>.
(ELF_NGREG): New.
(ELF_NFPREG): Likewise.
(elf_greg_t): Likewise.
(elf_gregset_t): Likewise.
(elf_fpreg_t): Likewise.
(elf_fpregset_t): Likewise.
--- sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h.fpu 2003-07-31 23:31:36.000000000 -0700
+++ sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h 2003-10-08 09:18:35.000000000 -0700
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1998, 2000, 2001, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jes Sorensen <jes@linuxcare.com>, July 2000
@@ -24,9 +24,16 @@
#ifndef _BITS_SIGCONTEXT_H
#define _BITS_SIGCONTEXT_H 1
-#include <asm/fpu.h>
#include <bits/sigstack.h>
+struct ia64_fpreg
+ {
+ union
+ {
+ unsigned long bits[2];
+ } u;
+ } __attribute__ ((aligned (16)));
+
struct sigcontext
{
unsigned long int sc_flags; /* see manifest constants above */
--- sysdeps/unix/sysv/linux/ia64/sys/procfs.h.fpu 2001-07-05 21:56:17.000000000 -0700
+++ sysdeps/unix/sysv/linux/ia64/sys/procfs.h 2003-10-08 09:18:46.000000000 -0700
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2000, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -29,7 +29,6 @@
#include <sys/types.h>
#include <sys/ucontext.h>
#include <sys/user.h>
-#include <asm/elf.h>
__BEGIN_DECLS
@@ -40,6 +39,17 @@ struct elf_siginfo
int si_errno; /* Errno. */
};
+/* We really need just 72 but let's leave some headroom... */
+#define ELF_NGREG 128
+/* f0 and f1 could be omitted, but so what... */
+#define ELF_NFPREG 128
+
+typedef unsigned long elf_greg_t;
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+
+typedef struct ia64_fpreg elf_fpreg_t;
+typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
+
typedef elf_greg_t greg_t;
typedef elf_gregset_t gregset_t;
typedef elf_fpregset_t fpregset_t;