From 9ce3c6b09ae16fb3275fdc5645a7091a429301d8 Mon Sep 17 00:00:00 2001 From: Ed Maste Date: Mon, 3 Oct 2016 17:49:26 +0000 Subject: [PATCH] Retire WITHOUT_ELFCOPY_AS_OBJCOPY option In FreeBSD 11 ELF Tool Chain's elfcopy is installed as objcopy by default, with the option to switch back to GNU objcopy by setting WITHOUT_ELFCOPY_AS_OBJCOPY in make.conf. We plan to remove the outdated in-tree binutils in FreeBSD 12, so remove the temporary transition aid. Reviewed by: brooks, imp Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D7337 --- ObsoleteFiles.inc | 3 +++ UPDATING | 4 ++++ gnu/usr.bin/binutils/Makefile | 7 +------ share/mk/src.opts.mk | 1 - tools/build/mk/OptionalObsoleteFiles.inc | 14 +------------- tools/build/options/WITHOUT_ELFCOPY_AS_OBJCOPY | 5 ----- tools/build/options/WITH_ELFCOPY_AS_OBJCOPY | 4 ---- usr.bin/elfcopy/Makefile | 4 ---- 8 files changed, 9 insertions(+), 33 deletions(-) delete mode 100644 tools/build/options/WITHOUT_ELFCOPY_AS_OBJCOPY delete mode 100644 tools/build/options/WITH_ELFCOPY_AS_OBJCOPY diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 09f83e050814..89ccd9bc1048 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -38,6 +38,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20161003: MK_ELFCOPY_AS_OBJCOPY option retired +OLD_FILES+=usr/bin/elfcopy +OLD_FILES+=usr/share/man/man1/elfcopy.1.gz # 20160906: libkqueue tests moved to /usr/tests/sys/kqueue/libkqueue OLD_FILES+=usr/tests/sys/kqueue/kqtest OLD_FILES+=usr/tests/sys/kqueue/kqueue_test diff --git a/UPDATING b/UPDATING index b2114f59df85..970401bff532 100644 --- a/UPDATING +++ b/UPDATING @@ -31,6 +31,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW: disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20161003: + The WITHOUT_ELFCOPY_AS_OBJCOPY src.conf(5) knob has been retired. + ELF Tool Chain's elfcopy is always installed as /usr/bin/objcopy. + 20160924: Relocatable object files with the extension of .So have been renamed to use an extension of .pico instead. The purpose of this change is diff --git a/gnu/usr.bin/binutils/Makefile b/gnu/usr.bin/binutils/Makefile index b2a35068f50b..c05a5af2374d 100644 --- a/gnu/usr.bin/binutils/Makefile +++ b/gnu/usr.bin/binutils/Makefile @@ -9,17 +9,12 @@ SUBDIR= doc\ libbinutils \ as \ ld \ - ${_objcopy} \ - objdump \ + objdump -.if ${MK_ELFCOPY_AS_OBJCOPY} == "no" -_objcopy= objcopy -.endif SUBDIR_DEPEND_libbinutils=libbfd # for bfdver.h SUBDIR_DEPEND_as=libbfd libiberty libopcodes SUBDIR_DEPEND_ld=libbfd libiberty -SUBDIR_DEPEND_objcopy=libbfd libiberty libbinutils SUBDIR_DEPEND_objdump=libbfd libiberty libbinutils libopcodes .if !make(install) diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 11d2e28d2e40..a9de9b3a4c89 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -82,7 +82,6 @@ __DEFAULT_YES_OPTIONS = \ DYNAMICROOT \ ED_CRYPTO \ EE \ - ELFCOPY_AS_OBJCOPY \ ELFTOOLCHAIN_BOOTSTRAP \ EXAMPLES \ FDT \ diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index a4525313af7c..4a938035071a 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -220,9 +220,6 @@ OLD_DIRS+=usr/share/examples/bhyve OLD_FILES+=usr/bin/as OLD_FILES+=usr/bin/ld OLD_FILES+=usr/bin/ld.bfd -.if ${MK_ELFCOPY_AS_OBJCOPY} == no -OLD_FILES+=usr/bin/objcopy -.endif OLD_FILES+=usr/bin/objdump OLD_FILES+=usr/libdata/ldscripts/armelf_fbsd.x OLD_FILES+=usr/libdata/ldscripts/armelf_fbsd.xbn @@ -421,9 +418,6 @@ OLD_FILES+=usr/libdata/ldscripts/elf_x86_64_fbsd.xu OLD_FILES+=usr/libdata/ldscripts/elf_x86_64_fbsd.xw OLD_FILES+=usr/share/man/man1/as.1.gz OLD_FILES+=usr/share/man/man1/ld.1.gz -.if ${MK_ELFCOPY_AS_OBJCOPY} == no -OLD_FILES+=usr/share/man/man1/objcopy.1.gz -.endif OLD_FILES+=usr/share/man/man1/objdump.1.gz OLD_FILES+=usr/share/man/man7/as.7.gz OLD_FILES+=usr/share/man/man7/ld.7.gz @@ -8024,6 +8018,7 @@ OLD_FILES+=usr/bin/c++filt OLD_FILES+=usr/bin/ld OLD_FILES+=usr/bin/ld.bfd OLD_FILES+=usr/bin/nm +OLD_FILES+=usr/bin/objcopy OLD_FILES+=usr/bin/readelf OLD_FILES+=usr/bin/size OLD_FILES+=usr/bin/strings @@ -8036,10 +8031,7 @@ OLD_FILES+=usr/share/man/man1/readelf.1.gz OLD_FILES+=usr/share/man/man1/size.1.gz OLD_FILES+=usr/share/man/man1/strings.1.gz OLD_FILES+=usr/share/man/man1/strip.1.gz -.if ${MK_ELFCOPY_AS_OBJCOPY} != no -OLD_FILES+=usr/bin/objcopy OLD_FILES+=usr/share/man/man1/objcopy.1.gz -.endif OLD_FILES+=usr/tests/usr.bin/yacc/Kyuafile OLD_FILES+=usr/tests/usr.bin/yacc/btyacc_calc1.y OLD_FILES+=usr/tests/usr.bin/yacc/btyacc_demo.y @@ -8349,10 +8341,6 @@ OLD_FILES+=usr/tests/usr.bin/yacc/yacc/varsyntax_calc1.tab.h OLD_FILES+=usr/tests/usr.bin/yacc/yacc_tests OLD_DIRS+=usr/tests/usr.bin/yacc .endif -.if ${MK_TOOLCHAIN} == no || ${MK_ELFCOPY_AS_OBJCOPY} != no -OLD_FILES+=usr/bin/elfcopy -OLD_FILES+=usr/share/man/man1/elfcopy.1.gz -.endif .if ${MK_UNBOUND} == no OLD_FILES+=etc/rc.d/local_unbound diff --git a/tools/build/options/WITHOUT_ELFCOPY_AS_OBJCOPY b/tools/build/options/WITHOUT_ELFCOPY_AS_OBJCOPY deleted file mode 100644 index 1fcde11427dc..000000000000 --- a/tools/build/options/WITHOUT_ELFCOPY_AS_OBJCOPY +++ /dev/null @@ -1,5 +0,0 @@ -.\" $FreeBSD$ -Set to build and install -.Xr objcopy 1 -from GNU Binutils, instead of the one from ELF Tool Chain. -This option is provided as a transition aid and will be removed in due time. diff --git a/tools/build/options/WITH_ELFCOPY_AS_OBJCOPY b/tools/build/options/WITH_ELFCOPY_AS_OBJCOPY deleted file mode 100644 index eabaac375142..000000000000 --- a/tools/build/options/WITH_ELFCOPY_AS_OBJCOPY +++ /dev/null @@ -1,4 +0,0 @@ -.\" $FreeBSD$ -Set to build and install ELF Tool Chain's elfcopy as -.Xr objcopy 1 , -instead of the one from GNU Binutils. diff --git a/usr.bin/elfcopy/Makefile b/usr.bin/elfcopy/Makefile index 3ffc0d5fbcb7..6b2baf06040e 100644 --- a/usr.bin/elfcopy/Makefile +++ b/usr.bin/elfcopy/Makefile @@ -7,15 +7,11 @@ ELFCOPYDIR= ${ELFTCDIR}/elfcopy .PATH: ${ELFCOPYDIR} -.if ${MK_ELFCOPY_AS_OBJCOPY} != "no" PROG= objcopy objcopy.1: elfcopy.1 sed -e 's/\.Dt ELFCOPY 1/.Dt OBJCOPY 1/' \ -e 's/\.Nm elfcopy/.Nm objcopy/' < ${.ALLSRC} > ${.TARGET} CLEANFILES+= objcopy.1 -.else -PROG= elfcopy -.endif SRCS= archive.c ascii.c binary.c main.c pe.c sections.c segments.c symbols.c