about summary refs log tree commit diff
path: root/conform
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2019-03-14 15:44:14 +0100
committerFlorian Weimer <fweimer@redhat.com>2019-03-14 15:44:15 +0100
commita0a0dc83173ce11ff45105fd32e5d14356cdfb9c (patch)
tree8487bfd04a8a2975c062be571379e02b994f2aa2 /conform
parent081bdf942126b7d4a368d09438a06fd831c14dad (diff)
downloadglibc-a0a0dc83173ce11ff45105fd32e5d14356cdfb9c.tar.gz
glibc-a0a0dc83173ce11ff45105fd32e5d14356cdfb9c.tar.xz
glibc-a0a0dc83173ce11ff45105fd32e5d14356cdfb9c.zip
Remove obsolete, never-implemented XSI STREAMS declarations
The stub implementations are turned into compat symbols.

Linux actually has two reserved system call numbers (for getpmsg
and putpmsg), but these system calls have never been implemented,
and there are no plans to implement them, so this patch replaces
the wrappers with the generic stubs.

According to <https://bugzilla.redhat.com/show_bug.cgi?id=436349>,
the presence of the XSI STREAMS declarations is a minor portability
hazard because they are not actually implemented.

This commit does not change the TIRPC support code in
sunrpc/rpc_svcout.c.  It uses additional XTI functionality and
therefore never worked with glibc.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'conform')
-rw-r--r--conform/Makefile16
-rw-r--r--conform/data/stropts.h-data140
2 files changed, 8 insertions, 148 deletions
diff --git a/conform/Makefile b/conform/Makefile
index 77709b86b9..59d569c4c5 100644
--- a/conform/Makefile
+++ b/conform/Makefile
@@ -52,44 +52,44 @@ conformtest-headers-XPG4 := $(conformtest-headers-ISO) cpio.h dirent.h \
 			    sys/wait.h tar.h termios.h ulimit.h unistd.h \
 			    utime.h varargs.h wordexp.h
 # Missing XPG42 expectations for: re_comp.h regexp.h wchar.h.
-# XPG42 includes XTI, but xti.h is outside the scope of these tests.
+# XPG42 includes XTI and STREAMS, but those are not implemented by glibc.
 conformtest-headers-XPG42 := $(conformtest-headers-XPG4) arpa/inet.h fmtmsg.h \
 			    libgen.h ndbm.h netdb.h netinet/in.h poll.h \
-			    strings.h stropts.h sys/mman.h sys/resource.h \
+			    strings.h sys/mman.h sys/resource.h \
 			    sys/socket.h sys/statvfs.h sys/time.h sys/timeb.h \
 			    sys/uio.h sys/un.h syslog.h ucontext.h utmpx.h
 # Missing UNIX98 expectations for: inttypes.h re_comp.h regexp.h.
 # The online UNIX98 includes XCURSES, but curses.h, term.h and
 # unctrl.h are outside the scope of these tests.  It also includes
-# XTI, but xti.h is outside the scope of these tests.
+# XTI and STREAMS, but those are not implemented by glibc.
 conformtest-headers-UNIX98 := $(conformtest-headers-POSIX) arpa/inet.h cpio.h \
 			      dlfcn.h fmtmsg.h ftw.h iconv.h iso646.h \
 			      langinfo.h libgen.h monetary.h ndbm.h netdb.h \
 			      netinet/in.h nl_types.h poll.h search.h \
-			      strings.h stropts.h sys/ipc.h sys/msg.h \
+			      strings.h sys/ipc.h sys/msg.h \
 			      sys/resource.h sys/sem.h sys/shm.h sys/socket.h \
 			      sys/statvfs.h sys/time.h sys/timeb.h sys/uio.h \
 			      sys/un.h syslog.h ucontext.h ulimit.h utmpx.h \
 			      varargs.h wchar.h wctype.h
-# Missing XOPEN2K expectations for: trace.h.
+# Missing XOPEN2K expectations for: trace.h, stropts.h.
 conformtest-headers-XOPEN2K := $(conformtest-headers-POSIX) arpa/inet.h \
 			       complex.h cpio.h dlfcn.h fenv.h fmtmsg.h ftw.h \
 			       iconv.h inttypes.h iso646.h langinfo.h \
 			       libgen.h monetary.h ndbm.h net/if.h netdb.h \
 			       netinet/in.h netinet/tcp.h nl_types.h poll.h \
 			       search.h spawn.h stdbool.h stdint.h strings.h \
-			       stropts.h sys/ipc.h sys/msg.h sys/resource.h \
+			       sys/ipc.h sys/msg.h sys/resource.h \
 			       sys/select.h sys/sem.h sys/shm.h sys/socket.h \
 			       sys/statvfs.h sys/time.h sys/timeb.h sys/uio.h \
 			       sys/un.h syslog.h tgmath.h ucontext.h ulimit.h \
 			       utmpx.h wchar.h wctype.h
-# Missing POSIX2008 expectations for: trace.h.
+# Missing POSIX2008 expectations for: trace.h, stropts.h.
 conformtest-headers-POSIX2008 := $(conformtest-headers-POSIX) arpa/inet.h \
 				 complex.h cpio.h dlfcn.h fenv.h iconv.h \
 				 inttypes.h iso646.h langinfo.h monetary.h \
 				 net/if.h netdb.h netinet/in.h netinet/tcp.h \
 				 nl_types.h poll.h spawn.h stdbool.h stdint.h \
-				 strings.h stropts.h sys/select.h \
+				 strings.h sys/select.h \
 				 sys/socket.h sys/statvfs.h sys/un.h tgmath.h \
 				 wchar.h wctype.h
 # Missing XOPEN2K8 expectations for: trace.h.
diff --git a/conform/data/stropts.h-data b/conform/data/stropts.h-data
deleted file mode 100644
index c4b1343411..0000000000
--- a/conform/data/stropts.h-data
+++ /dev/null
@@ -1,140 +0,0 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined XPG4
-type {struct bandinfo}
-
-element {struct bandinfo} {unsigned char} bi_pri
-element {struct bandinfo} int bi_flag
-
-type {struct strpeek}
-
-element {struct strpeek} {struct strbuf} ctlbuf
-element {struct strpeek} {struct strbuf} databuf
-element {struct strpeek} t_uscalar_t flags
-
-type {struct strbuf}
-
-element {struct strbuf} int maxlen
-element {struct strbuf} int len
-element {struct strbuf} {char*} buf
-
-type {struct strfdinsert}
-
-element {struct strfdinsert} {struct strbuf} ctlbuf
-element {struct strfdinsert} {struct strbuf} databuf
-element {struct strfdinsert} t_uscalar_t flags
-element {struct strfdinsert} int fildes
-element {struct strfdinsert} int offset
-
-type {struct strioctl}
-
-element {struct strioctl} int ic_cmd
-element {struct strioctl} int ic_timout
-element {struct strioctl} int ic_len
-element {struct strioctl} {char*} ic_dp
-
-type {struct strrecvfd}
-
-element {struct strrecvfd} int fd
-element {struct strrecvfd} uid_t uid
-element {struct strrecvfd} gid_t gid
-
-type uid_t
-type gid_t
-
-type t_uscalar_t
-
-type {struct str_list}
-
-element {struct str_list} int sl_nmods
-element {struct str_list} {struct str_mlist*} sl_modlist
-
-type {struct str_mlist}
-
-element {struct str_mlist} char l_name [FMNAMESZ+1]
-
-macro I_PUSH
-macro I_POP
-macro I_LOOK
-macro FMNAMESZ
-macro I_FLUSH
-macro FLUSHR
-macro FLUSHW
-macro FLUSHRW
-macro I_FLUSHBAND
-macro I_SETSIG
-macro S_RDNORM
-macro S_RDBAND
-macro S_INPUT
-macro S_HIPRI
-macro S_OUTPUT
-macro S_WRNORM
-macro S_WRBAND
-macro S_MSG
-macro S_ERROR
-macro S_HANGUP
-macro S_BANDURG
-macro I_GETSIG
-macro I_FIND
-macro I_PEEK
-macro RS_HIPRI
-macro I_SRDOPT
-macro RNORM
-macro RMSGD
-macro RMSGN
-macro RPROTNORM
-macro RPROTDAT
-macro RPROTDIS
-macro I_GRDOPT
-macro I_NREAD
-macro I_FDINSERT
-macro I_STR
-macro I_SWROPT
-macro SNDZERO
-macro I_GWROPT
-macro I_SENDFD
-macro I_RECVFD
-macro I_LIST
-macro I_ATMARK
-macro ANYMARK
-macro LASTMARK
-macro I_CKBAND
-macro I_GETBAND
-macro I_CANPUT
-macro I_SETCLTIME
-macro I_GETCLTIME
-macro I_LINK
-macro I_UNLINK
-macro I_PLINK
-macro I_PUNLINK
-
-macro MSG_ANY
-macro MSG_BAND
-macro MSG_HIPRI
-macro MORECTL
-macro MOREDATA
-
-function int isastream (int)
-function int getmsg (int, struct strbuf*, struct strbuf*, int*)
-function int getpmsg (int, struct strbuf*, struct strbuf*, int*, int*)
-// Bug 14362: wrong type for ioctl.
-xfail-function int ioctl (int, int, ...)
-function int putmsg (int, const struct strbuf*, const struct strbuf*, int)
-function int putpmsg (int, const struct strbuf*, const struct strbuf*, int, int)
-function int fattach (int, const char*)
-function int fdetach (const char*)
-
-allow-header unistd.h
-
-allow bi_*
-allow ic_*
-allow l_*
-allow sl_*
-allow str_*
-allow FLUSH*
-allow I_*
-allow M_*
-allow MUXID_R*
-allow S_*
-allow SND*
-allow STR*
-allow *_t
-#endif