[COMMITTED] Add stub sys/procfs.h file
Commit Message
Since nptl_db (and nptl, indirectly) requires sys/procfs.h,
it should not be considered a Linux-only header.
The stub file is not enough for nptl_db to compile, since it leaves the
crucial regset types incomplete. But it's enough for nptl/descr.h's use of
nptl_db/thread_db.h to compile OK. In a configuration that supports NPTL
but where libthread_db is never going to be useful, a sysdeps/.../Makefile
can filter out the nptl_db subdir from the list and then NPTL will build.
This change should have no effect on existing configurations.
Thanks,
Roland
* sysdeps/nptl/sys/procfs.h: New file.
* nptl_db/Makefile (headers): Add it.
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Don't add it.
Comments
On Thu, 8 Jan 2015, Roland McGrath wrote:
> --- /dev/null
> +++ b/sysdeps/nptl/sys/procfs.h
> @@ -0,0 +1,39 @@
> +/* Types used by thread_db callback interface. Stub version.
> + Copyright (C) 2014 Free Software Foundation, Inc.
It's now 2015.
> On Thu, 8 Jan 2015, Roland McGrath wrote:
>
> > --- /dev/null
> > +++ b/sysdeps/nptl/sys/procfs.h
> > @@ -0,0 +1,39 @@
> > +/* Types used by thread_db callback interface. Stub version.
> > + Copyright (C) 2014 Free Software Foundation, Inc.
>
> It's now 2015.
Yes, thanks. I fixed it without bothering with a ChangeLog entry.
@@ -26,7 +26,7 @@ nptl_db-version = 1.0
extra-libs = libthread_db
extra-libs-others := $(extra-libs)
-headers = thread_db.h
+headers = thread_db.h sys/procfs.h
libthread_db-routines = td_init td_log td_ta_new td_ta_delete \
td_ta_get_nthreads td_ta_get_ph \
@@ -0,0 +1,39 @@
+/* Types used by thread_db callback interface. Stub version.
+ Copyright (C) 2014 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
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _SYS_PROCFS_H
+#define _SYS_PROCFS_H 1
+
+#include <sys/types.h>
+
+/* The rest of this file provides the types for emulation of the
+ Solaris <proc_service.h> interfaces that should be implemented by
+ users of libthread_db. */
+
+/* Addresses. */
+typedef void *psaddr_t;
+
+/* Register set types used in thread_db interface. */
+typedef struct prregset prgregset_t;
+typedef struct prfpregset prfpregset_t;
+
+/* Type used for lightweight-process (i.e. thread) IDs. */
+typedef __pid_t lwpid_t;
+
+
+#endif /* sys/procfs.h */
@@ -34,7 +34,7 @@ CFLAGS-tst-writev.c += "-DARTIFICIAL_LIMIT=0x80000000-__getpagesize()"
# configurations will not install the file.
sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h \
sys/klog.h sys/kdaemon.h \
- sys/user.h sys/procfs.h sys/prctl.h \
+ sys/user.h sys/prctl.h \
sys/kd.h sys/soundcard.h sys/vt.h \
sys/quota.h sys/fsuid.h \
scsi/sg.h scsi/scsi.h scsi/scsi_ioctl.h sys/pci.h \