[PATCH 3/3] Add --disable-major-minor-libraries configure option

Florian Weimer fweimer@redhat.com
Tue Dec 3 14:39:00 GMT 2019


* Florian Weimer:

> This option can be used to increase compatibility with package managers.
> The name was choosen to avoid confusion with all the different versions
> (glibc release, soname versions, symbol versions).
>
> This patch makes all uses of -$(version).so conditional on the new
> $(major-minor-libraries) flag.  The alternative install targets write
> the implementation DSOs directly to the locations determined by their
> sonames, skipping the creation of an intermediate symbolic link.
>
> install-symbolic-link in Makerules is updated not to require the
> $(symbolic-link-list) file because it may not exist in
> --disable-major-minor-libraries mode.
>
> I verified that by default, the install tree is the same as before
> on x86_64-linux-gnu except for the changes in the manual.

This needs an update for ldconfig:

      /* Does this file look like a shared library or is it a hwcap
	 subdirectory?  The dynamic linker is also considered as
	 shared library.  */
      if (((strncmp (direntry->d_name, "lib", 3) != 0
	    && strncmp (direntry->d_name, "ld-", 3) != 0)
	   || strstr (direntry->d_name, ".so") == NULL)
	  && (direntry->d_type == DT_REG
	      || !is_hwcap_platform (direntry->d_name)))
	continue;

On some architectures, the loader no longer starts with ld- after this
change.

Thanks,
Florian



More information about the Libc-alpha mailing list