This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Remove obsolete, never-implemented XSI STREAMS declarations
- From: Carlos O'Donell <carlos at redhat dot com>
- To: Florian Weimer <fweimer at redhat dot com>
- Cc: Zack Weinberg <zackw at panix dot com>, GNU C Library <libc-alpha at sourceware dot org>
- Date: Thu, 14 Mar 2019 10:42:53 -0400
- Subject: Re: [PATCH] Remove obsolete, never-implemented XSI STREAMS declarations
- References: <87zhqi626s.fsf@oldenburg2.str.redhat.com> <CAKCAbMgBcxYLOo8jrBejr9UH1WDjcpw610o5qscCqnLcdvJr6Q@mail.gmail.com> <874l8q4hor.fsf@oldenburg2.str.redhat.com> <1f520688-5a78-782b-d3be-044991db0976@redhat.com> <87ftrp7jb4.fsf@oldenburg2.str.redhat.com>
On 3/14/19 8:05 AM, Florian Weimer wrote:
> * Carlos O'Donell:
>
>> Reviewed-by: Carlos O'Donell <carlos@rehdat.com>
>
> My pre-push testing revealed that my previous testing had been
> insufficient, and I had to make the changes below.
>
> (Hurd does not have any other GLIBC_2.30 reference, which is why had to
> add the section to posix/Versions.)
>
> Does your Reviewed-by: still stand?
Yes.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
> Thanks,
> Florian
>
> diff --git a/ChangeLog b/ChangeLog
> index cf62a1a1c8..1688c47781 100644
> --- a/ChangeLog
> +++ b/ChangeLog
> @@ -1,4 +1,4 @@
> -2019-02-26 Florian Weimer <fweimer@redhat.com>
> +2019-03-14 Florian Weimer <fweimer@redhat.com>
>
> Remove obsolete, never-implemented XSI STREAMS declarations.
> * manual/terminal.texi (Allocation): Remove portability note and
> @@ -13,6 +13,9 @@
> (conformtest-headers-POSIX2008): Likewise.
> * posix/compat-streams.c: New file.
> * posix/Makefile (routines): Add it.
> + * posix/Versions (GLIBC_2.1): Add fattach, fdetach, getmsg,
> + getpmsg, isastream, putmsg, putpmsg.
> + (GLIBC_2.30): New section.
I'm *so* sorry, I thought about this and didn't mention it in my earlier
review.
* If GLIBC_2.30 isn't defined in any versions file then -Wundef will
cause it to fail (because it's not in abi-versions.h for use with
the compat reference. So I figured that you must have worked around this
in some other way, but it seems like you found this failure in Hurd
with a -Wundef failure, so that's working as expected. We've seen this
kind of problem before and it was the impetus for the -Wundef changes.
* The other problem here is that you removed the version node for the
existing compat symbols, and so they would probably not be exported.
Sounds like you got the "not exported" case and got ABI testsuite
failures.
I'm glad that the infrastructure caught all of this.
> * bits/stropts.h: Remove file.
> * bits/xtitypes.h: Likewise.
> * conform/data/stropts.h-data: Likewise.
> diff --git a/posix/Versions b/posix/Versions
> index ad693ae9a7..7d06a6d0c0 100644
> --- a/posix/Versions
> +++ b/posix/Versions
> @@ -80,6 +80,10 @@ libc {
> # w*
> waitid; wordexp; wordfree;
> }
> + GLIBC_2.1 {
> + # Compat symbols for the obsolete, unimplemented XSI streams extension.
> + fattach; fdetach; getmsg; getpmsg; isastream; putmsg; putpmsg;
> + }
OK. Required for baseline for these symbols.
> GLIBC_2.1.2 {
> # functions used in other libraries
> __vfork;
> @@ -141,6 +145,8 @@ libc {
> posix_spawn_file_actions_addchdir_np;
> posix_spawn_file_actions_addfchdir_np;
> }
> + GLIBC_2.30 {
> + }
OK. Required for compat symbols.
> GLIBC_PRIVATE {
> __libc_fork; __libc_pread; __libc_pwrite;
> __nanosleep_nocancel; __pause_nocancel;
>
--
Cheers,
Carlos.