From 371f3da616598f7bcd14e26b54c7b2c96ec9bbd7 Mon Sep 17 00:00:00 2001 From: John Baldwin Date: Thu, 30 Apr 2020 22:08:40 +0000 Subject: [PATCH] Remove the SYMVER build option. This option was added as a transition aide when symbol versioning was first added. It was enabled by default in 2007 and is supported even by the old GPLv2 binutils. Trying to disable it currently fails to build in libc and at this point it isn't worth fixing the build. Reported by: Michael Dexter Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D24637 --- lib/libc/db/mpool/Makefile.inc | 6 ++---- lib/libc/gen/Makefile.inc | 22 ++++++++++------------ lib/libc/iconv/Makefile.inc | 5 +---- lib/libc/posix1e/Makefile.inc | 4 +--- lib/libc/secure/Makefile.inc | 6 ++---- lib/libgcc_s/Makefile | 2 -- lib/libprocstat/Makefile | 5 +---- share/man/man5/src.conf.5 | 2 -- share/mk/bsd.lib.mk | 2 +- share/mk/bsd.opts.mk | 1 - share/mk/bsd.symver.mk | 2 +- tools/build/options/WITHOUT_SYMVER | 2 -- 12 files changed, 19 insertions(+), 40 deletions(-) delete mode 100644 tools/build/options/WITHOUT_SYMVER diff --git a/lib/libc/db/mpool/Makefile.inc b/lib/libc/db/mpool/Makefile.inc index 76ec0ebe5cd2..bd57a65e1f06 100644 --- a/lib/libc/db/mpool/Makefile.inc +++ b/lib/libc/db/mpool/Makefile.inc @@ -3,7 +3,5 @@ .PATH: ${LIBC_SRCTOP}/db/mpool -SRCS+= mpool.c -.if ${MK_SYMVER} == yes -SRCS+= mpool-compat.c -.endif +SRCS+= mpool.c \ + mpool-compat.c diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc index 18c6f51691f5..04cedb7a3f73 100644 --- a/lib/libc/gen/Makefile.inc +++ b/lib/libc/gen/Makefile.inc @@ -34,6 +34,7 @@ SRCS+= __getosreldate.c \ ctermid.c \ daemon.c \ devname.c \ + devname-compat11.c \ dirfd.c \ dirname.c \ dirname_compat.c \ @@ -58,7 +59,10 @@ SRCS+= __getosreldate.c \ fstab.c \ ftok.c \ fts.c \ + fts-compat.c \ + fts-compat11.c \ ftw.c \ + ftw-compat11.c \ getbootfile.c \ getbsize.c \ getcap.c \ @@ -71,6 +75,7 @@ SRCS+= __getosreldate.c \ getloadavg.c \ getlogin.c \ getmntinfo.c \ + getmntinfo-compat11.c \ getnetgrent.c \ getosreldate.c \ getpagesize.c \ @@ -83,6 +88,7 @@ SRCS+= __getosreldate.c \ getutxent.c \ getvfsbyname.c \ glob.c \ + glob-compat11.c \ initgroups.c \ isatty.c \ isinf.c \ @@ -94,6 +100,7 @@ SRCS+= __getosreldate.c \ lrand48.c \ mrand48.c \ nftw.c \ + nftw-compat11.c \ nice.c \ nlist.c \ nrand48.c \ @@ -107,10 +114,12 @@ SRCS+= __getosreldate.c \ pw_scan.c \ raise.c \ readdir.c \ + readdir-compat11.c \ readpassphrase.c \ recvmmsg.c \ rewinddir.c \ scandir.c \ + scandir-compat11.c \ seed48.c \ seekdir.c \ semctl.c \ @@ -147,6 +156,7 @@ SRCS+= __getosreldate.c \ ualarm.c \ ulimit.c \ uname.c \ + unvis-compat.c \ usleep.c \ utime.c \ utxdb.c \ @@ -156,18 +166,6 @@ SRCS+= __getosreldate.c \ waitpid.c \ waitid.c \ wordexp.c -.if ${MK_SYMVER} == yes -SRCS+= devname-compat11.c \ - fts-compat.c \ - fts-compat11.c \ - ftw-compat11.c \ - getmntinfo-compat11.c \ - glob-compat11.c \ - nftw-compat11.c \ - readdir-compat11.c \ - scandir-compat11.c \ - unvis-compat.c -.endif CFLAGS.arc4random.c= -I${SRCTOP}/sys -I${SRCTOP}/sys/crypto/chacha20 diff --git a/lib/libc/iconv/Makefile.inc b/lib/libc/iconv/Makefile.inc index 25094ce8d9e6..09a51e1cdba2 100644 --- a/lib/libc/iconv/Makefile.inc +++ b/lib/libc/iconv/Makefile.inc @@ -14,10 +14,7 @@ SRCS+= citrus_bcs.c citrus_bcs_strtol.c citrus_bcs_strtoul.c \ citrus_esdb.c citrus_hash.c citrus_iconv.c citrus_lookup.c \ citrus_lookup_factory.c citrus_mapper.c citrus_memstream.c \ citrus_mmap.c citrus_module.c citrus_none.c citrus_pivot_factory.c \ - citrus_prop.c citrus_stdenc.c bsd_iconv.c -.if ${MK_SYMVER} == yes -SRCS+= iconv_compat.c -.endif + citrus_prop.c citrus_stdenc.c bsd_iconv.c iconv_compat.c SYM_MAPS+= ${LIBC_SRCTOP}/iconv/Symbol.map diff --git a/lib/libc/posix1e/Makefile.inc b/lib/libc/posix1e/Makefile.inc index fb5cf6e39cc6..fadc952f7acc 100644 --- a/lib/libc/posix1e/Makefile.inc +++ b/lib/libc/posix1e/Makefile.inc @@ -11,6 +11,7 @@ subr_acl_nfs4.c: ${SRCTOP}/sys/kern/subr_acl_nfs4.c CONFS+= posix1e/mac.conf SRCS+= acl_branding.c \ acl_calc_mask.c \ + acl_compat.c \ acl_copy.c \ acl_delete.c \ acl_delete_entry.c \ @@ -36,9 +37,6 @@ SRCS+= acl_branding.c \ mac_get.c \ mac_set.c \ subr_acl_nfs4.c -.if ${MK_SYMVER} == yes -SRCS+= acl_compat.c -.endif SYM_MAPS+=${LIBC_SRCTOP}/posix1e/Symbol.map diff --git a/lib/libc/secure/Makefile.inc b/lib/libc/secure/Makefile.inc index e2e75c70603b..239cd7b8d1c6 100644 --- a/lib/libc/secure/Makefile.inc +++ b/lib/libc/secure/Makefile.inc @@ -5,9 +5,7 @@ .PATH: ${LIBC_SRCTOP}/secure # Sources common to both syscall interfaces: -SRCS+= stack_protector.c -.if ${MK_SYMVER} == yes -SRCS+= stack_protector_compat.c -.endif +SRCS+= stack_protector.c \ + stack_protector_compat.c SYM_MAPS+= ${LIBC_SRCTOP}/secure/Symbol.map diff --git a/lib/libgcc_s/Makefile b/lib/libgcc_s/Makefile index 0b9bbf257c5e..f245069aee40 100644 --- a/lib/libgcc_s/Makefile +++ b/lib/libgcc_s/Makefile @@ -12,7 +12,6 @@ WARNS?= 2 LDFLAGS+= -nodefaultlibs LIBADD+= c -.if ${MK_SYMVER} == "yes" VERSION_DEF= ${.CURDIR}/Versions.def SYMBOL_MAPS= ${.CURDIR}/Symbol.map # Export ARM AEABI unwind routines needed by libc and libthr. @@ -21,7 +20,6 @@ SYMBOL_MAPS+= ${.CURDIR}/${MACHINE_CPUARCH}/Symbol.map .else SYMBOL_MAPS+= ${.CURDIR}/SymbolDefault.map .endif -.endif .include "../libcompiler_rt/Makefile.inc" .include "../libgcc_eh/Makefile.inc" diff --git a/lib/libprocstat/Makefile b/lib/libprocstat/Makefile index d55a02b46b7d..46c2c8753990 100644 --- a/lib/libprocstat/Makefile +++ b/lib/libprocstat/Makefile @@ -8,14 +8,11 @@ SRCS= cd9660.c \ common_kvm.c \ core.c \ libprocstat.c \ + libprocstat_compat.c \ msdosfs.c \ smbfs.c \ udf.c -.if ${MK_SYMVER} == yes -SRCS+= libprocstat_compat.c -.endif - VERSION_DEF= ${LIBCSRCDIR}/Versions.def SYMBOL_MAPS= ${.CURDIR}/Symbol.map diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index effeda6b12dc..da3a1f9c3044 100644 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -1541,8 +1541,6 @@ as Set to not build .Xr svnlite 1 and related programs. -.It Va WITHOUT_SYMVER -Set to disable symbol versioning when building shared libraries. .It Va WITHOUT_SYSCONS Set to not build .Xr syscons 4 diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index 85fbb0dac84e..3757736eaa39 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -227,7 +227,7 @@ SHLIB_NAME_FULL=${SHLIB_NAME} # Allow libraries to specify their own version map or have it # automatically generated (see bsd.symver.mk above). -.if ${MK_SYMVER} == "yes" && !empty(VERSION_MAP) +.if !empty(VERSION_MAP) ${SHLIB_NAME_FULL}: ${VERSION_MAP} LDFLAGS+= -Wl,--version-script=${VERSION_MAP} .endif diff --git a/share/mk/bsd.opts.mk b/share/mk/bsd.opts.mk index 961508571b42..c9121c359af9 100644 --- a/share/mk/bsd.opts.mk +++ b/share/mk/bsd.opts.mk @@ -63,7 +63,6 @@ __DEFAULT_YES_OPTIONS = \ OPENSSH \ PROFILE \ SSP \ - SYMVER \ TESTS \ TOOLCHAIN \ WARNS diff --git a/share/mk/bsd.symver.mk b/share/mk/bsd.symver.mk index 7626274e59a5..a7bffad5ceae 100644 --- a/share/mk/bsd.symver.mk +++ b/share/mk/bsd.symver.mk @@ -7,7 +7,7 @@ ____: # Generate the version map given the version definitions # and symbol maps. -.if ${MK_SYMVER} == "yes" && !empty(VERSION_DEF) && !empty(SYMBOL_MAPS) +.if !empty(VERSION_DEF) && !empty(SYMBOL_MAPS) # Find the awk script that generates the version map. VERSION_GEN?= version_gen.awk VERSION_MAP?= Version.map diff --git a/tools/build/options/WITHOUT_SYMVER b/tools/build/options/WITHOUT_SYMVER deleted file mode 100644 index c6b0eaeee15e..000000000000 --- a/tools/build/options/WITHOUT_SYMVER +++ /dev/null @@ -1,2 +0,0 @@ -.\" $FreeBSD$ -Set to disable symbol versioning when building shared libraries.