Remove obsolete, never-implemented XSI STREAMS declarations

Message ID 87ftrp7jb4.fsf@oldenburg2.str.redhat.com
State Committed
Headers

Commit Message

Florian Weimer March 14, 2019, 12:05 p.m. UTC
  * 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?

Thanks,
Florian
  

Comments

Carlos O'Donell March 14, 2019, 2:42 p.m. UTC | #1
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;
>
  

Patch

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.
 	* 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;
+  }
   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 {
+  }
   GLIBC_PRIVATE {
     __libc_fork; __libc_pread; __libc_pwrite;
     __nanosleep_nocancel; __pause_nocancel;