Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/UPDATING,v rcsdiff: /ftp/cvs/cvsroot/src/UPDATING,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.257 retrieving revision 1.287 diff -u -p -r1.257 -r1.287 --- src/UPDATING 2014/07/23 08:52:32 1.257 +++ src/UPDATING 2017/10/13 07:04:58 1.287 @@ -1,4 +1,4 @@ -$NetBSD: UPDATING,v 1.257 2014/07/23 08:52:32 apb Exp $ +$NetBSD: UPDATING,v 1.287 2017/10/13 07:04:58 kre Exp $ This file (UPDATING) is intended to be a brief reference to recent changes that might cause problems in the build process, and a guide for @@ -19,6 +19,141 @@ See also: BUILDING, build.sh, Makefile. Recent changes: ^^^^^^^^^^^^^^^ +20171010: + a change to the build structure of external/bsd/acpica/bin/iasl + means that its objdir (or *.d and .depend at least) might need + to be manually removed - or a build done once without -u. + +20170822: + a new version of GMP has been imported and probably + will break parts of builds related to themselves or GCC, both + in the tools and the native section. Remove all GCC, GMP, MPFR + and MPC objdirs or build once without -u. + +20170816: + a new version of MPFR and MPC have been imported and probably + will break parts of builds related to themselves or GCC, both + in the tools and the native section. Remove all GCC, GMP, MPFR + and MPC objdirs or build once without -u. + +20170402: + a new version of dhcpcd has been imported, which does not support + update builds from the previous version. Remove your + external/bsd/dhcpcd object dir or build once without -u. + +20170211: + a new terminfo database has been imported. + The structure of it has changed slightly from prior versions and + an updated tic tool is required. + If you build.sh, don't use -u + +20170207: + various arch dependent libc/exect.S files were removed + Either remove the obj directories (lib/libc and compat/amd64/i386/lib + if it exists) or do a clean build. + (This is a bug in the make system, it should be corrected without + human intervention, but isn't.) + +20170104: + xinput build options have changed. + Remove the obj directory (external/mit/xorg/bin/xinput) + if you build.sh -u + +20170103: + a new version of flex has been imported. + Remove the file from obj (external/bsd/flex) + if you build.sh -u + +20161014: + a new version of OpenSSL has been imported. + Remove the files from obj (crypto/external/bsd/openssl) + if you build.sh -u + +20161009: + a new version of dhcpcd has been imported with slightly changed + build infrastructure. When doing a build.sh -u this requires + pruning the external/bsd/dhcpcd objdir. + +20160914: + i386, amd64, shark, ofppc and macppc have joined shark and x68k + ports in using xorg-server 1.18. This requires a clean destdir + and a clean objdir. + +20160527: + i386 needs a full cleandir or objdir deletion because PIE has + been enabled. (see the amd64 entry two down for further info) + +20160418: + libedit needs manual removal of all autogenerated files since + some of them are not autogenerated anymore. Remember that there + might be two copies of libedit if your platform builds "compat". + +20160410: + amd64 needs full "make cleandir" or deletion of objdir now that + PIE has been enabled for amd64. PIE, or position-independent + executables, means all code, including executables and not just + shared libraries, is position-independent and hence able to be + relocated by ASLR, address space layout randomization. + + The change was made in Makefile variables for compiler and + linker flags, for which make(1) does not record dependencies, + hence it is unable to detect that all .o files need rebuilding. + + Partial rebuilds with some modified source files will likely + fail when linking executables, since the linker refuses to mix + position-independent code with position-dependent code in + position-independent executables: + + .../x86_64--netbsd/bin/ld: foo.o: relocation R_X86_64_32 against `...' cannot be used when making a shared object; recompile with -fPIC + +20160401: + Ports switching to GCC 5.3 will need a full "make cleandir". + Some people have found that cleandir is not sufficient, so if + in doubt delete the entire object directory tree for gcc. + +20160306: + NetBSD's regexp implementation is now part of libnbcompat. + Nblex, nbm4, nbpax, nbsed use it and they may crash on + non-NetBSD hosts if linked with stale object files produced + while they included a non-NetBSD regex.h. + In any case, you should "make cleandir" at least these tools + before updating your toolchain. + +20160125: + Dtrace has been enabled by default on some architectures. + When doing an update build, make sure to clean the etc/mtree + object directory before starting the build - otherwise the + needed directories in destdir will not be created. + An easy way to do this is: + cd src/etc/mtree && $TOOLDIR/bin/nbmake-$arch cleandir + +20150818: + New acpica requires "make cleandir" in src/external/bsd/acpica + again. + +20150413: + New acpica requires "make cleandir" and reinstalling yacc + in /usr/src/external/bsd/byacc and /usr/src/tools/yacc and + also "make cleandir" in /usr/src/external/bsd/acpica. + +20150404: + Lint changes require a full rebuild of the tool, so make + sure to build without -u option to build.sh, or manually + do a make cleandir in src/tools/lint1 and + src/usr.bin/xlint. + +20150310: + Improvements to openssl for arm mean that update builds of + the openssl libraries will fail. A make cleandir in + external/bsd/openssl/lib is needed + +20141026: + A mishap during the import of pppd may cause your corruption + in your cvs directory if you happened to do a cvs update + during a short period of time. To fix, just remove the + directory src/external/bsd/ppp/dist/pppd completely + and let cvs restore it on next update. + 20140721: The src/external/mit/lua/src directory was accidentally created and then deleted in the CVS repository. If you get errors like