Message ID | mvmefgj81b5.fsf@suse.de |
---|---|
State | New |
Headers | show |
Series | Don't add nis subdir for new architectures | expand |
On Wed, Jul 4, 2018 at 11:31 AM, Andreas Schwab <schwab@suse.de> wrote: > For future architectures, sysdeps/unix/inet no longer implies building the > nis subdirectory, and --enable-obsolete-nsl is ignored. This change appears to be technically correct for the existing Linux ports. I don't have enough context to assess whether it might have negative consequences, but I support it in principle. I have two minor concerns: 1) Should the nis directory continue to be built by default for the existing Hurd port (ix86-gnu)? I don't think that port has a stable ABI yet, so perhaps not, but I'd like to hear that from Samuel. 2) The text added to install.texi / INSTALL is unclear: > --- a/manual/install.texi > +++ b/manual/install.texi > @@ -229,6 +229,8 @@ compatibility and the NSS modules libnss_compat, libnss_nis and > libnss_nisplus are not built at all. > Use this option to enable libnsl with all depending NSS modules and > header files. > +This option has no effect on architectures that were added after the > +2.27 release. as it could mean either that --enable-obsolete-nsl mode cannot be turned *on* for new architectures, or that it cannot be turned *off*. I suggest Architectures added after the 2.27 release will not even build libnsl as a compatibility library; this option has no effect on those architectures. zw
* Andreas Schwab: > For future architectures, sysdeps/unix/inet no longer implies building the > nis subdirectory, and --enable-obsolete-nsl is ignored. I think we should remove --enable-obsolete-rpc and --enable-obsolete-nsl altogether, and no longer include the compat symbols for new architectures, as usual.
On Jul 17 2018, Florian Weimer <fw@deneb.enyo.de> wrote: > * Andreas Schwab: > >> For future architectures, sysdeps/unix/inet no longer implies building the >> nis subdirectory, and --enable-obsolete-nsl is ignored. > > I think we should remove --enable-obsolete-rpc and > --enable-obsolete-nsl altogether, Feel free to submit a patch. That is an independent change. > and no longer include the compat symbols for new architectures, as > usual. We still need the compat libnsl for the existing architectures. This is what my patch addresses. Andreas.
* Andreas Schwab: > On Jul 17 2018, Florian Weimer <fw@deneb.enyo.de> wrote: > >> * Andreas Schwab: >> >>> For future architectures, sysdeps/unix/inet no longer implies building the >>> nis subdirectory, and --enable-obsolete-nsl is ignored. >> >> I think we should remove --enable-obsolete-rpc and >> --enable-obsolete-nsl altogether, > > Feel free to submit a patch. That is an independent change. Conceptually it's not. If there are distributions which still want to build the old interfaces, with your patch, they will not be able to build newer glibc versions for the affected architectures. That's why I think we need consensus first whether distributions still need those configure options.
On Wed, 4 Jul 2018, Andreas Schwab wrote: > +* Future architecture ports will no longer build a compatibility libnsl > + shared library, and --enable-obsolete-nsl will be ignored on those > + architectures. > +This option has no effect on architectures that were added after the > +2.27 release. There's ambiguity here about new ABIs for existing architectures. (Since they should be like new architectures regarding symbol versions, they should also be like new architectures in this regard.)
On Jul 17 2018, Joseph Myers <joseph@codesourcery.com> wrote: > On Wed, 4 Jul 2018, Andreas Schwab wrote: > >> +* Future architecture ports will no longer build a compatibility libnsl >> + shared library, and --enable-obsolete-nsl will be ignored on those >> + architectures. > >> +This option has no effect on architectures that were added after the >> +2.27 release. > > There's ambiguity here about new ABIs for existing architectures. (Since > they should be like new architectures regarding symbol versions, they > should also be like new architectures in this regard.) The intent is to exclude nis for all architectures and ABIs that have a base version of 2.28 or later. Andreas.
On Wed, 18 Jul 2018, Andreas Schwab wrote: > On Jul 17 2018, Joseph Myers <joseph@codesourcery.com> wrote: > > > On Wed, 4 Jul 2018, Andreas Schwab wrote: > > > >> +* Future architecture ports will no longer build a compatibility libnsl > >> + shared library, and --enable-obsolete-nsl will be ignored on those > >> + architectures. > > > >> +This option has no effect on architectures that were added after the > >> +2.27 release. > > > > There's ambiguity here about new ABIs for existing architectures. (Since > > they should be like new architectures regarding symbol versions, they > > should also be like new architectures in this regard.) > > The intent is to exclude nis for all architectures and ABIs that have a > base version of 2.28 or later. Yes, I agree that's the right intent, but I'm not convinced it's clear from the documentation wording that e.g. RV32, or RV64 with 'F' ABI, would be a case where the option has no effect.
On Jul 18 2018, Joseph Myers <joseph@codesourcery.com> wrote: > Yes, I agree that's the right intent, but I'm not convinced it's clear > from the documentation wording It can be improved of course. Andreas.
diff --git a/INSTALL b/INSTALL index 3c656fb7a6..9c2bc861c2 100644 --- a/INSTALL +++ b/INSTALL @@ -195,7 +195,9 @@ if 'CFLAGS' is specified it must enable optimization. For example: By default, libnsl is only built as shared library for backward compatibility and the NSS modules libnss_compat, libnss_nis and libnss_nisplus are not built at all. Use this option to enable - libnsl with all depending NSS modules and header files. + libnsl with all depending NSS modules and header files. This + option has no effect on architectures that were added after the + 2.27 release. '--disable-crypt' Do not install the passphrase-hashing library 'libcrypt' or the diff --git a/NEWS b/NEWS index b1ce067d27..994c23391e 100644 --- a/NEWS +++ b/NEWS @@ -152,6 +152,10 @@ Deprecated and removed features, and other changes affecting compatibility: project's versions of these files. The plan is to make this the default behavior in a future release. +* Future architecture ports will no longer build a compatibility libnsl + shared library, and --enable-obsolete-nsl will be ignored on those + architectures. + Changes to build and runtime requirements: GNU make 4.0 or later is now required to build glibc. diff --git a/manual/install.texi b/manual/install.texi index 42e9954199..a670843b93 100644 --- a/manual/install.texi +++ b/manual/install.texi @@ -229,6 +229,8 @@ compatibility and the NSS modules libnss_compat, libnss_nis and libnss_nisplus are not built at all. Use this option to enable libnsl with all depending NSS modules and header files. +This option has no effect on architectures that were added after the +2.27 release. @item --disable-crypt Do not install the passphrase-hashing library @file{libcrypt} or the diff --git a/sysdeps/unix/bsd/Subdirs b/sysdeps/unix/bsd/Subdirs new file mode 100644 index 0000000000..94f155b1c9 --- /dev/null +++ b/sysdeps/unix/bsd/Subdirs @@ -0,0 +1 @@ +nis diff --git a/sysdeps/unix/inet/Subdirs b/sysdeps/unix/inet/Subdirs index 0a02dd4447..5040dd0a6e 100644 --- a/sysdeps/unix/inet/Subdirs +++ b/sysdeps/unix/inet/Subdirs @@ -2,7 +2,6 @@ inet resolv hesiod sunrpc -nis nscd nss streams diff --git a/sysdeps/unix/sysv/linux/aarch64/Subdirs b/sysdeps/unix/sysv/linux/aarch64/Subdirs new file mode 100644 index 0000000000..94f155b1c9 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/Subdirs @@ -0,0 +1 @@ +nis diff --git a/sysdeps/unix/sysv/linux/alpha/Subdirs b/sysdeps/unix/sysv/linux/alpha/Subdirs new file mode 100644 index 0000000000..94f155b1c9 --- /dev/null +++ b/sysdeps/unix/sysv/linux/alpha/Subdirs @@ -0,0 +1 @@ +nis diff --git a/sysdeps/unix/sysv/linux/arm/Subdirs b/sysdeps/unix/sysv/linux/arm/Subdirs new file mode 100644 index 0000000000..94f155b1c9 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arm/Subdirs @@ -0,0 +1 @@ +nis diff --git a/sysdeps/unix/sysv/linux/hppa/Subdirs b/sysdeps/unix/sysv/linux/hppa/Subdirs new file mode 100644 index 0000000000..94f155b1c9 --- /dev/null +++ b/sysdeps/unix/sysv/linux/hppa/Subdirs @@ -0,0 +1 @@ +nis diff --git a/sysdeps/unix/sysv/linux/i386/Subdirs b/sysdeps/unix/sysv/linux/i386/Subdirs new file mode 100644 index 0000000000..94f155b1c9 --- /dev/null +++ b/sysdeps/unix/sysv/linux/i386/Subdirs @@ -0,0 +1 @@ +nis diff --git a/sysdeps/unix/sysv/linux/ia64/Subdirs b/sysdeps/unix/sysv/linux/ia64/Subdirs new file mode 100644 index 0000000000..94f155b1c9 --- /dev/null +++ b/sysdeps/unix/sysv/linux/ia64/Subdirs @@ -0,0 +1 @@ +nis diff --git a/sysdeps/unix/sysv/linux/m68k/Subdirs b/sysdeps/unix/sysv/linux/m68k/Subdirs new file mode 100644 index 0000000000..94f155b1c9 --- /dev/null +++ b/sysdeps/unix/sysv/linux/m68k/Subdirs @@ -0,0 +1 @@ +nis diff --git a/sysdeps/unix/sysv/linux/microblaze/Subdirs b/sysdeps/unix/sysv/linux/microblaze/Subdirs new file mode 100644 index 0000000000..94f155b1c9 --- /dev/null +++ b/sysdeps/unix/sysv/linux/microblaze/Subdirs @@ -0,0 +1 @@ +nis diff --git a/sysdeps/unix/sysv/linux/mips/Subdirs b/sysdeps/unix/sysv/linux/mips/Subdirs new file mode 100644 index 0000000000..94f155b1c9 --- /dev/null +++ b/sysdeps/unix/sysv/linux/mips/Subdirs @@ -0,0 +1 @@ +nis diff --git a/sysdeps/unix/sysv/linux/powerpc/Subdirs b/sysdeps/unix/sysv/linux/powerpc/Subdirs new file mode 100644 index 0000000000..94f155b1c9 --- /dev/null +++ b/sysdeps/unix/sysv/linux/powerpc/Subdirs @@ -0,0 +1 @@ +nis diff --git a/sysdeps/unix/sysv/linux/riscv/Subdirs b/sysdeps/unix/sysv/linux/riscv/Subdirs new file mode 100644 index 0000000000..94f155b1c9 --- /dev/null +++ b/sysdeps/unix/sysv/linux/riscv/Subdirs @@ -0,0 +1 @@ +nis diff --git a/sysdeps/unix/sysv/linux/s390/Subdirs b/sysdeps/unix/sysv/linux/s390/Subdirs new file mode 100644 index 0000000000..94f155b1c9 --- /dev/null +++ b/sysdeps/unix/sysv/linux/s390/Subdirs @@ -0,0 +1 @@ +nis diff --git a/sysdeps/unix/sysv/linux/sh/Subdirs b/sysdeps/unix/sysv/linux/sh/Subdirs new file mode 100644 index 0000000000..94f155b1c9 --- /dev/null +++ b/sysdeps/unix/sysv/linux/sh/Subdirs @@ -0,0 +1 @@ +nis diff --git a/sysdeps/unix/sysv/linux/sparc/Subdirs b/sysdeps/unix/sysv/linux/sparc/Subdirs new file mode 100644 index 0000000000..94f155b1c9 --- /dev/null +++ b/sysdeps/unix/sysv/linux/sparc/Subdirs @@ -0,0 +1 @@ +nis diff --git a/sysdeps/unix/sysv/linux/x86_64/Subdirs b/sysdeps/unix/sysv/linux/x86_64/Subdirs new file mode 100644 index 0000000000..94f155b1c9 --- /dev/null +++ b/sysdeps/unix/sysv/linux/x86_64/Subdirs @@ -0,0 +1 @@ +nis