aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Replace DPSRCS that work fine in SRCS.Bryan Drewery2015-11-255-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is so that 'make depend' is not a required build step in these files. DPSRCS is overall unneeded. DPSRCS already contains SRCS, so anything which can safely be in SRCS should be. DPSRCS is mostly just a way to generate files that should not be linked into the final PROG/LIB. For headers and grammars it is safe for them to be in SRCS since they will be excluded during linking and installation. The only remaining uses of DPSRCS are for generating .c or .o files that must be built before 'make depend' can run 'mkdep' on the SRCS c files list. A semi-proper example is in tests/sys/kern/acct/Makefile where a checked-in .c file has an #include on a generated .c file. The generated .c file should not be linked into the final PROG though since it is #include'd. The more proper way here is just to build/link it in though without DPSRCS. Another example is in sys/modules/linux/Makefile where a shell script runs to parse a DPSRCS .o file that should not be linked into the module. Beyond those, the need for DPSRCS is largely unneeded, redundant, and forces 'make depend' to be ran. Generally, these Makefiles should avoid the need for DPSRCS and define proper dependencies for their files as well. An example of an improper usage and why this matters is in usr.bin/netstat. nl_defs.h was only in DPSRCS and so was not generated during 'make all', but only during 'make depend'. The files including it lacked proper depenencies on it, which forced running 'make depend' to workaround that bug. The 'make depend' target should mostly be used for incremental build help, not to produce a working build. This specific example was broken in the meta build until r287905 since it does not run 'make depend'. The gnu/lib/libreadline/readline case is fine since bsd.lib.mk has 'OBJS: SRCS:M*.h' when there is no .depend file. Sponsored by: EMC / Isilon Storage Division MFC after: 1 week Notes: svn path=/head/; revision=291330
* Remove redundant DPSRCS which were already in SRCS.Bryan Drewery2015-11-259-18/+1
| | | | | | | | | | DPSRCS already contains all of SRCS. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291329
* Have syslogd honor 'mesg' status when logging to users.Kurt Lidl2015-11-251-1/+25
| | | | | | | | | | PR: bin/196742 Submitted by: jef at mail acme com Approved by: rpaulo (mentor) Differential Revision: https://reviews.freebsd.org/D4270 Notes: svn path=/head/; revision=291328
* Define a LIB<NAME>DIR for every library that LIBADD provides.Bryan Drewery2015-11-252-0/+65
| | | | | | | | | | | | | | | This is going to be used to allow DIRDEPS to be bootstrapped off of LIBADD/DPADD. It currently works for internal libraries which have a DIR defined for them but also use the .a library from a src-mapped obj directory. It can also be useful for using -L without a --sysroot per LIBADD to use the OBJDIR version of the libraries. I didn't review every LIBADD, so it is possible this is missing some. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291327
* Fix spelling error.Bryan Drewery2015-11-251-1/+1
| | | | Notes: svn path=/head/; revision=291326
* META MODE: Avoid dirdep dependency on lib/libmd.Bryan Drewery2015-11-251-1/+2
| | | | | | | | | | | | | This avoids using the staged headers for sys/crypto/sha2/*.h, such as sha256.h, which added an unneeded pre-build dependency on libmd to libcrypt. This header is an INCS in lib/libmd, but found via .PATH in sys/crypto/sha2. Since the libcrypt build was already using the in-src libmd headers directly, just teach it how to find the sha256.h header as well. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291325
* META MODE: Fix MACHINE=host builds.Bryan Drewery2015-11-251-8/+7
| | | | | | | | | | | | | | | | | | | We need to not use -nostdinc since it breaks building of clang itself. Use -isystem rather than -I/usr/include and -nostdinc which gets us using the stage include directory before searching the real host headers. This allows removing more of the -I hacks to get host headers since the headers are no longer excluded. The -B seemed unneeded. This fixes building of secure/lib/libcrypto which was looking at the /usr/include/openssl/asn1.h header rather than the staged one. This fixes building of clang which wants to find its own internal headers in the STAGEDIR/usr/lib/clang/* path. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291324
* Stop looking up the same id(1) results in sub-makes.Bryan Drewery2015-11-251-1/+12
| | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291323
* META MODE: Remove unneeded libmd.host dependency for xinstall.host.Bryan Drewery2015-11-252-44/+0
| | | | | | | | | This is chasing r291026. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291322
* META MODE: Fix 'make bootstrap-tools'.Bryan Drewery2015-11-2512-43/+74
| | | | | | | | | | | | | | | | | | The main problem was bitrot after elftoolchain being swapped in for the GNU toolchain. This also reworks how the list of 'host allowed' libraries is determined to only allow INTERNALLIBs, which is needed for libelftc to come in. For usr.bin/readelf use the same hack, as libelf and libdward, to bring in the needed sys/ headers for host builds. This has not yet been a problem due to readelf not being built as a host tool in buildworld. This is possible in the meta build though when building the toolchain. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291321
* META MODE: Don't create .meta files when symlinking sources into the obj ↵Bryan Drewery2015-11-2529-59/+58
| | | | | | | | | | | | | | directory. Tracking these leads to situations where meta mode will consider the file to be out of date if /bin/sh or /bin/ln are newer than the source file. There's no reason for meta mode to do this as make is already handling the rebuild dependency fine. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291320
* META MODE: Add more hosttools needed pre-universe.Bryan Drewery2015-11-251-0/+2
| | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291319
* META MODE: Show PATH on errors.Bryan Drewery2015-11-251-0/+1
| | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291318
* META MODE: Need to include the LEGACY_TOOLS directories into PATH.Bryan Drewery2015-11-251-1/+2
| | | | | | | | | | | This is just as Makefile.inc1 does it for these phases. Otherwise some of the build tools are not found and used properly, such as 'make-roken' in the kerberos5 build on older releases. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291317
* META MODE: Don't add staged DPADDs to DIRDEPS when bootstrapping gendirdeps.Bryan Drewery2015-11-251-1/+1
| | | | | | | | | | | | This was finding libraries that were installed into DESTDIR/usr/lib, where DESTDIR is the stage directory, and then adding in usr/lib to DIRDEPS. Just exclude the STAGE_ROOT if defined. Discussed with: sjg Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291316
* META MODE: Define variables this file uses that were defined elsewhere.Bryan Drewery2015-11-251-0/+3
| | | | | | | | Discussed with: sjg Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291315
* META MODE: Don't truncate DIRDEPS for bootstrapping during gendirdeps.Bryan Drewery2015-11-251-1/+1
| | | | | | | | Reviewed by: sjg Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291314
* META MODE: Rework circular dependency guard for librtld_db/libproc.Bryan Drewery2015-11-254-4/+3
| | | | | | | | | | | | librtld_db only needs libutil.h to build, not the libproc library. So it can safely use its header and allow libproc to depend on librtld_rb to be built first to link. This is required after fixing ld --sysroot in r291226. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291313
* META MODE: Revert r287879 so that 'make -V' still uses AUTO_OBJ.Bryan Drewery2015-11-251-5/+3
| | | | | | | | | | This has caused much confusion for myself as there are quite a lot of variables that depend on having a proper ${.OBJDIR}. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291312
* META MODE: Fix 'make the-lot' with recent locale changesBryan Drewery2015-11-259-0/+98
| | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291311
* Stop building vers.c in include/ and only build the needed osreldate.h.Bryan Drewery2015-11-253-8/+10
| | | | | | | | | | | | | | | | Because of how osreldate.h was being built with newvers.sh, which always spat out a vers.c dependent on SVN or git, the meta mode build was considering osreldate.h to depend on the current git or SVN index. This would lead to entire tree rebuilds when modifying git's index. There's no reason to be generating vers.c here so just skip it. While here, in mk-osreldate.sh rename PARAM_H to proper PARAMFILE (which newvers.sh already has a default for) and remove unneeded export. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291310
* META MODE: Avoid creating TESTS directories for bootstrap.Bryan Drewery2015-11-251-1/+1
| | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291309
* META MODE: Don't override DESTDIR to the default when building the toolchain.Bryan Drewery2015-11-251-1/+1
| | | | | | | | | | | | | | | For this case, the normal META MODE staging logic should be used. The BSARGS having DESTDIR= is due to Makefile.inc1 overriding DESTDIR to something when appropriate. For the toolchain stage META MODE is in charge of it, not Makefile.inc1. At least include/, if staging it to the host stagedir, was impacted from this. Staging of include.host is not yet done. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291308
* META MODE: Prefer INSTALL=tools/install.sh to lessen the need for xinstall.host.Bryan Drewery2015-11-25161-164/+15
| | | | | | | | | | | This both avoids some dependencies on xinstall.host and allows bootstrapping on older releases to work due to lack of at least 'install -l' support. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291307
* Fix tmpfs(5) '/tmp' mount point.Glen Barber2015-11-251-1/+1
| | | | | | | | | | | A stray trailing space snuck in with one of the recent changes, making r290550 and r290573 effectively no-op. MFC after: 3 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=291306
* META MODE: Remove bin/cat.host dependency.Bryan Drewery2015-11-251-1/+0
| | | | | | | | | | This likely slipped in during early testing; local.dirdeps.mk always excludes bin/cat.host now. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291305
* [ath] listen to all beacons in IBSS and software beacon miss.Adrian Chadd2015-11-251-3/+7
| | | | | | | | | | | | | | | | | | | I added MYBEACON support a while ago to listen to beacons that are only for your configured BSSID. For AR9380 and later NICs this results in a lot less chip wakeups in station mode as it then only shows you beacons that are destined to you. However in IBSS mode you really do want to hear all beacons so you can do IBSS merges. Oops. So only use MYBEACON for STA + not-scanning, and just use BEACON for the other modes it used to use BEACON for. This doesn't completely fix IBSS merges though - there are still some conditions to chase down and fix. Notes: svn path=/head/; revision=291304
* [net80211] log the A-MPDU setup attempt count as part of debugging.Adrian Chadd2015-11-251-2/+2
| | | | | | | | | | I've seen some cases where we get stuck in a loop constantly trying to negotiate A-MPDU TX which is definitely not supposed to happen. This will let me see if it's something funky with the retry count or not. Notes: svn path=/head/; revision=291303
* Update usage:Hans Petter Selasky2015-11-251-1/+3
| | | | | | | | - Add missing description of "-c" option. - Add one more usage example. Notes: svn path=/head/; revision=291302
* The r241129 description was wrong that the scenario is possibleFabien Thomas2015-11-251-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | only for read locks on pcbs. The same race can happen with write lock semantics as well. The race scenario: - Two threads (1 and 2) locate pcb with writer semantics (INPLOOKUP_WLOCKPCB) and do in_pcbref() on it. - 1 and 2 both drop the inp hash lock. - Another thread (3) grabs the inp hash lock. Then it runs in_pcbfree(), which wlocks the pcb. They must happen faster than 1 or 2 come INP_WLOCK()! - 1 and 2 congest in INP_WLOCK(). - 3 does in_pcbremlists(), drops hash lock, and runs in_pcbrele_wlocked(), which doesn't free the pcb due to two references on it. Then it unlocks the pcb. - 1 (or 2) gets wlock on the pcb, runs in_pcbrele_wlocked(), which doesn't report inp as freed, due to 2 (or 1) still helding extra reference on it. The thread tries to do smth with a disconnected pcb and crashes. Submitted by: emeric.poupon@stormshield.eu Reviewed by: gleb@ MFC after: 1 week Sponsored by: Stormshield Tested by: Cassiano Peixoto, Stormshield Notes: svn path=/head/; revision=291301
* Add simple indent wrapper tool for style(9) checking GIT/SVN patches.Hans Petter Selasky2015-11-253-0/+754
| | | | | | | | | | | The indent_wrapper tool only accepts full context diffs and works by identifying the surrounding C-block touched by a diff and passing only that to indent for styling. In the end a diff is produced or an external tool like meld can be invoked, to show the styling differences. Notes: svn path=/head/; revision=291300
* Fix the build.Andrey V. Elsukov2015-11-251-1/+0
| | | | Notes: svn path=/head/; revision=291299
* Fix udp entry of `netstat -TW'.Hajimu UMEMOTO2015-11-251-0/+2
| | | | Notes: svn path=/head/; revision=291298
* Link localeconv(3) to localeconv_l(3)Enji Cooper2015-11-251-0/+1
| | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=291296
* Overhaul if_enc(4) and make it loadable in run-time.Andrey V. Elsukov2015-11-2515-307/+399
| | | | | | | | | | | Use hhook(9) framework to achieve ability of loading and unloading if_enc(4) kernel module. INET and INET6 code on initialization registers two helper hooks points in the kernel. if_enc(4) module uses these helper hook points and registers its hooks. IPSEC code uses these hhook points to call helper hooks implemented in if_enc(4). Notes: svn path=/head/; revision=291292
* Check that hhk_helper pointer isn't NULL before access.Andrey V. Elsukov2015-11-251-1/+2
| | | | | | | | It isn't forbidden to use NULL pointer for hook_helper in hookinfo structure when hhook_add_hook() adds new helper hook. Notes: svn path=/head/; revision=291291
* NTB: WC/WB isn't enough; set MMR region as UCConrad Meyer2015-11-252-28/+37
| | | | | | | | | | | And expose vm_memattr_t of current mapping to consumers (as well as the ability to change it to one of UC, WB, WC). After short discussion with: jhb (but no review) Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291280
* sh: Remove global state from nodes.c.Jilles Tjoelker2015-11-242-38/+46
| | | | | | | No functional change is intended. Notes: svn path=/head/; revision=291267
* Correct the number of DTLB entries reported for the CPUID Leaf 2Konstantin Belousov2015-11-241-1/+1
| | | | | | | | | | descriptor 0x6c. Confirmed by: Intel MFC after: 3 days Notes: svn path=/head/; revision=291266
* Rename ASYNC_LIP_F8 to ASYNC_LIP_NOS_OLS_RECV.Alexander Motin2015-11-243-3/+3
| | | | | | | New name better repsents its meaning for modern chips. Notes: svn path=/head/; revision=291265
* urtwn(4): rework ROM reading.Andriy Voskoboinyk2015-11-243-94/+162
| | | | | | | | | | | | | | | | | | | | - Add error handling for urtwn_(r88e_)read_rom() and urtwn_efuse_*() functions. - Remove code duplication between urtwn_efuse_read() and urtwn_r88e_read_rom(). - Merge r88e_rom and (r92c_)rom structures (only one of them can be used at the same time). - Other minor fixes / improvements. Tested with RTL8188EU, STA mode (URTWN_DEBUG + USB_DEBUG, hw.usb.urtwn.debug=3, no visual differences). Reviewed by: kevlo Approved by: adrian (mentor) Differential Revision: https://reviews.freebsd.org/D4253 Notes: svn path=/head/; revision=291264
* ntb: Add MW tunable for MMR Xeon errata workaroundConrad Meyer2015-11-241-29/+57
| | | | | | | | | | | | | | | | | | | | | | | Adds a new tunable, ntb.hw.b2b_mw_idx, which specifies the offset (from the total number of memory windows) to use for register access on hardware with the SDOORBELL_LOCKUP errata. The default is -1, i.e., the last memory window. We map BARs before the b2b_mw_idx is selected, so map them all as memory windows initially. The register memory window should not be write-combined, so we explicitly disable WC on the selected MW later. This introduces a layer of abstraction between consumer memory window indices, which exclude any exclusive errata-workaround BARs, and internal memory window indices, which include such BARs. An internal routine, ntb_user_mw_to_idx(), converts the former to the latter. Public APIs have been updated to use this instead of assuming the exclusive workaround BAR is the last available MW. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=291263
* Use what we really mean (powerpc_lwsync()) rather than the Linux-compatNathan Whitehorn2015-11-241-2/+8
| | | | | | | | | | mb() here and provide some more documentation on what, exactly, makes this code safe. Requested by and discussed with: kib, alc Notes: svn path=/head/; revision=291262
* Revert inadvertent commit of an incorrect patchDag-Erling Smørgrav2015-11-241-2/+1
| | | | Notes: svn path=/head/; revision=291261
* Remove description of the now-defunct NoneEnabled option.Dag-Erling Smørgrav2015-11-242-4/+2
| | | | Notes: svn path=/head/; revision=291260
* Correct alignment of the addresses in the `netstat -aW' output.Hajimu UMEMOTO2015-11-241-12/+21
| | | | Notes: svn path=/head/; revision=291259
* Flush all kernel mappings from TLB(s) in time when they are cleared.Svatopluk Kraus2015-11-242-14/+17
| | | | | | | | | | | | | | | | | | | | Replace tlb_flush_local() by tlb_flush() as even not global mappings could be fetched to TLB(s) on other cores by speculative table walk. From OS point of view, it was not a problem as either such mappings were not used anymore or they were flushed from TLB(s) when reused. However, from hardware point of view, it was a problem. Not flushed mappings could be a target for speculative reads or prefetches (which might be quite aggresive on ARM cores). As speculative read can fill cacheline, it can cause a real problem, when physical page is reused, but mapped with different memory attributes. Anyhow, it's good to have only valid mappings in TLB(s). Approved by: kib (mentor) Notes: svn path=/head/; revision=291258
* Add myself (lidl) to the calendar.freebsd file.Kurt Lidl2015-11-241-0/+1
| | | | | | | | Approved by: rpaulo (mentor) Differential Revision: https://reviews.freebsd.org/D4264 Notes: svn path=/head/; revision=291257
* Add some defines needed by the coming mlx5 infiniband support.Hans Petter Selasky2015-11-241-0/+19
| | | | | | | | Sponsored by: Mellanox Technologies MFC after: 1 week Notes: svn path=/head/; revision=291249
* Add missing error check after xo_parse_args() in netstat(8).Hajimu UMEMOTO2015-11-241-0/+2
| | | | | | | | Submitted by: Oliver Pinter Differential Revision: https://reviews.freebsd.org/D4233 Notes: svn path=/head/; revision=291247