Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 241439 Details for
Bug 331119
sys-lib/glibc-2.11.2 most *_CLOEXEC and *_NONBLOCK value invalid on hppa
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Fix definition of *_CLOEXEC and *_NONBLOCK on hppa
glibc-2.11.2-hppa-_CLOEXEC-_NONBLOCK.patch (text/plain), 15.90 KB, created by
Guy Martin (RETIRED)
on 2010-08-04 20:11:42 UTC
(
hide
)
Description:
Fix definition of *_CLOEXEC and *_NONBLOCK on hppa
Filename:
MIME Type:
Creator:
Guy Martin (RETIRED)
Created:
2010-08-04 20:11:42 UTC
Size:
15.90 KB
patch
obsolete
>diff -uNr glibc-2.11.2.orig/ports/sysdeps/unix/sysv/linux/hppa/sys/epoll.h glibc-2.11.2/ports/sysdeps/unix/sysv/linux/hppa/sys/epoll.h >--- glibc-2.11.2.orig/ports/sysdeps/unix/sysv/linux/hppa/sys/epoll.h 1970-01-01 01:00:00.000000000 +0100 >+++ glibc-2.11.2/ports/sysdeps/unix/sysv/linux/hppa/sys/epoll.h 2010-08-04 19:57:14.536825940 +0200 >@@ -0,0 +1,144 @@ >+/* Copyright (C) 2002-2006, 2007, 2008, 2009 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, write to the Free >+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA >+ 02111-1307 USA. */ >+ >+#ifndef _SYS_EPOLL_H >+#define _SYS_EPOLL_H 1 >+ >+#include <stdint.h> >+#include <sys/types.h> >+ >+/* Get __sigset_t. */ >+#include <bits/sigset.h> >+ >+#ifndef __sigset_t_defined >+# define __sigset_t_defined >+typedef __sigset_t sigset_t; >+#endif >+ >+ >+/* Flags to be passed to epoll_create1. */ >+enum >+ { >+ EPOLL_CLOEXEC = 010000000, >+#define EPOLL_CLOEXEC EPOLL_CLOEXEC >+ EPOLL_NONBLOCK = 00200004 /* HPUX has separate NDELAY & NONBLOCK */ >+#define EPOLL_NONBLOCK EPOLL_NONBLOCK >+ }; >+ >+ >+enum EPOLL_EVENTS >+ { >+ EPOLLIN = 0x001, >+#define EPOLLIN EPOLLIN >+ EPOLLPRI = 0x002, >+#define EPOLLPRI EPOLLPRI >+ EPOLLOUT = 0x004, >+#define EPOLLOUT EPOLLOUT >+ EPOLLRDNORM = 0x040, >+#define EPOLLRDNORM EPOLLRDNORM >+ EPOLLRDBAND = 0x080, >+#define EPOLLRDBAND EPOLLRDBAND >+ EPOLLWRNORM = 0x100, >+#define EPOLLWRNORM EPOLLWRNORM >+ EPOLLWRBAND = 0x200, >+#define EPOLLWRBAND EPOLLWRBAND >+ EPOLLMSG = 0x400, >+#define EPOLLMSG EPOLLMSG >+ EPOLLERR = 0x008, >+#define EPOLLERR EPOLLERR >+ EPOLLHUP = 0x010, >+#define EPOLLHUP EPOLLHUP >+ EPOLLRDHUP = 0x2000, >+#define EPOLLRDHUP EPOLLRDHUP >+ EPOLLONESHOT = (1 << 30), >+#define EPOLLONESHOT EPOLLONESHOT >+ EPOLLET = (1 << 31) >+#define EPOLLET EPOLLET >+ }; >+ >+ >+/* Valid opcodes ( "op" parameter ) to issue to epoll_ctl(). */ >+#define EPOLL_CTL_ADD 1 /* Add a file descriptor to the interface. */ >+#define EPOLL_CTL_DEL 2 /* Remove a file descriptor from the interface. */ >+#define EPOLL_CTL_MOD 3 /* Change file descriptor epoll_event structure. */ >+ >+ >+typedef union epoll_data >+{ >+ void *ptr; >+ int fd; >+ uint32_t u32; >+ uint64_t u64; >+} epoll_data_t; >+ >+struct epoll_event >+{ >+ uint32_t events; /* Epoll events */ >+ epoll_data_t data; /* User data variable */ >+}; >+ >+ >+__BEGIN_DECLS >+ >+/* Creates an epoll instance. Returns an fd for the new instance. >+ The "size" parameter is a hint specifying the number of file >+ descriptors to be associated with the new instance. The fd >+ returned by epoll_create() should be closed with close(). */ >+extern int epoll_create (int __size) __THROW; >+ >+/* Same as epoll_create but with an FLAGS parameter. The unused SIZE >+ parameter has been dropped. */ >+extern int epoll_create1 (int __flags) __THROW; >+ >+ >+/* Manipulate an epoll instance "epfd". Returns 0 in case of success, >+ -1 in case of error ( the "errno" variable will contain the >+ specific error code ) The "op" parameter is one of the EPOLL_CTL_* >+ constants defined above. The "fd" parameter is the target of the >+ operation. The "event" parameter describes which events the caller >+ is interested in and any associated user data. */ >+extern int epoll_ctl (int __epfd, int __op, int __fd, >+ struct epoll_event *__event) __THROW; >+ >+ >+/* Wait for events on an epoll instance "epfd". Returns the number of >+ triggered events returned in "events" buffer. Or -1 in case of >+ error with the "errno" variable set to the specific error code. The >+ "events" parameter is a buffer that will contain triggered >+ events. The "maxevents" is the maximum number of events to be >+ returned ( usually size of "events" ). The "timeout" parameter >+ specifies the maximum wait time in milliseconds (-1 == infinite). >+ >+ This function is a cancellation point and therefore not marked with >+ __THROW. */ >+extern int epoll_wait (int __epfd, struct epoll_event *__events, >+ int __maxevents, int __timeout); >+ >+ >+/* Same as epoll_wait, but the thread's signal mask is temporarily >+ and atomically replaced with the one provided as parameter. >+ >+ This function is a cancellation point and therefore not marked with >+ __THROW. */ >+extern int epoll_pwait (int __epfd, struct epoll_event *__events, >+ int __maxevents, int __timeout, >+ __const __sigset_t *__ss); >+ >+__END_DECLS >+ >+#endif /* sys/epoll.h */ >diff -uNr glibc-2.11.2.orig/ports/sysdeps/unix/sysv/linux/hppa/sys/eventfd.h glibc-2.11.2/ports/sysdeps/unix/sysv/linux/hppa/sys/eventfd.h >--- glibc-2.11.2.orig/ports/sysdeps/unix/sysv/linux/hppa/sys/eventfd.h 1970-01-01 01:00:00.000000000 +0100 >+++ glibc-2.11.2/ports/sysdeps/unix/sysv/linux/hppa/sys/eventfd.h 2010-08-04 19:59:36.255373783 +0200 >@@ -0,0 +1,54 @@ >+/* Copyright (C) 2007, 2008, 2009 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, write to the Free >+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA >+ 02111-1307 USA. */ >+ >+#ifndef _SYS_EVENTFD_H >+#define _SYS_EVENTFD_H 1 >+ >+#include <stdint.h> >+ >+ >+/* Type for event counter. */ >+typedef uint64_t eventfd_t; >+ >+/* Flags for signalfd. */ >+enum >+ { >+ EFD_SEMAPHORE = 1, >+#define EFD_SEMAPHORE EFD_SEMAPHORE >+ EFD_CLOEXEC = 010000000, >+#define EFD_CLOEXEC EFD_CLOEXEC >+ EFD_NONBLOCK = 00200004 /* HPUX has separate NDELAY & NONBLOCK */ >+#define EFD_NONBLOCK EFD_NONBLOCK >+ }; >+ >+ >+__BEGIN_DECLS >+ >+/* Return file descriptor for generic event channel. Set initial >+ value to COUNT. */ >+extern int eventfd (int __count, int __flags) __THROW; >+ >+/* Read event counter and possibly wait for events. */ >+extern int eventfd_read (int __fd, eventfd_t *__value); >+ >+/* Increment event counter. */ >+extern int eventfd_write (int __fd, eventfd_t __value); >+ >+__END_DECLS >+ >+#endif /* sys/eventfd.h */ >diff -uNr glibc-2.11.2.orig/ports/sysdeps/unix/sysv/linux/hppa/sys/inotify.h glibc-2.11.2/ports/sysdeps/unix/sysv/linux/hppa/sys/inotify.h >--- glibc-2.11.2.orig/ports/sysdeps/unix/sysv/linux/hppa/sys/inotify.h 1970-01-01 01:00:00.000000000 +0100 >+++ glibc-2.11.2/ports/sysdeps/unix/sysv/linux/hppa/sys/inotify.h 2010-08-04 19:57:26.076708359 +0200 >@@ -0,0 +1,105 @@ >+/* Copyright (C) 2005, 2006, 2008, 2009 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, write to the Free >+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA >+ 02111-1307 USA. */ >+ >+#ifndef _SYS_INOTIFY_H >+#define _SYS_INOTIFY_H 1 >+ >+#include <stdint.h> >+ >+ >+/* Flags for the parameter of inotify_init1. */ >+enum >+ { >+ IN_CLOEXEC = 010000000, >+#define IN_CLOEXEC IN_CLOEXEC >+ IN_NONBLOCK = 000200004 /* HPUX has separate NDELAY & NONBLOCK */ >+#define IN_NONBLOCK IN_NONBLOCK >+ }; >+ >+ >+/* Structure describing an inotify event. */ >+struct inotify_event >+{ >+ int wd; /* Watch descriptor. */ >+ uint32_t mask; /* Watch mask. */ >+ uint32_t cookie; /* Cookie to synchronize two events. */ >+ uint32_t len; /* Length (including NULs) of name. */ >+ char name __flexarr; /* Name. */ >+}; >+ >+ >+/* Supported events suitable for MASK parameter of INOTIFY_ADD_WATCH. */ >+#define IN_ACCESS 0x00000001 /* File was accessed. */ >+#define IN_MODIFY 0x00000002 /* File was modified. */ >+#define IN_ATTRIB 0x00000004 /* Metadata changed. */ >+#define IN_CLOSE_WRITE 0x00000008 /* Writtable file was closed. */ >+#define IN_CLOSE_NOWRITE 0x00000010 /* Unwrittable file closed. */ >+#define IN_CLOSE (IN_CLOSE_WRITE | IN_CLOSE_NOWRITE) /* Close. */ >+#define IN_OPEN 0x00000020 /* File was opened. */ >+#define IN_MOVED_FROM 0x00000040 /* File was moved from X. */ >+#define IN_MOVED_TO 0x00000080 /* File was moved to Y. */ >+#define IN_MOVE (IN_MOVED_FROM | IN_MOVED_TO) /* Moves. */ >+#define IN_CREATE 0x00000100 /* Subfile was created. */ >+#define IN_DELETE 0x00000200 /* Subfile was deleted. */ >+#define IN_DELETE_SELF 0x00000400 /* Self was deleted. */ >+#define IN_MOVE_SELF 0x00000800 /* Self was moved. */ >+ >+/* Events sent by the kernel. */ >+#define IN_UNMOUNT 0x00002000 /* Backing fs was unmounted. */ >+#define IN_Q_OVERFLOW 0x00004000 /* Event queued overflowed. */ >+#define IN_IGNORED 0x00008000 /* File was ignored. */ >+ >+/* Helper events. */ >+#define IN_CLOSE (IN_CLOSE_WRITE | IN_CLOSE_NOWRITE) /* Close. */ >+#define IN_MOVE (IN_MOVED_FROM | IN_MOVED_TO) /* Moves. */ >+ >+/* Special flags. */ >+#define IN_ONLYDIR 0x01000000 /* Only watch the path if it is a >+ directory. */ >+#define IN_DONT_FOLLOW 0x02000000 /* Do not follow a sym link. */ >+#define IN_MASK_ADD 0x20000000 /* Add to the mask of an already >+ existing watch. */ >+#define IN_ISDIR 0x40000000 /* Event occurred against dir. */ >+#define IN_ONESHOT 0x80000000 /* Only send event once. */ >+ >+/* All events which a program can wait on. */ >+#define IN_ALL_EVENTS (IN_ACCESS | IN_MODIFY | IN_ATTRIB | IN_CLOSE_WRITE \ >+ | IN_CLOSE_NOWRITE | IN_OPEN | IN_MOVED_FROM \ >+ | IN_MOVED_TO | IN_CREATE | IN_DELETE \ >+ | IN_DELETE_SELF | IN_MOVE_SELF) >+ >+ >+__BEGIN_DECLS >+ >+/* Create and initialize inotify instance. */ >+extern int inotify_init (void) __THROW; >+ >+/* Create and initialize inotify instance. */ >+extern int inotify_init1 (int __flags) __THROW; >+ >+/* Add watch of object NAME to inotify instance FD. Notify about >+ events specified by MASK. */ >+extern int inotify_add_watch (int __fd, const char *__name, uint32_t __mask) >+ __THROW; >+ >+/* Remove the watch specified by WD from the inotify instance FD. */ >+extern int inotify_rm_watch (int __fd, int __wd) __THROW; >+ >+__END_DECLS >+ >+#endif /* sys/inotify.h */ >diff -uNr glibc-2.11.2.orig/ports/sysdeps/unix/sysv/linux/hppa/sys/signalfd.h glibc-2.11.2/ports/sysdeps/unix/sysv/linux/hppa/sys/signalfd.h >--- glibc-2.11.2.orig/ports/sysdeps/unix/sysv/linux/hppa/sys/signalfd.h 1970-01-01 01:00:00.000000000 +0100 >+++ glibc-2.11.2/ports/sysdeps/unix/sysv/linux/hppa/sys/signalfd.h 2010-08-04 20:00:27.038849853 +0200 >@@ -0,0 +1,66 @@ >+/* Copyright (C) 2007, 2008 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, write to the Free >+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA >+ 02111-1307 USA. */ >+ >+#ifndef _SYS_SIGNALFD_H >+#define _SYS_SIGNALFD_H 1 >+ >+#define __need_sigset_t >+#include <signal.h> >+#include <stdint.h> >+ >+ >+struct signalfd_siginfo >+{ >+ uint32_t ssi_signo; >+ int32_t ssi_errno; >+ int32_t ssi_code; >+ uint32_t ssi_pid; >+ uint32_t ssi_uid; >+ int32_t ssi_fd; >+ uint32_t ssi_tid; >+ uint32_t ssi_band; >+ uint32_t ssi_overrun; >+ uint32_t ssi_trapno; >+ int32_t ssi_status; >+ int32_t ssi_int; >+ uint64_t ssi_ptr; >+ uint64_t ssi_utime; >+ uint64_t ssi_stime; >+ uint64_t ssi_addr; >+ uint8_t __pad[48]; >+}; >+ >+/* Flags for signalfd. */ >+enum >+ { >+ SFD_CLOEXEC = 010000000, >+#define SFD_CLOEXEC SFD_CLOEXEC >+ SFD_NONBLOCK = 00200004 /* HPUX has separate NDELAY & NONBLOCK */ >+#define SFD_NONBLOCK SFD_NONBLOCK >+ }; >+ >+__BEGIN_DECLS >+ >+/* Request notification for delivery of signals in MASK to be >+ performed using descriptor FD.*/ >+extern int signalfd (int __fd, const sigset_t *__mask, int __flags) >+ __THROW __nonnull ((2)); >+ >+__END_DECLS >+ >+#endif /* sys/signalfd.h */ >diff -uNr glibc-2.11.2.orig/ports/sysdeps/unix/sysv/linux/hppa/sys/timerfd.h glibc-2.11.2/ports/sysdeps/unix/sysv/linux/hppa/sys/timerfd.h >--- glibc-2.11.2.orig/ports/sysdeps/unix/sysv/linux/hppa/sys/timerfd.h 1970-01-01 01:00:00.000000000 +0100 >+++ glibc-2.11.2/ports/sysdeps/unix/sysv/linux/hppa/sys/timerfd.h 2010-08-04 19:58:34.280013223 +0200 >@@ -0,0 +1,60 @@ >+/* Copyright (C) 2008 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, write to the Free >+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA >+ 02111-1307 USA. */ >+ >+#ifndef _SYS_TIMERFD_H >+#define _SYS_TIMERFD_H 1 >+ >+#include <time.h> >+ >+ >+/* Bits to be set in the FLAGS parameter of `timerfd_create'. */ >+enum >+ { >+ TFD_CLOEXEC = 010000000, >+#define TFD_CLOEXEC TFD_CLOEXEC >+ TFD_NONBLOCK = 000200004 /* HPUX has separate NDELAY & NONBLOCK */ >+#define TFD_NONBLOCK TFD_NONBLOCK >+ }; >+ >+ >+/* Bits to be set in the FLAGS parameter of `timerfd_settime'. */ >+enum >+ { >+ TFD_TIMER_ABSTIME = 1 << 0 >+#define TFD_TIMER_ABSTIME TFD_TIMER_ABSTIME >+ }; >+ >+ >+__BEGIN_DECLS >+ >+/* Return file descriptor for new interval timer source. */ >+extern int timerfd_create (clockid_t __clock_id, int __flags) __THROW; >+ >+/* Set next expiration time of interval timer source UFD to UTMR. If >+ FLAGS has the TFD_TIMER_ABSTIME flag set the timeout value is >+ absolute. Optionally return the old expiration time in OTMR. */ >+extern int timerfd_settime (int __ufd, int __flags, >+ __const struct itimerspec *__utmr, >+ struct itimerspec *__otmr) __THROW; >+ >+/* Return the next expiration time of UFD. */ >+extern int timerfd_gettime (int __ufd, struct itimerspec *__otmr) __THROW; >+ >+__END_DECLS >+ >+#endif /* sys/timerfd.h */
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 331119
:
241335
| 241439