第 18 章 __FreeBSD_version 的值
这里是 sys/param.h 中定义的 __FreeBSD_version 值的方便列表:
18.1. FreeBSD 15 版本
表 1. FreeBSD 15 __FreeBSD_version 值
1500005
2023 年 11 月 27 日
15.0-CURRENT 经历了一系列树上的机械更改:删除了 SCCS 标识,删除了#if 0 的版权字符串,在此大变革之后进行了机械样式修复并从 sys/cdefs.h 中删除了一些宏。
1500006
2023 年 12 月 8 日
在升级 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 到 llvmorg-17.0.6-0-g6009708b4367 后,15.0-CURRENT,即 17.0.6 版本发布。
1500009
2024 年 1 月 11 日
添加 vnode_pager_clean_async(9)和 vnode_pager_clean_sync(9)后的 15.0-CURRENT。
1500018
2024 年 4 月 6 日
在升级 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 到 llvmorg-18.1.3-0-gc13b7485b879,即 18.1.3 版本之后的 15.0-CURRENT。
1500019
2024 年 5 月 31 日
通过将 CLOCK_BOOTTIME
重新定义为 CLOCK_MONOTONIC
而不是 CLOCK_UPTIME
,更新为 15.0-CURRENT。
1500026
2024 年 10 月 23 日
在将 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 升级到 llvmorg-19.1.2-0-g7ba7d8e2f7b6 后,更新为 15.0-CURRENT,亦即 19.1.2 发布版本。
1500029
2024 年 12 月 6 日
在添加 bus_attach_children
、bus_detach_children
和 bus_identify_children
后,更新为 15.0-CURRENT。
1500038
gitref:[repository="src",length=12]
2025 年 4 月 19 日
移除 vm_page_next() 和 _prev 后,更新为 15.0-CURRENT。
1500039
gitref:[repository="src",length=12]
2025 年 5 月 4 日
引入正确类型的 jiffies 后,更新为 15.0-CURRENT。
1500040
gitref:[repository="src",length=12]
2025 年 5 月 4 日
在 nfscommon 和 nfscl 模块之间的内部 API 更改后,更新为 15.0-CURRENT。
18.2. FreeBSD 14 版本
表格 2. FreeBSD 14 __FreeBSD_version 值
1400005
2021 年 2 月 17 日
在更改 arm64 上的 ptrace(2)的 API PT_GETDBREGS / PT_SETDBREGS 后,14.0-CURRENT。
1400020
2021 年 6 月 9 日
在 LinuxKPI 中添加宏 might_lock_nested() 和 lockdep_(re/un/)pin_lock() 后的 14.0-CURRENT。
1400023
2021 年 6 月 13 日
升级 llvm、clang、compiler-rt、libc ++、libunwind、lld、lldb 和 openmp 至 llvmorg-12.0.0-0-gd28af7c654d8,也称为 12.0.0 发布版之后的 14.0-CURRENT。
1400029
2021 年 8 月 5 日
添加 fspacectl(2), vn_deallocate(9)和 VOP_DEALLOCATE(9)后的 14.0-CURRENT。
1400030
2021 年 8 月 12 日
在 VOP_DEALLOCATE(9)参数更改后的 14.0-CURRENT,并添加了对 POSIX 共享内存的 fspacectl(2)支持。
1400031
2021 年 8 月 24 日
在将 fspacectl(2),vn_deallocate(9)和 VOP_DEALLOCATE(9)更改为更新 rmsr.r_offset 为有意义的值后的 14.0-CURRENT。
1400032
2021 年 8 月 25 日
在更改 fspacectl(2)、vn_deallocate(9)和 VOP_DEALLOCATE(9)之后的 14.0-CURRENT,使得计算清零字节数更容易。
1400033
2021 年 9 月 7 日
将套接字缓冲区锁移动到包含套接字中,并将 sb(un)lock 重命名为 SOCK_IO_RECV_LOCK、SOCK_IO_RECV_UNLOCK、SOCK_IO_SEND_LOCK 和 SOCK_IO_SEND_UNLOCK 后的 14.0-CURRENT。
1400036
2021 年 10 月 6 日
在 OCF 中扩展 AES-CCM 和 Chacha20-Poly1305 密码,以支持多个随机数长度后的 14.0-CURRENT。
1400042
2021 年 11 月 13 日
升级 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 至 llvmorg-13.0.0-0-gd7b669b3a303,又称 13.0.0 发行版的 14.0-CURRENT。
1400044
2021 年 12 月 9 日
在支持 AEAD 密码并将 Blake-2S/B auth 转换更改为像其他 auth 转换一样在 Setkey 之前进行 Init 之后,将 14.0-CURRENT 中的内核软件加密密码转换更改。
1400050
2022 年 1 月 25 日
iflib 添加了新功能后,14.0-CURRENT 允许驱动程序将自己的 TX 队列选择功能设置为 ift_txq_select 在结构 if_txrx 中。
1400054
2022 年 3 月 28 日
将 irq_work_queue 更改为在 LinuxKPI 中返回布尔值以匹配 5.10 API 后的 14.0-CURRENT。
1400055
2022 年 3 月 29 日
在将 for_each_sgtable_dma_sg 和 for_each_sgtable_dma_page 添加到 LinuxKPI 之后的 14.0-CURRENT
1400059
2022 年 5 月 14 日
在升级 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 到 llvmorg-14.0.3-0-g1f9140064dfb 之后的 14.0-CURRENT,也称为 14.0.3 版本。
1400079
2023 年 2 月 8 日
升级 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 至 llvmorg-15.0.7-0-g8dfdcc7b7bf6,也就是 15.0.7 版本后的 14.0-CURRENT。
1400091
2023 年 6 月 22 日
在升级 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 到 llvmorg-16.0.6-0-g7cbf1a259152,也就是 16.0.6 版本之后的 14.0-CURRENT 发布。
1400504
2024 年 1 月 7 日
在升级 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 到 llvmorg-17.0.6-0-g6009708b4367 之后的 14.0-STABLE,也称为 17.0.6 版本。
1400505
2024 年 1 月 7 日
在添加 vnode_pager_clean_async(9)和 vnode_pager_clean_sync(9)之后的 14.0-STABLE。
1400511
2024 年 4 月 20 日
升级 llvm,clang,compiler-rt,libc++,libunwind,lld,lldb 和 openmp 到 llvmorg-18.1.3-0-gc13b7485b879 后,14.0-STABLE,即 18.1.3 版本。
1402501
2024 年 12 月 1 日
通过将 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 升级到 llvmorg-19.1.4-0-gaadaa00de76e,更新为 14.2-STABLE,亦即 19.1.4 发布版本。
1402503
2025 年 2 月 27 日
在添加 bus_attach_children
、bus_detach_children
和 bus_identify_children
后,更新为 14.2-STABLE。
18.3. FreeBSD 13 版本
表 3. FreeBSD 13 __FreeBSD_version 值
1300012
2019 年 2 月 12 日
在 taskqgroup_attach() 和 taskqgroup_attach_cpu() 之后,13.0-CURRENT 接受一个 device_t 和一个结构资源指针作为参数,用于表示设备中断。
1300014
2019 年 3 月 4 日
在升级 clang、llvm、lld、lldb、compiler-rt 和 libc++ 到 8.0.0 rc3 之后的 13.0-CURRENT。
1300020
2019 年 4 月 18 日
在恢复 random(4) 可用性折衷之前的 346250 和添加新的可调整项和诊断 sysctl,以便在引导后以编程方式发现早期种子问题后的 13.0-CURRENT。
1300028
2019 年 5 月 17 日
在 bm , cs ,删除后的 13.0-CURRENT,de,ed, ep ,ex, fe , pcn ,sf, sn , tl , tx , txp , vx , wb 和 xe 驱动程序。
1300029
2019 年 5 月 20 日
13.0-CURRENT 在移除由于 sys/eventhandler.h 导致的一些头部污染后。受影响的文件现在可能需要显式包含 sys/eventhandler.h、sys/ktr.h、sys/lock.h 或 sys/mutex.h 中的一个或多个,当缺少的头部在 1300029 之前可能是隐式包含的。
1300030
2019 年 5 月 29 日
13.0-CURRENT 在 powerpc64 上为 libdwarf 添加重定位支持后,修复了对未链接对象上 DWARF 信息的处理。原始提交在 348347 中。
1300031
2019 年 6 月 8 日
在为 i386 内核模块添加 dpcpu 和 vnet 部分修复后,13.0-CURRENT 可以避免在某些情况下发生崩溃。需要使用链接器脚本魔法重新编译 i386 内核模块,否则它们将拒绝加载。
1300032
2019 年 6 月 17 日
将内核 crc32() 实现分离到自己的头文件(gsb_crc32.h)并将源代码重命名为 gsb_crc32.c 后的 13.0-CURRENT。
1300036
2019 年 7 月 13 日
13.0-CURRENT 添加 arm_drain_writebuf() 和 arm_sync_icache() 以与 NetBSD 和 OpenBSD 兼容 后。
1300050
2019 年 10 月 9 日
在更新 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 至 9.0.0 final release r372316 后的 13.0-CURRENT。
1300084
2020 年 3 月 10 日
更新 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 至 10.0.0-rc3 c290cb61fdc 后的 13.0-CURRENT。
1300096
2020 年 5 月 23 日
在将 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 更新至 10.0.1 rc1 f79cd71e145 后的 13.0-CURRENT。
1300108
2020 年 8 月 14 日
在 linuxkpi 中添加了一些 wait_bit 函数,这些函数是从 Linux v5.4 中的 DRM 所需的,13.0-CURRENT。
(未更改)
2020 年 8 月 16 日
在更新 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 至 release/11.x llvmorg-11.0.0-rc1-47-gff47911ddfc 后的 13.0-CURRENT。
1300124
2020 年 10 月 30 日
在添加 cache_vop_mkdir 并将 cache_rename 重命名为 cache_vop_rename 后的 13.0-CURRENT。
1300508
2021 年 6 月 11 日
添加 LinuxKPI 中的 might_lock_nested() 和 lockdep_(re/un/)pin_lock() 宏之后的 13.0-STABLE。
1300511
2021 年 7 月 7 日
改变 softdep_prelink() 为仅在另一个线程自先前 prelink 更改了 vnode 元数据后执行同步的 13.0-STABLE。
1300513
2021 年 7 月 31 日
在将 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 升级到 llvmorg-12.0.1-0-gfed41342a82f 之后的 13.0-STABLE,也就是 12.0.1 版本发布后。
1300519
2021 年 10 月 21 日
在 OCF 中扩展 AES-CCM 和 Chacha20-Poly1305 密码,以支持多个随机数长度后的 13.0-STABLE。
(未更改)
2021 年 12 月 6 日
在更新 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 到 llvmorg-13.0.0-0-gd7b669b3a303 之后的 13.0-STABLE,也称为 13.0.0 版本。
1301504
2022 年 6 月 4 日
升级 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 到 llvmorg-14.0.3-0-g1f9140064dfb,也称为 14.0.3 版的 13.1-STABLE。
1301506
2022 年 7 月 13 日
添加<crypto/chacha20_poly1305.h>和<crypto/curve25519.h>后,13.1-STABLE。
1302505
2023 年 4 月 9 日
在升级 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 到 llvmorg-15.0.7-0-g8dfdcc7b7bf6,也就是 15.0.7 版本之后的 13.2-STABLE。
1302507
2023 年 7 月 23 日
在升级 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 到 llvmorg-16.0.6-0-g7cbf1a259152,也就是 16.0.6 版本之后的 13.2-STABLE。
1302510
2024 年 1 月 7 日
升级 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 至 llvmorg-17.0.6-0-g6009708b4367 后的 13.2-STABLE,也称为 17.0.6 发布。
1303503
2024 年 4 月 20 日
在升级 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 到 llvmorg-18.1.3-0-gc13b7485b879 之后的 13.3-STABLE,也称为 18.1.3 版本。
1304501
2024 年 12 月 1 日
通过将 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 升级到 llvmorg-19.1.4-0-gaadaa00de76e,更新为 13.4-STABLE,亦即 19.1.4 发布版本。
18.4. FreeBSD 12 版本
表 4.FreeBSD 12 __FreeBSD_version 值
1200004
2016 年 8 月 24 日
修复 LC*MASK 后的 12.0-CURRENT,用于 newlocale(3)和 querylocale(3) (修订版 304703)。
1200017
2016 年 11 月 25 日
在升级 clang、llvm、lldb、compiler-rt 和 libc++到 3.9.0 版本,并添加 lld 3.9.0 后的 12.0-CURRENT。
1200018
2016 年 12 月 7 日
在 12.0-CURRENT 中,添加 ki_moretdname 成员到 struct kinfo_proc 和 struct kinfo_proc32 ,将整个线程名称导出到用户空间实用程序。
1200028
2017 年 4 月 10 日
在 316648 中将 smp_no_rendevous_barrier() 重命名为 smp_no_rendezvous_barrier() 后的 12.0-CURRENT。
1200031
2017 年 5 月 23 日
在 ino_t , dev_t 和 nlink_t 扩展到 64 位并 struct dirent 更改布局后的 12.0-CURRENT(也称为 ino64)。
1200039
2017 年 7 月 22 日
clang、llvm、lld、lldb、compiler-rt 和 libc++ 升级到 5.0.0 (trunk r308421) 后的 12.0-CURRENT。
1200056
2018 年 1 月 14 日
在升级 clang、llvm、lld、lldb、compiler-rt 和 libc++到 6.0.0 之后的 12.0-CURRENT(分支/release_60 r321788)。
1200059
2018 年 3 月 2 日
12.0-CURRENT 删除了 union semun 的声明,除非 _WANT_SEMUN 被定义。还删除了 struct mymsg ,并重命名了 struct semid_ds 和 struct msgid_ds 的仅内核成员。
1200069
2018 年 6 月 15 日
在将 struct kerneldumpheader 更改为版本 4 后的 12.0-CURRENT(类似于 11-STABLE 和之前的版本 2)。
1200073
2018 年 7 月 15 日
在更改 ABI 和 API 后,12.0-CURRENT 要求 iflib(9)消费者模块重新构建 struct if_shared_ctx 和 struct if_softc_ctx 。
1200075
2018 年 7 月 19 日
在将 zfsloader 合并到加载程序中,并将 ntpd:ntpd 添加为 uid:gid 123:123 之后的 12.0-CURRENT,以及在移除 arm 大端支持(MACHINE_ARCH=armeb)之后。
1200079
2018 年 8 月 19 日
在将 arc4random 转换为使用 Chacha20 算法并弃用 arc4random_stir 和 arc4random_addrandom 后的 12.0-CURRENT。
1200506
2019 年 4 月 12 日
在合并 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 8.0.0 最终发布 r356365 后的 12-STABLE。
1200511
2019 年 5 月 24 日
在将 347843 的 MFC 应用于 12-STABLE 后,向 LinuxKPI 的结构 task_struct 添加 group_leader 成员。
1200513
2019 年 7 月 5 日
在 MFC epoch(9)更改之后的 12-STABLE:349763, 340404, 340415, 340417, 340419, 340420。
1200515
2019 年 8 月 11 日
在 MFC 349891(将 SRCS 列表重新组织为每行一个文件,然后按字母顺序排列)和 349972(添加 arm_sync_icache() 和 arm_drain_writebuf() sysarch 系统调用包装器)之后的 12-STABLE。
1201509
2020 年 1 月 7 日
更新 llvm,clang,compiler-rt,libc ++,libunwind,lld,lldb 和 openmp 至 9.0.0 最终版 r372316 之后的 12-STABLE。
1201515
2020 年 5 月 1 日
在更新 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 到 10.0.0 版本后的 12-STABLE。
1201520
2020 年 7 月 24 日
在更新 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 到 10.0.1 版本后的 12-STABLE。
1203502
2021 年 12 月 22 日
更新 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 至 11.0.1 后的 12-STABLE。
1203503
2021 年 12 月 25 日
更新 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 到 12.0.0 后的 12-STABLE。
1203505
2021 年 12 月 25 日
在将 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 更新到 13.0.0 之后的 12-STABLE。
18.5. FreeBSD 11 版本
第 5 表 FreeBSD 11 __FreeBSD_version 值
1100014
2014 年 3 月 16 日
11.0-CURRENT 重命名<sys/capability.h>为<sys/capsicum.h>,以避免与其他操作系统中同名头文件发生冲突。兼容性头文件仍然保留以减少构建中断,但会在适当时机被弃用。
1100022
2014 年 5 月 30 日
在对 strcasecmp(3)进行更改后,将 strcasecmp_l(3)和 strncasecmp_l(3)从<string.h>移到<strings.h>以符合 POSIX 2008 规范(修订版 266865)。
1100032
2014 年 9 月 11 日
在 API 更改后的 11.0-CURRENT 之后 ifa_ifwithbroadaddr , ifa_ifwithdstaddr , ifa_ifwithnet , 和 ifa_ifwithroute 。
1100041
2014 年 10 月 30 日
在 API 更改后的 11.0-CURRENT 到 syscall_register , syscall32_register , syscall_register_helper 和 syscall32_register_helper (rev 273707)。
1100074
2015 年 5 月 25 日
添加对 x86-64 Linux 二进制文件的初步支持(版本 283424 后),并将 clang 和 llvm 升级到 3.6.1 后的 11.0-CURRENT。
1100091
2015 年 11 月 30 日
2015 年 12 月 19 日,将 nfsd.ko 和 nfscommon.ko 模块之间的接口更改为 11.0-CURRENT 中的 291527。
1100116
2016 年 5 月 31 日
在 libmd、libcrypt、内核和 ZFS(版本 301010)中添加了 SHA-512t256(版本 300903)和 Skein(版本 300966)后的 11.0-CURRENT。
1100507
2016 年 12 月 15 日
在将 ki_moretdname 成员添加到 struct kinfo_proc 和 struct kinfo_proc32 以导出整个线程名称到用户空间实用程序后 11.0-STABLE
1100508
2016 年 12 月 26 日
在升级了 clang、llvm、lldb、compiler-rt 和 libc++到 3.9.1 版本,以及添加了 lld 3.9.1 后的 11.0-STABLE。
1100511
2017 年 4 月 2 日
在多次 MFC 更新 clang、llvm、lld、lldb、compiler-rt 和 libc++到 4.0.0 版本后的 11.0-STABLE。
1101504
2017 年 9 月 26 日
从 head 合并 libm 之后的 11-STABLE,增加了 cacoshl(3),cacosl(3),casinhl(3),casinl(3),catanl(3),catanhl(3),sincos(3),sincosf(3)和 sincosl(3)。
1101508
2018 年 1 月 24 日
合并 316648 后的 11-STABLE,将 smp_no_rendevous_barrier() 重命名为 smp_no_rendezvous_barrier() 。
1101513
2018 年 3 月 31 日
在合并 clang、llvm、lld、lldb、compiler-rt 和 libc++ 6.0.0 版本以及几次后续修复后的 11-STABLE。
1102502
2018 年 9 月 12 日
在添加套接字选项 SO_TS_CLOCK 和修复 recvmsg32() 系统调用以正确将 64 位结构的布局降级到与 32 位应用程序期望的匹配的情况下,11-STABLE。
1102504
2018 年 11 月 9 日
经过几次 MFC 对 11-STABLE 的更新:将 objcopy(1)更新为正确处理小端 MIPS64 目标;更正 mips64el 测试以使用 ELF 头;为_libelf_is_mips64el 中的 64 位 ELF 添加测试。
1102507
2019 年 4 月 16 日
合并 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 8.0.0 最终版本 r356365 后的 11-STABLE。
1103510
2020 年 5 月 5 日
更新 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 到 9.0.0 最终版本 r372316 后的 11-STABLE
1103511
2020 年 5 月 7 日
将 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 更新到 10.0.0 版本后的 11-STABLE
1104001
2020 年 5 月 8 日
在更新 llvm、clang、compiler-rt、libc++、libunwind、lld、lldb 和 openmp 到 10.0.0 版本之后的 11.4-BETA1。
1104503
2020 年 7 月 24 日
11-STABLE 更新 llvm,clang,compiler-rt,libc ++,libunwind,lld,lldb 和 openmp 至 10.0.1 版本后。
18.6. FreeBSD 10 版本
表 6. FreeBSD 10 __FreeBSD_version 值
1000002
2011 年 12 月 12 日
在定义布尔值 true/false 在 sys/types.h 之后,sizeof(bool) 的大小可能已经更改(版本 228444)。在引入 xlocale.h 之后的 10-CURRENT(版本 227753)。
1000003
2011 年 12 月 16 日
在对 carp(4) 进行重大更改之后的 10-CURRENT,改变了结构体 in_aliasreq 的大小,结构体 in6_aliasreq(版本 228571)以及 SIOCAIFADDR 的参数检查(版本 228574)的参数检查。
1000005
2012 年 1 月 16 日
10-CURRENT 在删除对 SIOCSIFADDR、SIOCSIFNETMASK、SIOCSIFBRDADDR、SIOCSIFDSTADDR ioctls 的支持后。
1000007
2012 年 2 月 5 日
引入新的 tcp(4)套接字选项后的 10-CURRENT 版本:TCP_KEEPINIT、TCP_KEEPIDLE、TCP_KEEPINTVL 和 TCP_KEEPCNT。
1000025
2012 年 11 月 17 日
在 sin6_scope_id 成员变量在 struct sockaddr_in6 中被更改为在将结构传递给用户空间之前由内核填充后的 10-CURRENT 通过 sysctl 或路由套接字。这意味着 sin6_addr.s6_addr[2] 中的 KAME 特定嵌入式范围 id 在用户空间应用程序中始终被清除。
1000034
2013 年 6 月 3 日
在将这些函数添加到 libm 后的 10-CURRENT:cacos(3),cacosf(3),cacosh(3),cacoshf(3),casin(3),casinf(3),casinh(3),casinhf(3),catan(3),catanf(3),catanh(3),catanhf(3),logl(3),log2l(3),log10l(3),log1pl(3),expm1l(3)。
1000037
2013 年 7 月 9 日
在将统计结构迁移到 PCPU 计数器后的 10-CURRENT。 更改的结构包括: ahstat , arpstat , espstat , icmp6_ifstat , icmp6stat , in6_ifstat , ip6stat , ipcompstat , ipipstat , ipsecstat , mrt6stat , mrtstat , pfkeystat , pim6stat , pimstat , rip6stat , udpstat (版本 253081)。
1000043
2013 年 8 月 13 日
WITH_ICONV 后,10-CURRENT 默认启用。 新增 src.conf(5) 选项, WITH_LIBICONV_COMPAT (默认禁用)添加 libiconv_open 以与 converters/libiconv port 兼容。
1000045
2013 年 8 月 15 日
在将 cdevsw 标志 D_UNMAPPED_IO 替换为 struct cdev 标志 SI_UNMAPPED 后,10-CURRENT 进行了 devfs 编程接口更改。
1000046
2013 年 8 月 19 日
10-CURRENT 添加 M_PROTO[9-12] 和删除 M_FRAG|M_FIRSTFRAG|M_LASTFRAG mbuf 标志后(修订版本 254524、254526)。
1000708
2014 年 4 月 30 日
FreeBSD-SA-14:07.devfs、FreeBSD-SA-14:08.tcp 和 FreeBSD-SA-14:09.openssl 之后的 10-STABLE。
1000710
2014 年 6 月 13 日
在对 strcasecmp(3)进行更改后,将 strcasecmp_l(3)和 strncasecmp_l(3)从<string.h>移动到<strings.h>,以符合 POSIX 2008 标准。
1001501
2014 年 10 月 21 日
在 FreeBSD-SA-14:20、FreeBSD-SA-14:22 和 FreeBSD-SA-14:23(修订版 273411)之后的 10-STABLE。
1001509
2015 年 2 月 25 日
FreeBSD-EN-15:01.vt 之后的 10-STABLE,FreeBSD-EN-15:02.openssl,FreeBSD-EN-15:03.freebsd-update,FreeBSD-SA-15:04.igmp 和 FreeBSD-SA-15:05.bind。
18.7. FreeBSD 9 版本
表 7. FreeBSD 9 __FreeBSD_version 值
900009
2010 年 1 月 26 日
在网络接口添加 SIOCGIFDESCR 和 SIOCSIFDESCR ioctl 后的 9.0-CURRENT。这些 ioctl 可用于操纵接口描述,灵感来自 OpenBSD。
900018
2010 年 8 月 24 日
在 pthread_kill(3)生成的信号被识别为 SI_LWP 之后的 9.0-CURRENT 中, si_code 。之前, si_code 是 SI_USER。
900028
2010 年 12 月 21 日
9.0-CURRENT 在添加 Hhook(Helper Hook)、Khelp(Kernel Helpers)和 Object Specific Data(OSD)KPIs 之后。
900505
2012 年 3 月 13 日
引入新的 tcp(4)套接字选项后的 9.0-STABLE:TCP_KEEPINIT,TCP_KEEPIDLE,TCP_KEEPINTVL 和 TCP_KEEPCNT。
903505
2014 年 10 月 21 日
在 FreeBSD-SA-14:20,FreeBSD-SA-14:21 和 FreeBSD-SA-14:22 之后的 9-STABLE(修订版 273412)。
903508
2015 年 2 月 25 日
在 FreeBSD-EN-15:01.vt,FreeBSD-EN-15:02.openssl,FreeBSD-EN-15:03.freebsd-update,FreeBSD-SA-15:04.igmp 和 FreeBSD-SA-15:05.bind 之后的 9-STABLE。
903509
2016 年 2 月 29 日
在将默认值从 compat.linux.osrelease 调整为 2.6.18 以支持开箱即用的 linux-c6-* ports之后的 9-STABLE。
18.8. FreeBSD 8 版本
表 8. FreeBSD 8 __FreeBSD_version 值
800003
2007 年 10 月 24 日
在将 ABI 向后兼容性添加到 FreeBSD 4/5/6 版本的 PCIOCGETCONF、PCIOCREAD 和 PCIOCWRITE IOCTL 之后,需要再次破坏 PCIOCGETCONF IOCTL 的 ABI
800012
2008 年 1 月 19 日
在引入 lockmgr_recursed(9)、BUF_RECURSED(9) 和 BUF_ISLOCKED(9) 以及删除 BUF_REFCNT() 后的 8.0-CURRENT。
800023
2008 年 2 月 25 日
更改 lockstatus(9)和 VOP_ISLOCKED(9)的原型后的 8.0-CURRENT;更具体地说是淘汰 struct thread 参数。
800024
2008 年 3 月 1 日
砍掉 lockwaiters 和 BUF_LOCKWAITERS 函数后,8.0-CURRENT 将 brelvp 的返回值从 void 改为 int,并为 lockinit(9)引入了新标志。
800032
2008 年 4 月 8 日
在实现 openat 和相关系统调用后的 8.0-CURRENT 版本,引入了 open(2)的 O_EXEC 标志,并提供了相应的 Linux 兼容系统调用。
800033
2008 年 4 月 8 日
在本机操作级别为 psm(4) 添加了 write(2) 支持后的 8.0-CURRENT。现在可以向 /dev/psm%d 写入任意命令,并从中读取状态。
800048
2008 年 9 月 16 日
将内核 NFS 挂载代码转换为在 nmount(2)中接受单独的挂载选项后的 8.0-CURRENT iovec ,而不仅仅是一个大的 struct nfs_args。
800054
2008 年 11 月 22 日
在添加 buf_ring 后的 8.0-CURRENT,添加了内存屏障和 ifnet 功能,以促进支持这些功能的卡的多个硬件传输队列,并添加了无锁环形缓冲区实现,以使驱动程序能够更有效地管理数据包的排队。
800067
2009 年 2 月 28 日
在添加 getdelim() , getline() , stpncpy() , strnlen() , wcsnlen() , wcscasecmp() 和 wcsncasecmp() 后的 8.0-CURRENT。
800078
2009 年 4 月 15 日
在添加结构 rt_weight 字段到结构 rt_metrics 和结构 rt_metrics_lite 后的 8.0-CURRENT,改变了结构 rt_metrics_lite 的布局。进行了版本号 RTM_VERSION 的提升,但后来被撤销。
800087
2009 年 5 月 11 日
在一些 VFS KPI 更改后的 8.0-CURRENT。线程参数已从 VFS 的 FSD 部分中移除。 VFS_* 函数不再需要上下文,因为它总是指向 curthread 。在一些特殊情况下,保留了旧的行为。
800092
2009 年 5 月 29 日
在更改 sx_init_flags() KPI 后的 8.0-CURRENT。 SX_ADAPTIVESPIN 已退役,并引入了一个新的 SX_NOADAPTIVE 标志来处理反向逻辑。
800095
2009 年 5 月 30 日
在更改轮询 KPI 后的 8.0-CURRENT。现在轮询处理程序返回处理的数据包数量。还引入了一个新的 IFCAP_POLLING_NOCOUNT ,用于指定返回值不重要且应跳过计数。
800503
2010 年 2 月 25 日
在网络接口中添加 SIOCGIFDESCR 和 SIOCSIFDESCR ioctl 后的 8.0-STABLE。这些 ioctl 可用于操纵接口描述,受 OpenBSD 启发。
801501
2010 年 11 月 3 日
在结构 sysentvec 的 KBI 更改后,以及对 ptrace(PT_LWPINFO)实现 PL_FLAG_SCE/SCX/EXEC/SI 和 pl_siginfo 之后的 8.1-STABLE。
804508
2015 年 2 月 25 日
在 FreeBSD-EN-15:01.vt、FreeBSD-EN-15:02.openssl、FreeBSD-EN-15:03.freebsd-update、FreeBSD-SA-15:04.igmp 和 FreeBSD-SA-15:05.bind 之后的 8-STABLE。
18.9. FreeBSD 7 版本
表 9. FreeBSD 7 __FreeBSD_version 值
700013
2006 年 1 月 12 日
"/etc/rc.d/abi" 在支持 /compat/linux/etc/ld.so.cache 作为只读文件系统中符号链接后的 7.0-CURRENT 变更。
700034
2007 年 3 月 19 日
在对 insmntque() , getnewvnode() 和 vfs_hash_insert() 的工作方式进行更改后,7.0-CURRENT。
700038
2007 年 4 月 30 日
在将 getenv(3)、putenv(3)、setenv(3) 和 unsetenv(3) 更改为符合 POSIX 标准后的 7.0-CURRENT。
700048
2007 年 6 月 12 日
在 IPv4 栈中添加了 RFC 3678 API 支持后的 7.0-CURRENT。现已移除 IP_MULTICAST_IF ioctl 的传统 RFC 1724 行为;不再可以使用 0.0.0.0/8 来指定接口索引。请改用结构 ipmreqn 。
700055
2007 年 10 月 28 日
7.0-RELEASE,并在 ABI 向后兼容性到 FreeBSD 4/5/6 版本的 PCIOCGETCONF、PCIOCREAD 和 PCIOCWRITE IOCTLs 之后,需要再次破坏 PCIOCGETCONF IOCTL 的 ABI,这是在 7.0-CURRENT 之后 MFCed 的
701104
2009 年 2 月 14 日
在挂载结构所有者的存储之后,将 7.1-STABLE 引入 struct mount,并将 vfs_susp_clean 方法引入 struct vfsops 中。
701105
2009 年 3 月 12 日
在 64 位体系结构上,通过对 kern.ipc.shmsegs sysctl 的不兼容更改允许分配更大的 SysV 共享内存段后,将 7.1-STABLE 引入。
18.10. FreeBSD 6 版本
表 10. FreeBSD 6 __FreeBSD_version 值
600013
2005 年 2 月 19 日
6.0-CURRENT 在<src/include/stdbool.h>和<src/sys/i386/include/_types.h>修复后,可以使用 Intel C/C++编译器的 GCC 兼容性。
602104
2007 年 1 月 28 日
在 MFC ng_deflate(4)和 ng_pred1(4) netgraph 节点以及 ng_ppp(4)节点的新压缩和加密模式之后的 6.2-STABLE。
602110
2007 年 5 月 2 日
6.2-STABLE 在应用 pmap_invalidate_cache() , pmap_change_attr() , pmap_mapbios() , pmap_mapdev_attr() 和 pmap_unmapbios() 于 amd64 和 i386 后。
602113
2007 年 10 月 25 日
MFC 宽字节和单字节 ctype 分离之后的 6.2-STABLE。引用 ctype.h 的新编译二进制文件可能需要一个新符号, __mb_sb_limit ,这在旧系统上不可用。
18.11. FreeBSD 5 版本
表 11. FreeBSD 5 __FreeBSD_version 值
(未更改)
在新增 C99 特定宽度整数类型之后的 5.0-CURRENT。
500039
2002 年 9 月 1 日
在导入 GCC 3.2.1 之后的 5.0-CURRENT。还在头文件中停止使用 BSD_FOO_T,并开始使用_FOO_T_DECLARED。这个值也可以作为支持 bzip2(1)软件包开始的保守估计。
500103
2003 年 2 月 26 日
taskqueue_swi 更改为在没有 Giant 的情况下运行后, taskqueue_swi_giant 添加为在 Giant 的情况下运行的 5.0-CURRENT。
501107
2003 年 9 月 17 日
5.1-CURRENT 升级后,16550 UART 常量从<dev/sio/sioreg.h>移动到<dev/ic/ns16550.h>。当 libmap 功能被 rtld 无条件支持时也是如此。
502118
2004 年 6 月 17 日
5.2-CURRENT 在将 CLOCK_VIRTUAL 和 CLOCK_PROF 支持添加到 clock_gettime(2) 和 clock_getres(2) 后。
502123
2004 年 7 月 12 日
改变为使 VFS_ROOT 接受一个 struct 线程参数,就像 vflush 一样。现在结构 kinfo_proc 有一个用户数据指针。同时还进行了默认 X 实现切换到 xorg 。
502128
2004 年 8 月 8 日
在更改 vfs_mount 签名以及全局替换 PRISON_ROOT 为 SUSER_ALLOWJAIL 以用于 suser(9) API 后的 5.2-CURRENT。
503103
2005 年 2 月 27 日
在将修复程序合并到<src/include/stdbool.h>和<src/sys/i386/include/_types.h>后,5.4-PRERELEASE 可以使用英特尔 C/C++编译器的 GCC 兼容性。
18.12. FreeBSD 4 版本
表 12. FreeBSD 4 __FreeBSD_version 值
411001
4.1.1-STABLE 之后的 4.1.1-RELEASE
450003
(从未创建)
18.13. FreeBSD 3 版本
表 13. FreeBSD 3 __FreeBSD_version 值
320000
3.2-RELEASE
18.14. FreeBSD 2.2 版本
表 14. FreeBSD 2.2 __FreeBSD_version 值
(not changed)
2.2.1-RELEASE
(not changed)
2.2-STABLE 在 2.2.1-RELEASE 之后
注意
注意,2.2-STABLE 有时在 2.2.5-RELEASE 发布后以"2.2.5-STABLE"的形式标识自身。之前的模式是年份后跟月份,但社区决定改为从 2.2 开始采用更直接的主/次系统。这是因为在几个分支上的并行开发使得仅凭实际发布日期来分类发布变得不可行。不要担心旧的-CURRENT 版本;它们仅列在此供参考。
18.15. FreeBSD 2 在 2.2-RELEASE 版本之前
表 15. FreeBSD 2 在 2.2-RELEASE 之前的 __FreeBSD_version 值
119411
2.0-RELEASE
199612
2.1.7-RELEASE
最后更新于
这有帮助吗?