Skip to content

Commit b377228

Browse files
committed
Merge remote-tracking branch 'freebsd/main'
2 parents e0bd517 + d593176 commit b377228

File tree

5,959 files changed

+156380
-48962
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

5,959 files changed

+156380
-48962
lines changed

.cirrus.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ compute_engine_instance:
1010
# gcloud compute images list --project freebsd-org-cloud-dev --no-standard-images
1111
platform: freebsd
1212
image_project: freebsd-org-cloud-dev
13-
image: freebsd-13-4-release-amd64
13+
image: freebsd-14-2-release-amd64-ufs
1414
cpu: 8
1515
memory: 8G
1616
disk: 40
@@ -20,23 +20,23 @@ env:
2020

2121
task:
2222
matrix:
23-
- name: amd64-llvm16 World and kernel build and boot smoke test
23+
- name: amd64-llvm16 World and kernel build and boot smoke test (manual)
2424
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
2525
trigger_type: manual
2626
env:
2727
TARGET: amd64
2828
TARGET_ARCH: amd64
2929
TOOLCHAIN: llvm16
3030
TOOLCHAIN_PKG: ${TOOLCHAIN}-lite
31-
- name: amd64-llvm17 World and kernel build and boot smoke test
31+
- name: amd64-llvm17 World and kernel build and boot smoke test (manual)
3232
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
3333
trigger_type: manual
3434
env:
3535
TARGET: amd64
3636
TARGET_ARCH: amd64
3737
TOOLCHAIN: llvm17
3838
TOOLCHAIN_PKG: ${TOOLCHAIN}-lite
39-
- name: amd64-llvm18 World and kernel build and boot smoke test
39+
- name: amd64-llvm18 World and kernel build and boot smoke test (manual)
4040
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
4141
trigger_type: manual
4242
env:
@@ -51,31 +51,31 @@ task:
5151
TARGET_ARCH: amd64
5252
TOOLCHAIN: llvm19
5353
TOOLCHAIN_PKG: ${TOOLCHAIN}-lite
54-
- name: arm64-llvm16 World and kernel build and boot smoke test
54+
- name: arm64-llvm16 World and kernel build and boot smoke test (manual)
5555
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
5656
trigger_type: manual
5757
env:
5858
TARGET: arm64
5959
TARGET_ARCH: aarch64
6060
TOOLCHAIN: llvm16
6161
TOOLCHAIN_PKG: ${TOOLCHAIN}
62-
- name: arm64-llvm17 World and kernel build and boot smoke test
62+
- name: arm64-llvm17 World and kernel build and boot smoke test (manual)
6363
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
6464
trigger_type: manual
6565
env:
6666
TARGET: arm64
6767
TARGET_ARCH: aarch64
6868
TOOLCHAIN: llvm17
6969
TOOLCHAIN_PKG: ${TOOLCHAIN}
70-
- name: arm64-llvm18 World and kernel build and boot smoke test
70+
- name: arm64-llvm18 World and kernel build and boot smoke test (manual)
7171
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
7272
trigger_type: manual
7373
env:
7474
TARGET: arm64
7575
TARGET_ARCH: aarch64
7676
TOOLCHAIN: llvm18
7777
TOOLCHAIN_PKG: ${TOOLCHAIN}
78-
- name: arm64-llvm19 World and kernel build and boot smoke test
78+
- name: arm64-llvm19 World and kernel build and boot smoke test (manual)
7979
only_if: $CIRRUS_REPO_FULL_NAME != 'freebsd/freebsd-src'
8080
trigger_type: manual
8181
env:

.git-blame-ignore-revs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,16 @@
88
#
99
# This file is sorted in git log order (newest commits first).
1010

11+
# queue(3) single space after all #define
12+
a4df0830d74dba9d20c01d8c108bddeb1ecd62cd
13+
# bin/ps whitespace cleanup
14+
0d320eb5edc37f6c1bfa5eabc0309350b87c08ad
1115
# reformat libexec/rtld-elf
1216
7e2f38311e62b1a3ba4a023042f2dc36e27cdd06
1317
986c96b54b9ec1118d285b723f53c7451a4c0772
1418
3a85aa6a1d8916082155867ce0545a07185e8924
1519
78b5dadb58e201e51a3a2eda5cf8cab6d31e0b62
20+
1c8cdd807a9487aac532ef44f78bf53fe8ec4ce2
1621
# whitespace fixes for sys/sys/kernel.h
1722
5c623697d6011de63bc762560a648c09379e06d2
1823
# style fixes for iflib

.github/workflows/checklist.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ name: Checklist
44
# for the submission to align with CONTRIBUTING.md
55

66
on:
7-
pull_request:
7+
pull_request_target:
88
types: [ opened, reopened, edited, synchronize ]
99

1010
permissions:

Makefile.inc1

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -817,6 +817,7 @@ TMAKE= \
817817
# TOOLS_PREFIX set in BMAKE
818818
XMAKE= ${BMAKE} \
819819
TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
820+
MK_CLANG=${MK_CLANG_BOOTSTRAP} \
820821
MK_LLDB=no \
821822
MK_LLVM_BINUTILS=no \
822823
MK_TESTS=no
@@ -1673,8 +1674,8 @@ buildetc: .MAKE .PHONY
16731674
${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 _legacy
16741675
${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 _bootstrap-tools \
16751676
MK_CROSS_COMPILER=no MK_TOOLCHAIN=no
1676-
${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 _obj \
1677-
SUBDIR_OVERRIDE=etc
1677+
${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 _obj
1678+
${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 buildconfig
16781679
${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 everything \
16791680
SUBDIR_OVERRIDE=etc
16801681

@@ -2909,33 +2910,28 @@ _dtrace_tools= cddl/lib/libctf cddl/lib/libspl cddl/usr.bin/ctfconvert \
29092910
cddl/usr.bin/ctfmerge
29102911
.endif
29112912

2912-
# If we're given an XAS, don't build binutils.
2913-
.if ${XAS:M/*} == ""
29142913
.if ${MK_ELFTOOLCHAIN_BOOTSTRAP} != "no"
2914+
# Some bespoke tools from or based on ELF Tool Chain. elfcopy is included
2915+
# because llvm-objcopy is currently not capable of translating ELF to PE32+,
2916+
# which is required for EFI boot programs.
29152917
_elftctools= lib/libelftc \
29162918
lib/libpe \
2919+
usr.bin/elfcopy \
29172920
usr.bin/elfctl \
2918-
usr.bin/elfdump \
2919-
usr.bin/objcopy \
2920-
usr.bin/nm \
2921+
usr.bin/elfdump
2922+
# If we're given an XNM we don't need to build standard binary utilities.
2923+
.if ${XNM:M/*} == ""
2924+
_elftctools+= usr.bin/nm \
29212925
usr.bin/size \
29222926
usr.bin/strings
29232927
# These are not required by the build, but can be useful for developers who
29242928
# cross-build on a FreeBSD 10 host:
29252929
_elftctools+= usr.bin/addr2line
29262930
.endif
2927-
.elif ${TARGET_ARCH} != ${MACHINE_ARCH} && ${MK_ELFTOOLCHAIN_BOOTSTRAP} != "no"
2928-
# If cross-building with an external binutils we still need to build strip for
2929-
# the target (for at least crunchide).
2930-
_elftctools= lib/libelftc \
2931-
lib/libpe \
2932-
usr.bin/elfctl \
2933-
usr.bin/elfdump \
2934-
usr.bin/objcopy
29352931
.endif
29362932

29372933
.if ${MK_CLANG_BOOTSTRAP} != "no"
2938-
_clang= usr.bin/clang
2934+
_clang= usr.bin/clang/clang
29392935
.endif
29402936
.if ${MK_LLD_BOOTSTRAP} != "no"
29412937
_lld= usr.bin/clang/lld
@@ -3016,7 +3012,7 @@ NXBDIRS+= \
30163012
usr.bin/cmp \
30173013
usr.bin/diff \
30183014
usr.bin/dirname \
3019-
usr.bin/objcopy \
3015+
usr.bin/elfcopy \
30203016
usr.bin/env \
30213017
usr.bin/fetch \
30223018
usr.bin/find \

ObsoleteFiles.inc

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,32 @@
5151
# xargs -n1 | sort | uniq -d;
5252
# done
5353

54+
# 20250409: removal of iwlwifi firmware files
55+
OLD_FILES+=usr/share/doc/legal/intel_iwlwifi_firmware.LICENCE
56+
57+
# 20250331: removal of TCPPCAP
58+
OLD_FILES+=usr/include/netinet/tcp_pcap.h
59+
60+
# 20250310: caroot bundle updated
61+
OLD_FILES+=usr/share/certs/trusted/Entrust_Root_Certification_Authority_-_G4.pem
62+
OLD_FILES+=usr/share/certs/trusted/SecureSign_RootCA11.pem
63+
OLD_FILES+=usr/share/certs/trusted/Security_Communication_RootCA3.pem
64+
OLD_FILES+=usr/share/certs/trusted/SwissSign_Silver_CA_-_G2.pem
65+
OLD_FILES+=usr/share/certs/untrusted/AddTrust_External_Root.pem
66+
OLD_FILES+=usr/share/certs/untrusted/AddTrust_Low-Value_Services_Root.pem
67+
OLD_FILES+=usr/share/certs/untrusted/Staat_der_Nederlanden_Root_CA_-_G2.pem
68+
OLD_FILES+=usr/share/certs/untrusted/Cybertrust_Global_Root.pem
69+
OLD_FILES+=usr/share/certs/untrusted/DST_Root_CA_X3.pem
70+
OLD_FILES+=usr/share/certs/untrusted/GlobalSign_Root_CA_-_R2.pem
71+
OLD_FILES+=usr/share/certs/untrusted/QuoVadis_Root_CA.pem
72+
OLD_FILES+=usr/share/certs/untrusted/Sonera_Class_2_Root_CA.pem
73+
OLD_FILES+=usr/share/certs/untrusted/GeoTrust_Global_CA.pem
74+
OLD_FILES+=usr/share/certs/untrusted/Staat_der_Nederlanden_EV_Root_CA.pem
75+
OLD_FILES+=usr/share/certs/untrusted/E-Tugra_Certification_Authority.pem
76+
OLD_FILES+=usr/share/certs/untrusted/Hongkong_Post_Root_CA_1.pem
77+
OLD_FILES+=usr/share/certs/untrusted/Security_Communication_Root_CA.pem
78+
OLD_FILES+=usr/share/certs/untrusted/Trustis_FPS_Root_CA.pem
79+
5480
# 20250205: bus_generic_attach.9 removed after the function was deprecated
5581
OLD_FILES+=usr/share/man/man9/bus_generic_attach.9.gz
5682

@@ -59,7 +85,7 @@ OLD_FILES+=usr/tests/sys/vm/stack/.debug/libsoxstack.so.debug
5985
OLD_DIRS+=usr/tests/sys/vm/stack/.debug
6086

6187
# 20250129: libdevinfo bumped to version 7
62-
OLD_LIBS+=lib/libdevinfo.so.6
88+
OLD_LIBS+=usr/lib/libdevinfo.so.6
6389

6490
# 20250123: Remove gvinum(8)
6591
OLD_FILES+=sbin/gvinum
@@ -12453,8 +12479,6 @@ OLD_FILES+=usr/bin/llvm-pdbdump
1245312479
OLD_FILES+=usr/share/man/man2/pdwait4.2.gz
1245412480
# 20170610: chown-f_test replaced by chown_test
1245512481
OLD_FILES+=usr/tests/usr.sbin/chown/chown-f_test
12456-
# 20170609: drop obsolete manpage link (if_rtwn.ko -> rtwn.ko)
12457-
OLD_FILES+=usr/share/man/man4/if_rtwn.4.gz
1245812482
# 20170531: removal of groff
1245912483
OLD_FILES+=usr/bin/addftinfo
1246012484
OLD_FILES+=usr/bin/afmtodit
@@ -13569,9 +13593,6 @@ OLD_FILES+=usr/share/man/man1/rlog.1.gz
1356913593
OLD_FILES+=usr/share/man/man5/rcsfile.5.gz
1357013594
# 20161010: remove link to removed m_getclr(9) macro
1357113595
OLD_FILES+=usr/share/man/man9/m_getclr.9.gz
13572-
# 20161003: MK_ELFCOPY_AS_OBJCOPY option retired
13573-
OLD_FILES+=usr/bin/elfcopy
13574-
OLD_FILES+=usr/share/man/man1/elfcopy.1.gz
1357513596
# 20160906: libkqueue tests moved to /usr/tests/sys/kqueue/libkqueue
1357613597
OLD_FILES+=usr/tests/sys/kqueue/kqtest
1357713598
OLD_FILES+=usr/tests/sys/kqueue/kqueue_test
@@ -15388,8 +15409,6 @@ OLD_FILES+=usr/share/man/man4/lindev.4.gz
1538815409
# 20140425
1538915410
OLD_FILES+=usr/lib/libssp_p.a
1539015411
OLD_FILES+=usr/lib/libstand_p.a
15391-
# 20140413: Removed NO_MANCOMPRESS from mount_fusefs
15392-
OLD_FILES+=usr/share/man/man8/mount_fusefs.8
1539315412
# 20140314: AppleTalk
1539415413
OLD_DIRS+=usr/include/netatalk
1539515414
OLD_FILES+=usr/include/netatalk/aarp.h

RELNOTES

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,33 @@ newline. Entries should be separated by a newline.
1010

1111
Changes to this file should not be MFCed.
1212

13+
995b690d1398:
14+
ps(1)'s '-U' option has been changed to select processes by their real
15+
user IDs instead of their effective one, in accordance with POSIX and
16+
the use case of wanting to list processes launched by some user, which
17+
is expected to be more frequent than listing processes having the rights
18+
of some user. This only affects the selection of processes whose real
19+
and effective user IDs differ. After this change, ps(1)'s '-U' flag
20+
behaves differently then in other BSDs but identically to that of
21+
Linux's procps and illumos.
22+
23+
1aabbb25c9f9:
24+
ps(1)'s default list of processes now comes from matching its effective
25+
user ID instead of its real user ID with the effective user ID of all
26+
processes, in accordance with POSIX. As ps(1) itself is not installed
27+
setuid, this only affects processes having different real and effective
28+
user IDs that launch ps(1) processes.
29+
30+
f0600c41e754-de701f9bdbe0, bc201841d139:
31+
mac_do(4) is now considered production-ready and its functionality has
32+
been considerably extended at the price of breaking credentials
33+
transition rules' backwards compatibility. All that could be specified
34+
with old rules can also be with new rules. Migrating old rules is just
35+
a matter of adding "uid=" in front of the target part, substituting
36+
commas (",") with semi-colons (";") and colons (":") with greater-than
37+
signs (">"). Please consult the mac_do(4) manual page for the new rules
38+
grammar.
39+
1340
02d4eeabfd73:
1441
hw.snd.maxautovchans has been retired. The commit introduced a
1542
hw.snd.vchans_enable sysctl, which along with

UPDATING

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,23 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 15.x IS SLOW:
2727
world, or to merely disable the most expensive debugging functionality
2828
at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".)
2929

30+
20250412:
31+
LinuxKPI alloc routines were changed to return physically contiguous
32+
memory where expected. These changes may require out-of-tree drivers
33+
to be recompiled.
34+
Bump __FreeBSD_version to 1500037 to be able to detect this change.
35+
36+
20250409:
37+
Intel iwlwifi firmware has been removed from the src repository.
38+
Before updating their system, users of iwlwifi(4) or iwx(4) must
39+
install the appropriate firmware for their chipset using fwget(8) or
40+
building it from ports.
41+
42+
20250314:
43+
We now use LLVM's binary utilities (nm, objcopy, etc.) by default.
44+
The WITHOUT_LLVM_BINUTILS src.conf(5) knob can be used to revert to
45+
ELF Tool Chain tools if desired.
46+
3047
20250303:
3148
Commit 4a77657cbc01 changed the ABI between ipfw(8) and ipfw(4).
3249
Please note that the old ipfw(8) binary will not work with the new
@@ -79,6 +96,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 15.x IS SLOW:
7996
option that allowed building them instead of the advanced version
8097
imported more than 4 years ago have been removed.
8198

99+
20241107:
100+
The ng_ubt(4) driver now requires firmwares to be loaded on Realtek
101+
adaptors with rtlbtfw(8) utility. It no longer attaches to devices
102+
standing in bootloader mode. Firmware files are available in the
103+
comms/rtlbt-firmware port.
104+
82105
20241025:
83106
The support for the rc_fast_and_loose variable has been removed from
84107
rc.subr(8). Users setting rc_fast_and_loose on their systems are
@@ -2183,7 +2206,7 @@ FOOTNOTES:
21832206
happens automatically. If all your modules come from ports, then adding
21842207
the port origin directories to PORTS_MODULES instead is also automatic
21852208
and effective, eg:
2186-
PORTS_MODULES+=x11/nvidia-driver
2209+
PORTS_MODULES+=graphics/drm-kmod graphics/nvidia-drm-kmod
21872210

21882211
[3] From the bootblocks, boot -s, and then do
21892212
fsck -p

bin/cp/cp.1

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,6 @@ and
320320
options are non-standard and their use in scripts is not recommended.
321321
.Sh SEE ALSO
322322
.Xr mv 1 ,
323-
.Xr rcp 1 ,
324323
.Xr umask 2 ,
325324
.Xr fts 3 ,
326325
.Xr symlink 7

bin/cp/cp.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ main(int argc, char *argv[])
214214
* Case (1). Target is not a directory.
215215
*/
216216
if (argc > 1)
217-
errx(1, "%s is not a directory", to.p_path);
217+
errc(1, ENOTDIR, "%s", to.p_path);
218218

219219
/*
220220
* Need to detect the case:
@@ -237,17 +237,17 @@ main(int argc, char *argv[])
237237
type = FILE_TO_FILE;
238238

239239
if (have_trailing_slash && type == FILE_TO_FILE) {
240-
if (r == -1) {
241-
errx(1, "directory %s does not exist",
242-
to.p_path);
243-
} else
244-
errx(1, "%s is not a directory", to.p_path);
240+
if (r == -1)
241+
errc(1, ENOENT, "%s", to.p_path);
242+
else
243+
errc(1, ENOTDIR, "%s", to.p_path);
245244
}
246-
} else
245+
} else {
247246
/*
248247
* Case (2). Target is a directory.
249248
*/
250249
type = FILE_TO_DIR;
250+
}
251251

252252
/*
253253
* For DIR_TO_DNE, we could provide copy() with the to_stat we've
@@ -339,8 +339,8 @@ copy(char *argv[], enum op type, int fts_options, struct stat *root_stat)
339339
base = (p == NULL) ? 0 :
340340
(int)(p - curr->fts_path + 1);
341341

342-
if (!strcmp(&curr->fts_path[base],
343-
".."))
342+
if (strcmp(curr->fts_path + base, "..")
343+
== 0)
344344
base += 1;
345345
} else
346346
base = curr->fts_pathlen;

0 commit comments

Comments
 (0)