From 85d3192140d1607a3cbf736e28fea2ed60a4413a Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Wed, 16 Nov 2016 22:47:57 +0000 Subject: [PATCH] Enable linknamespace testing for libdl and libcrypt. When I set up linknamespace testing, the lists of libraries that might contain functions from various standards were based on the -l options POSIX says may be required to find certain functions with the c99 utility. glibc has some POSIX functions in the libdl and libcrypt libraries, not mentioned in the definition of the c99 utility (so an implementation of that utility using glibc would need to use -ldl -lcrypt automatically). This patch adds those libraries to the ones considered in linknamespace testing for relevant standards. (The crypt functions are XSI only, present in XPG3 and above; the libdl ones were added in UNIX98, then moved from XSI to BASE in the 2008 edition of POSIX.) * conform/Makefile (linknamespace-libs): Rename to linknamespace-libs-thr. (linknamespace-libs-posix): New variable. (linknamespace-libs-xsi): Likewise. (linknamespace-libs-XPG3): Include libcrypt.a. (linknamespace-libs-XPG4): Use $(linknamespace-libs-XPG3). (linknamespace-libs-POSIX): Use $(linknamespace-libs-thr). (linknamespace-libs-UNIX98): Use $(linknamespace-libs-xsi). (linknamespace-libs-XOPEN2K): Likewise. (linknamespace-libs-XOPEN2K8): Likewise. (linknamespace-libs-POSIX2008): Use $(linknamespace-libs-posix). --- ChangeLog | 12 ++++++++++++ conform/Makefile | 23 ++++++++++++++--------- 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 49e0ae7fed..fe64cc2d65 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,17 @@ 2016-11-16 Joseph Myers + * conform/Makefile (linknamespace-libs): Rename to + linknamespace-libs-thr. + (linknamespace-libs-posix): New variable. + (linknamespace-libs-xsi): Likewise. + (linknamespace-libs-XPG3): Include libcrypt.a. + (linknamespace-libs-XPG4): Use $(linknamespace-libs-XPG3). + (linknamespace-libs-POSIX): Use $(linknamespace-libs-thr). + (linknamespace-libs-UNIX98): Use $(linknamespace-libs-xsi). + (linknamespace-libs-XOPEN2K): Likewise. + (linknamespace-libs-XOPEN2K8): Likewise. + (linknamespace-libs-POSIX2008): Use $(linknamespace-libs-posix). + [BZ #20829] * stdio-common/Versions (__snprintf): Add to version GLIBC_PRIVATE. diff --git a/conform/Makefile b/conform/Makefile index 7883624c81..5862f702d2 100644 --- a/conform/Makefile +++ b/conform/Makefile @@ -209,18 +209,23 @@ $(linknamespace-symlists-tests): $(objpfx)symlist-%: list-header-symbols.pl $(evaluate-test) linknamespace-libs-isoc = $(common-objpfx)libc.a $(common-objpfx)math/libm.a -linknamespace-libs = $(linknamespace-libs-isoc) \ - $(common-objpfx)rt/librt.a $(static-thread-library) +linknamespace-libs-thr = $(linknamespace-libs-isoc) \ + $(common-objpfx)rt/librt.a $(static-thread-library) +linknamespace-libs-posix = $(linknamespace-libs-thr) \ + $(common-objpfx)dlfcn/libdl.a +linknamespace-libs-xsi = $(linknamespace-libs-posix) \ + $(common-objpfx)crypt/libcrypt.a linknamespace-libs-ISO = $(linknamespace-libs-isoc) linknamespace-libs-ISO99 = $(linknamespace-libs-isoc) linknamespace-libs-ISO11 = $(linknamespace-libs-isoc) -linknamespace-libs-XPG3 = $(linknamespace-libs-isoc) -linknamespace-libs-XPG4 = $(linknamespace-libs-isoc) -linknamespace-libs-POSIX = $(linknamespace-libs) -linknamespace-libs-UNIX98 = $(linknamespace-libs) -linknamespace-libs-XOPEN2K = $(linknamespace-libs) -linknamespace-libs-POSIX2008 = $(linknamespace-libs) -linknamespace-libs-XOPEN2K8 = $(linknamespace-libs) +linknamespace-libs-XPG3 = $(linknamespace-libs-isoc) \ + $(common-objpfx)crypt/libcrypt.a +linknamespace-libs-XPG4 = $(linknamespace-libs-XPG3) +linknamespace-libs-POSIX = $(linknamespace-libs-thr) +linknamespace-libs-UNIX98 = $(linknamespace-libs-xsi) +linknamespace-libs-XOPEN2K = $(linknamespace-libs-xsi) +linknamespace-libs-POSIX2008 = $(linknamespace-libs-posix) +linknamespace-libs-XOPEN2K8 = $(linknamespace-libs-xsi) $(linknamespace-symlist-stdlibs-tests): $(objpfx)symlist-stdlibs-%: \ $(linknamespace-libs)