21328 Commits

Author SHA1 Message Date
Ed Maste
fe52b7f60e Disable PROFILE option by default
Hardware based profiling (e.g. hwpmc) is much better and produces more
useful results.  Today the profiling lib archives (_p.a) serve no real
purpose other than increasing the library build time.

Both upstream and base system (in commit b762974cf4b9) Clang have been
modified to remove the special case for linking against these libraries.

Clang's -pg support and mcount() remain, so building with -pg can still
be used on code that the user builds; we just no longer provide prebuilt
libraries compiled with -pg.

Discussed on freebsd-hackers[1] / freebsd-current [2] in 2020 and
freebsd-arch [3] in 2021.  A deprecation notice was added in
commit 175841285e28.

[1] https://lists.freebsd.org/pipermail/freebsd-hackers/2020-January/055551.html
[2] https://lists.freebsd.org/pipermail/freebsd-current/2020-January/075105.html
[3] https://lists.freebsd.org/archives/freebsd-arch/2021-June/000016.html

PR:		256873 [exp-run]
Reviewed by:	imp, jhb, kib
Relnotes:	Yes
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D30833
2021-08-07 20:24:36 -04:00
Jessica Clarke
5668a155cb gpio.4: Mention new sifive_gpio driver
Suggested by:	mhorne
MFC after:	1 week
2021-08-07 19:31:34 +01:00
Fernando Apesteguía
e6379a2c95 man: Install more man pages unconditionally
Add more manual pages which were not spotted previously in 0a0f7486413c

Ideally to be MFH'ed with:

8539518055d0 - Remove manpages from OLD_FILES
8b487b8292e4 - Fix bsd.subdir.mk-related issues after 0a0f7486413c
f6043a672135 - ObsoleteFiles.inc: Remove manpages from OLD_FILES
0a0f7486413c - man: Build manpages for all architectures

There is at least one pending issue when building with -DNO_ROOT.

Reported by:    ceri@
MFH:    4 weeks
Discussed with: wosch
Differential Revision: https://reviews.freebsd.org/D31018
2021-08-06 18:34:07 +02:00
Greg V
362fef2f4a bsd.cpu.mk: add support for x86-64-v[234] levels as CPUTYPE
These are supported in LLVM 12 and GCC 11:

https://github.com/llvm/llvm-project/commit/012dd42e027e
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=324bec558e95584e8c1997575ae9d75978af59f1

Differential Revision:	https://reviews.freebsd.org/D29150
2021-08-06 09:33:37 -04:00
Emmanuel Vadot
86c71e97d1 pkgbase: locales: Also tag the files dir
Otherwise bsd.dirs.mk will create the directory with the default
package (utilities) and we end up with a bunch of empty dirs managed
by this package while it shouldn't be the case.
2021-08-06 14:37:45 +02:00
Kyle Evans
b3e87f1334 ctypedef: fix installation of C.UTF-8
The appropriate directory and name were assigned to the FILESDIR
grouping, but not the ALWAYS grouping where C.UTF-8 is actually
assigned. Add the appropriate bits for ALWAYSDIR, and remove an
obsolete *PACKAGE= assignment since C.UTF-8 is explicitly not included
in FILES.

Prior to this change, C.UTF-8 was being installed as
/usr/share/C.UTF-8.LC_CTYPE.

Reviewed by:	manu
Fixes:	0fa5403d493b ("pkgbase: move locales into their own package")
Differential Revision:	https://reviews.freebsd.org/D31429
2021-08-05 22:31:40 -05:00
Kyle Evans
645b46d379 pkgbase: fix locale packages
Most places spelled it -locales, but numericdef spelled it as -locale
in just this one place. Pluralize it.

Reviewed by:	emaste, manu
Fixes:	0fa5403d493b ("pkgbase: move locales into their own package")
Differential Revision:	https://reviews.freebsd.org/D31428
2021-08-05 22:31:40 -05:00
Ka Ho Ng
0dc332bff2 Add fspacectl(2), vn_deallocate(9) and VOP_DEALLOCATE(9).
fspacectl(2) is a system call to provide space management support to
userspace applications. VOP_DEALLOCATE(9) is a VOP call to perform the
deallocation. vn_deallocate(9) is a public KPI for kmods' use.

The purpose of proposing a new system call, a KPI and a VOP call is to
allow bhyve or other hypervisor monitors to emulate the behavior of SCSI
UNMAP/NVMe DEALLOCATE on a plain file.

fspacectl(2) comprises of cmd and flags parameters to specify the
space management operation to be performed. Currently cmd has to be
SPACECTL_DEALLOC, and flags has to be 0.

fo_fspacectl is added to fileops.
VOP_DEALLOCATE(9) is added as a new VOP call. A trivial implementation
of VOP_DEALLOCATE(9) is provided.

Sponsored by:	The FreeBSD Foundation
Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D28347
2021-08-05 23:20:42 +08:00
Ka Ho Ng
de2e152959 Add vnode_pager_purge_range(9) KPI
This KPI is created in addition to the existing vnode_pager_setsize(9)
KPI. The KPI is intended for file systems that are able to turn a range
of file into sparse range, also known as hole-punching.

Sponsored by:	The FreeBSD Foundation
Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D27194
2021-08-05 22:52:26 +08:00
Ed Maste
89ed2ecb14 Disable compressed debug by default
In c910570e7573 I enabled compressed debug sections, but it broke mips
and powerpc.  Disable it for now.

Reported by:	jenkins, manu
Sponsored by:	The FreeBSD Foundation
2021-08-05 08:36:00 -04:00
Ed Maste
c910570e75 Use compressed debug in standalone userland debug files by default
The compiler supports CFLAGS=-gz=zlib to compress .debug sections in
object files, libraries, and binaries.  Enable it to reduce disk usage
for standalone debug files (and /usr/obj).

Reviewed by:	dim, kevans
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D29002
2021-08-04 16:08:40 -04:00
Ed Maste
62174eaf46 Install ipmi man page also on arm64
Fixes:		40d0971bbe5d ("arm64: enable build of the ipmi module")
Sponsored by:	The FreeBSD Foundation
2021-08-04 15:04:24 -04:00
Mitchell Horne
1b8db4b4e3 arm: enable stack-smashing protection
With current generation clang/llvm it can pass all of our tests in
libc/ssp.

While here, remove the extra MACHINE_CPUARCH check for mips. SSP is
included in BROKEN_OPTIONS for this architecture in src.opts.mk, which
is enough to ensure normal builds won't set SSP_CFLAGS.

Reviewed by:	kevans, imp, emaste
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D31400
2021-08-04 15:23:22 -03:00
Goran Mekić
21d8546588 sound: Add an example of basic sound application
This is an example demonstrating the usage of the OSS-compatible APIs
provided by the sound(4) subsystem. It reads frames from a dsp node and
writes them to the same dsp node.

MFC after:	2 weeks
Reviewed by:	hselasky, bcr
Differential revision:	https://reviews.freebsd.org/D30149
2021-08-04 18:11:54 +08:00
Baptiste Daroussin
0fa5403d49 pkgbase: move locales into their own package
The only exception here being C.UTF-8 as this is the default
locales so it needs to always be installed

Reviewed by:	pkgbase (emaste)
Differential Revision:	https://reviews.freebsd.org/D31397
2021-08-03 18:35:26 +02:00
Baptiste Daroussin
30e1773fde locales: fix abuse of bsd.dirs.mk
the way SAMEDIRS was defined was an abuse of bsd.dirs.mk resulting in
all the directory to be created in one single command, but DESTDIR is
only prepend once on the first element of the list

Switch to the properway to use bsd.dirs.mk
2021-08-03 18:02:15 +02:00
Baptiste Daroussin
8232bb3859 locales: fix typo preventing installation of collation for ru_RU.CP866 2021-08-03 14:37:26 +02:00
Baptiste Daroussin
184d64af13 locales: stop hardcoding the directories in the mtree
The framework knows how to create directories and tag them properly
for a the creation of a mtree, not need to hardcode all the locales
entries in bsd.usr.mk

This simplifies addition of new locales but also allow people building
with WITHOUT_LOCALES to end up with a directory full of empty files
2021-08-03 14:25:00 +02:00
Baptiste Daroussin
d3fd2cbbb7 nl_NL.ISO8859-1: reinstall the missing LC_MESSAGES 2021-08-03 12:13:52 +02:00
Marcin Wojtas
451bcf1b36 Introduce driver for Freescale Felix switch
It is found on boards equipped with LS1028A SoC.
802.1q VLAN grouping is supported.
An external MDIO device is used for communicating with PHYs.
The driver is built as a module by default, it is not included
in GENERIC kernel config.

Submitted by: Lukasz Hajec <lha@semihalf.com>
              Kornel Duleba <mindal@semihalf.com>
Obtained from: Semihalf
Sponsored by: Alstom Group
Differential Revision: https://reviews.freebsd.org/D30923
2021-08-03 12:07:49 +02:00
Alex Richardson
428a32edba Use .sinclude for bsd.sanitizer.mk
We don't install this file since MK_ASAN/MK_UBSAN is only supported for
src builds. However, some ports also use bsd.lib.mk/bsd.prog.mk so we
should not fail the build if it can't be included.

Reported by:	jkim
Fixes:		7bc797e3f380 ("Add build system support for ASAN+UBSAN instrumentation")
2021-08-03 10:38:20 +01:00
Adam Fenn
6162cf885c malloc(9): Document/complete aligned variants
Comments on a pending kvmclock driver suggested adding a
malloc_aligned() to complement malloc_domainset_aligned(); add it now,
and document both.

Reviewed by:	imp, kib, allanjude (manpages)
Differential Revision:	https://reviews.freebsd.org/D31004
2021-08-02 15:36:14 -05:00
Alex Richardson
17d6371e4c Fix GCC and -DWITH_CLEAN build after 7bc797e3f3807660cf98e5b1bd63545cafe820f8
Reported by:	kib
2021-08-02 16:03:05 +01:00
Alex Richardson
31ba4ce889 Allow bootstrapping llvm-tblgen on macOS and Linux
This is needed in order to build various LLVM binutils (e.g. addr2line)
as well as clang/lld/lldb.

Co-authored-by: Jessica Clarke <jrtc27@FreeBSD.org>
Test Plan:	Compiles on ubuntu 18.04 and macOS 11.4
Reviewed By:	dim
Differential Revision: https://reviews.freebsd.org/D31057
2021-08-02 14:36:03 +01:00
Alex Richardson
2de949cf85 Remove mkcsmapper_static and mkesdb_static from build-tools
Build them as part of the bootstrap-tools phase instead.

Reviewed by:	emaste (no objections)
Differential Revision: https://reviews.freebsd.org/D28181
2021-08-02 14:33:25 +01:00
Alex Richardson
7bc797e3f3 Add build system support for ASAN+UBSAN instrumentation
This adds two new options WITH_ASAN/WITH_UBSAN that can be set to
enable instrumentation of all binaries with AddressSanitizer and/or
UndefinedBehaviourSanitizer. This current patch is almost sufficient
to get a complete buildworld with sanitizer instrumentation but in
order to actually build and boot a system it depends on a few more
follow-up commits.

Reviewed By:	brooks, kib, markj
Differential Revision: https://reviews.freebsd.org/D31043
2021-08-02 14:33:24 +01:00
Tom Jones
0943200b13 inet6_option_space is deprecated, refer to inet6_opt_init instead
Reviewed by:	bz, hrs
MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D26273
2021-07-30 14:23:39 +01:00
David Malone
fd309107e9 Minor language improvements. Note that they can't be changed
by sysctl (I think they can be changed as a tuneable.)
2021-07-29 09:26:19 +01:00
Ed Maste
1a7c2789a9 Regen src.conf.5 after 5f946c76c0cc 2021-07-27 17:28:42 -04:00
Baptiste Daroussin
dcd882f302 pci_vendors: update to 2021-07-25 2021-07-27 18:56:39 +02:00
Konstantin Belousov
85ae35ef37 /dev/pci: clarify meaning of writeable file descriptor
Reviewed by:	markj
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D31317
2021-07-27 12:13:43 +03:00
Luiz Otavio O Souza
1e7fe2fbb9 bpf: Add an ioctl to set the VLAN Priority on packets sent by bpf
This allows the use of VLAN PCP in dhclient, which is required for
certain ISPs (such as Orange.fr).

Reviewed by:	bcr (man page)
MFC after:	1 week
Sponsored by:	Rubicon Communications, LLC ("Netgate")
Differential Revision:	https://reviews.freebsd.org/D31263
2021-07-26 23:13:31 +02:00
Warner Losh
380710a5c8 geom: create an API to allocate events, and use that storage to send them
g_alloc_event will allocate storage for an opaque event. g_post_event_ep
can use memory returned by g_alloc_event to send an event from a context
that might not be able to allocate the event. Occasionally, we can
alloate memory when we create an object, but not while we're destroy
it. This allows one to allocate at creation time memory to use when
destorying the object.

Reviewed by:		jhb
Sponsored by:		Netflix
Differential Revision:	https://reviews.freebsd.org/D30544
2021-07-23 18:08:45 -06:00
Mark Johnston
93d8b4da7b kasan.9: Fix formatting in the synopsis
Sponsored by:	The FreeBSD Foundation
2021-07-23 15:40:50 -04:00
Mark Johnston
f4e67f18bd Remove sr_RS.UTF-8@latin from the list of targets
It is installed with other unicode locales, from monetdef_unicode.

This is just a band-aid to fix the build, as it's not clear how to
regenerate this Makefile.

Fixes:		0a36787e4c1f
2021-07-23 15:05:28 -04:00
Faraz Vahedi
bd90d8bbb1 locale: Add Farsi/Persian locales
MFC after:	3 weeks
Reviewed by:	farrokhi
Differential Revision:	https://reviews.freebsd.org/D24359
2021-07-23 16:58:20 +02:00
Baptiste Daroussin
3a04284df0 locales: upgrade CLDR to 39.0 and Unicode to 13.0.0
MFC after:	3 weeks
Relnotes:	yes
2021-07-23 16:58:20 +02:00
Baptiste Daroussin
ecff3c30b7 locales: now that C.UTF-8 is the default locale, always install it
MFC after:	3 weeks
2021-07-23 16:58:20 +02:00
Baptiste Daroussin
0a36787e4c locales: separate unicode from other locales
Unicode locales are maintained and to evolved in cldr.
Generating the other locales from the unicode gets more and more painful
over the time.

Let's freeze the other locales to cldr 34.0.
2021-07-23 16:58:20 +02:00
Baptiste Daroussin
7a7930cd4a LC_CTIME: has been removed from automatic generation long ago
due to too many mistakes in the data provided by cldr it was decided
to remove timedef from the automatic generation
2021-07-23 16:58:19 +02:00
Mark Johnston
fd5827b178 man9: Update guarantees for userspace fetch/store operations
Platforms may either silently handle unaligned accesses or return an
error.  Atomicity is not guaranteed in this case, however.

Reviewed by:	kib
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D31282
2021-07-22 13:40:39 -04:00
Mark Johnston
18c696c001 man9: Remove stray .In macros
Fixes:		9c11d8d483c4
MFC after:	1 week
2021-07-22 12:47:43 -04:00
Ceri Davies
a52936f1d5 man9/VOP_LISTEXTATTR.9: correct grammar in .Nd 2021-07-22 16:43:46 +01:00
Ceri Davies
b578d2a77e man/man7/development.7: correct typo in manpage. 2021-07-22 16:43:46 +01:00
Baptiste Daroussin
d6ed0d3d31 ports.7: catchup with the package extension name since pkg 1.17
MFC After:	3 days
2021-07-22 10:50:19 +02:00
Hans Petter Selasky
575945f10b Update the mlx5en(4) manual page.
Differential Revision:	https://reviews.freebsd.org/D31228
Reviewed by:	kib@
MFC after:	1 week
Sponsored by:	NVIDIA Networking
2021-07-21 11:10:31 +02:00
Alex Richardson
f8147dad44 bsd.linker.mk: Detect LLD when built with PACKAGE_VENDOR
Recent versions of homebrew's LLD are built with PACKAGE_VENDOR (since
e7c972b606).
This means that the -v output is now
`Homebrew LLD 12.0.1 (compatible with GNU linkers)` and bsd.linker.mk no
longer detects it as LLD since it only checks whether the first word is
LLD. This change allow me to build on macOS again and should unbreak the
GitHub actions CI.

Reviewed By:	imp, uqs
MFC after:	3 days
Differential Revision: https://reviews.freebsd.org/D31224
2021-07-20 16:10:22 +01:00
Kristof Provost
0351b9875a pf.conf.5: Document new 'match' keyword
Reviewed by:	bcr
Obtained from:	pfSense
MFC after:	2 weeks
Sponsored by:	Rubicon Communications, LLC ("Netgate")
Differential Revision:	https://reviews.freebsd.org/D31117
2021-07-17 12:01:08 +02:00
David Chisnall
cf98bc28d3 Pass the syscall number to capsicum permission-denied signals
The syscall number is stored in the same register as the syscall return
on amd64 (and possibly other architectures) and so it is impossible to
recover in the signal handler after the call has returned.  This small
tweak delivers it in the `si_value` field of the signal, which is
sufficient to catch capability violations and emulate them with a call
to a more-privileged process in the signal handler.

This reapplies 3a522ba1bc852c3d4660a4fa32e4a94999d09a47 with a fix for
the static assertion failure on i386.

Approved by:	markj (mentor)

Reviewed by:	kib, bcr (manpages)

Differential Revision: https://reviews.freebsd.org/D29185
2021-07-16 18:06:44 +01:00
Mark Johnston
5d40fb677a Add some missing osd.9 MLINKs
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
2021-07-16 12:13:51 -04:00