Hōʻike Hoʻomohala FreeBSD Q2020 XNUMX

paʻi ʻia hōʻike i ka hoʻomohala ʻana o ka papahana FreeBSD mai Ianuali a Malaki 2020. Ma waena o nā hoʻololi hiki iā mākou ke hoʻomaopopo:

  • Nā nīnau maʻamau a me nā ʻōnaehana
    • Wehe ʻia ka GCC compiler i hoʻonohonoho ʻia mai ka kumu kumu kumu FreeBSD-CURRENT, a me nā pono hana gpperf, gcov a me gtc (devicetree compiler) i hoʻohana ʻole ʻia. Ua hoʻololi ʻia nā paepae āpau i kākoʻo ʻole iā Clang i ka hoʻohana ʻana i nā mea hana waho i hoʻokomo ʻia mai nā awa. Ua hoʻouna ka ʻōnaehana kumu i kahi hoʻokuʻu kahiko o GCC 4.2.1, a ʻaʻole hiki ke hoʻohui ʻia o nā mana hou ma muli o ka hoʻololi ʻana o 4.2.2 i ka laikini GPLv3, i manaʻo ʻia he kūpono ʻole no nā ʻāpana kumu FreeBSD. Hiki ke hoʻokomo ʻia nā hoʻokuʻu o GCC i kēia manawa, me GCC 9, mai nā pūʻolo a me nā awa.
    • Ua hoʻohui ka Linux environment emulation infrastructure (Linuxulator) i ke kākoʻo no ke kelepona ʻōnaehana sendfile, ke ʻano TCP_CORK (pono no ka nginx), a me ka hae MAP_32BIT (hoʻopau i ka pilikia me ka hoʻokuʻu ʻana i nā pūʻolo me Mono mai Ubuntu Bionic). Ua hoʻoholo ʻia nā pilikia me ka hoʻonā DNS i ka wā e hoʻohana ai i ka glibc hou aʻe ma mua o 2.30 (no ka laʻana mai CentOS 8).
      Hāʻawi ka ʻōnaehana hoʻohui mau i ka hiki ke holo i nā hana LTP (Linux Testing Project) e holo ana i Linuxulator e hoʻāʻo i nā hoʻomaikaʻi i hana ʻia i ke code e kākoʻo iā Linux. Ma kahi o 400 mau hoʻāʻo ʻaʻole i hāʻule a koi ʻia e hoʻoponopono (ua hoʻokumu ʻia kekahi mau hewa e nā hopena maikaʻi ʻole, koi kekahi i nā hoʻoponopono liʻiliʻi, akā aia kekahi mau mea e pono ai e hoʻohui i ke kākoʻo no nā kelepona ʻōnaehana hou e hoʻoponopono). Ua hana ʻia ka hana e hoʻomaʻemaʻe i ka code Linuxulator a maʻalahi i ka debugging. Ua hoʻomākaukau ʻia nā ʻāpana me ke kākoʻo no nā ʻano lōʻihi a me ke kelepona ʻōnaehana fexecve, akā ʻaʻole i loiloi ʻia.

    • ʻO nā hālāwai o ka hui hana i hana ʻia no ka hoʻokō ʻana i ka neʻe ʻana o nā code kumu mai ka ʻōnaehana hoʻokele kikowaena kikowaena Subversion i ka ʻōnaehana decentralized Git hoʻomau. Ke hoʻomākaukau ʻia nei kahi hōʻike me nā noi no ka neʻe ʻana.
    • В rtld (runtime linker) hoʻomaikaʻi i ke ʻano hoʻokō pololei (“/libexec/ld-elf.so.1 {ala} {mau hoʻopaʻapaʻa}”).
    • Ke hoʻomau nei ka hoʻomohala ʻana o ka papahana no ka hoʻāʻo ʻana o ka FreeBSD kernel me ka ʻōnaehana syzkaller. I loko o ka manawa hōʻike, ua hoʻopau ʻia nā pilikia ma ka waihona pūnaewele a me ke code no ka hana ʻana me nā papa wehewehe faila i ʻike ʻia me ka syzkaller. Ma hope o ka ʻike hewa, ua hoʻohui ʻia nā hoʻololi i ka waihona SCTP i mea e maʻalahi ai ka debugging. Ua hoʻohui ʻia nā lula i ka stress2 i hoʻonohonoho ʻia e ʻike i nā regressions hiki ke hoʻihoʻi. Hoʻohui ʻia ke kākoʻo no ka hoʻāʻo ʻana i nā kelepona ʻōnaehana hou, e komo pū me copy_file_range(), __realpathat() a me Capsicum subsystem calls. Ke hoʻomau nei ka hana e uhi i ka papa emulation Linux me ka hoʻāʻo fuzz. Ua nānā a hoʻopau mākou i nā hewa i ʻike ʻia ma nā hōʻike hou o Coverity Scan.
    • Ua hoʻololi ka ʻōnaehana hoʻohui mau i ka hoʻokō ʻana i nā hoʻokolohua lālā poʻo a pau me ka clang/lld wale nō. I ka hoʻāʻo ʻana no RISC-V, ʻike ʻia ka hoʻokumu ʻana i kahi kiʻi disk piha no ka holo ʻana i nā hoʻokolohua ma QEMU me ka hoʻohana ʻana i OpenSBI. Hoʻohui i nā hana hou no ka hoʻāʻo ʻana i nā kiʻi a me nā mīkini virtual powerpc64 (FreeBSD-head-powerpc64-images, FreeBSD-head-powerpc64-testvm).
    • Ke hoʻomaka nei ka hana e hoʻoneʻe i ka Kyua test suite mai nā awa (devel/kyua) i ka ʻōnaehana kumu no ka hoʻoponopono ʻana i nā pilikia (ua hoʻokomo mālie ʻia nā ʻeke) e kū mai ana i ka wā e hoʻohana ai iā Kyua ma nā hale kūkulu hou, hoʻomohala ʻia e hoʻohana ʻia me ka emulator a i ʻole. FPGA. ʻO ka hoʻohui ʻana i ka ʻōnaehana kumu e maʻalahi loa i ka hoʻāʻo ʻana o nā paepae i hoʻopili ʻia a me ka interface me nā ʻōnaehana hoʻohui mau.
    • Ua hoʻomaka ʻia kahi papahana e hoʻokō i ka hana o ka mea hoʻokele alahaka pūnaewele if_bridge, e hoʻohana ana i hoʻokahi mutex e laka i ka ʻikepili kūloko, ʻaʻole e ʻae i ka hoʻokō ʻana i ka hana i makemake ʻia ma nā ʻōnaehana me ka nui o nā kaiapuni hale paʻahao a i ʻole nā ​​mīkini virtual i hui pū ʻia i hoʻokahi pūnaewele. I kēia pae, ua hoʻohui ʻia nā hoʻāʻo i ke code e pale ai i nā regressions mai ka wā o ka hana hou ʻana me nā laka. Ke noʻonoʻo ʻia nei ka hiki ke hoʻohana iā ConcurrencyKit e hoʻohālikelike i nā mea hoʻoili ʻikepili (bridge_input(), bridge_output(), bridge_forward(), ...).
    • Hoʻohui ʻia kahi kelepona ʻōnaehana sigfastblock hou e ʻae i kahi kaula e kuhikuhi i kahi poloka o ka hoʻomanaʻo no ka mea lawe hōʻailona wikiwiki e hoʻomaikaʻi i ka hana o nā mea lawelawe ʻokoʻa.
    • Hoʻohui ka kernel i ke kākoʻo no ka LSE (Large System Extension) nā ʻōlelo aʻoaʻo i kākoʻo ʻia e nā ʻōnaehana ARMv8.1. Pono kēia mau kuhikuhi no ka hoʻomaikaʻi ʻana i ka hana i ka wā e holo ai ma nā papa Cavium ThunderX2 a me AWS Graviton 2. ʻO nā hoʻololi i hoʻohui ʻia e ʻike i ke kākoʻo LSE a hoʻoikaika i ka hoʻokō atomic e pili ana iā lākou. I ka wā o ka hoʻāʻo ʻana, hiki i ka hoʻohana ʻana i ka LSE ke hōʻemi i ka manawa o ka kaʻina hana i ka wā e hōʻuluʻulu ai i ka kernel e 15%.
    • Ua hoʻokō ʻia ka loiloi hana a ua hoʻonui ʻia ka hana o ka hāmeʻa no nā faila hiki ke hoʻokō ʻia ma ke ʻano ELF.
      Kākoʻo hoʻohui ʻia no ka hoʻopaʻa ʻana i ka ʻike debugging DWARF, hoʻoponopono i nā pilikia ma nā pono elfcopy/objcopy, hoʻohui DW_AT_ranges processing,
      Hoʻohana ʻo readelf i ka hiki ke wehe i nā hae PROTMAX_DISABLE, STKGAP_DISABLE a me WXNEEDED, a me Xen a me GNU Build-ID.

  • Ka maluhia
    • No ka hoʻomaikaʻi ʻana i ka hana ʻana o FreeBSD i nā kaiapuni ʻo Azure cloud, ke hoʻomaka nei ka hana e hāʻawi i ke kākoʻo no ka mīkini HyperV Socket, e ʻae ai i ka hoʻohana ʻana i kahi kikowaena socket no ka launa pū ʻana ma waena o ka ʻōnaehana malihini a me ka hoʻokipa hoʻokipa me ka ʻole o ka hoʻonohonoho ʻana i kahi pūnaewele.
    • Ke hoʻomaka nei ka hana no ka hoʻolako ʻana i nā hana hou o FreeBSD, e hiki ai ke hōʻoia i ka hōʻuluʻulu ʻana o nā faila hoʻokō o nā ʻāpana ʻōnaehana mai nā kumu kumu i haʻi ʻia a ʻaʻole i loaʻa nā hoʻololi keu.
    • ʻO ka hiki ke hoʻomalu i ka hoʻokomo ʻana o nā mīkini pale hou (ASLR, PROT_MAX, stack gap, W+X mapping) ma ka pae o nā kaʻina hana i hoʻohui ʻia i ka pono elfctl
  • Waihona a me nā ʻōnaehana waihona
    • Ke hoʻomaka nei ka hana no ka hoʻokō ʻana i ka hiki no ka NFS ke hana ma luna o kahi kaila kamaʻilio i hoʻopili ʻia e pili ana i ka TLS 1.3, ma kahi o ka hoʻohana ʻana iā Kerberos (sec=krb5p mode), i kaupalena ʻia i ka hoʻopili ʻana i nā memo RPC wale nō a hoʻokō ʻia i loko o nā lako polokalamu wale nō. Hoʻohana ka hoʻokō hou i ka waihona TLS i hāʻawi ʻia i ka kernel e hiki ai i ka wikiwiki o ka lako. Aneane mākaukau ka NFS ma luna o ka code TLS no ka hoʻāʻo ʻana, akā pono nō ka hana e kākoʻo i nā palapala mea kūʻai aku i hoʻopaʻa ʻia a hoʻololi i ka pahu TLS kernel no ka hoʻouna ʻana i ka ʻikepili NFS (ua mākaukau nā pā no ka loaʻa ʻana).
  • Kākoʻo lako lako
    • Ke hoʻomaka nei ka hana e hoʻohui i ke kākoʻo no Kina x86 CPU Hygon e pili ana i nā ʻenehana AMD;
    • Ma ke ʻano he ʻāpana o CheriBSD, kahi ʻāpana o FreeBSD no ka hoʻolālā hana noiʻi CHERI (Capability Hardware Enhanced RISC Instructions), ke hoʻomau nei ke kākoʻo ʻana i ke kaʻina hana ARM Morello, e kākoʻo ana i ka ʻōnaehana hoʻokele hoʻomanaʻo CHERI e pili ana i ke kumu hoʻohālike palekana papahana Capsicum. Morello chip ke hoʻolālā nei hoʻokuʻu ʻia ma 2021. Ke hoʻomau nei ka hana i ka hoʻohui ʻana i ke kākoʻo no ka Arm Neoverse N1 platform e mana ana iā Morello. Ua hōʻike ʻia kahi awa mua o CheriBSD no ka hoʻolālā RISC-V. Ke hoʻomau nei ka hoʻomohala ʻana o CheriBSD no ka prototype reference CHERI e pili ana i ka hoʻolālā MIPS64.
    • Ke hoʻomau nei ka porting FreeBSD no ka 64-bit SoC NXP LS1046A e pili ana i ke kaʻina hana ARMv8 Cortex-A72 me kahi ʻenekini hoʻokē ʻai packet pūnaewele hoʻohui, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 a me USB 3.0. I kēia manawa, hoʻomākaukau ʻia nā mea hoʻokele QorIQ a me LS1046A, GPIO, QorIQ LS10xx AHCI, VF610 I2C, Epson RX-8803 RTC, QorIQ LS10xx SDHCI no ka hoʻoili ʻana i ka haku mele FreeBSD.
    • Ua hōʻano hou ʻia ka mea hoʻokele ena i ka mana 2.1.1 me ke kākoʻo no ka lua o ka hanauna o ENAv2 (Elastic Network Adapter) nā mea hoʻopili pūnaewele i hoʻohana ʻia i ka ʻōnaehana Elastic Compute Cloud (EC2) e hoʻonohonoho i ke kamaʻilio ma waena o nā node EC2 i ka wikiwiki a hiki i 25 Gb/ s. Ke hoʻomākaukau ʻia nei kahi mea hou i ka ENA 2.2.0.
    • Ke hoʻomau nei ka hoʻomaikaʻi ʻana i ke awa FreeBSD no ke kahua powerpc64. ʻO ka manaʻo nui i ka hāʻawi ʻana i ka hana maikaʻi ma nā ʻōnaehana me nā kaʻina hana IBM POWER8 a me POWER9. I loko o ka manawa hōʻike, ua hoʻololi ʻia ʻo FreeBSD-CURRENT e hoʻohana i ka LLVM/Clang 10.0 compiler a me lld linker ma kahi o GCC. Ma ka maʻamau, hoʻohana nā ʻōnaehana powerpc64 i ka ELFv2 ABI a ua hoʻopau ʻia ke kākoʻo no ka ELFv1 ABI. Loaʻa iā FreeBSD-STABLE ka gcc 4.2.1. Ua hoʻoholo ʻia nā pilikia me nā mea hoʻokele virtio, aacraid a me ixl. Ma nā ʻōnaehana powerpc64 hiki ke holo i ka QEMU me ke kākoʻo ʻole o Huge Pages.
    • Ke hoʻomau nei ka hana i ke kākoʻo no ka hoʻolālā RISC-V. Ma kona ʻano i kēia manawa, ua holo pono ʻo FreeBSD ma ka papa SiFive Hifive Unleashed, kahi i hoʻomākaukau ʻia ai nā mea hoʻokele.
      UART, SPI a me PRCI, kākoʻo iā OpenSBI a me SBI 0.2 firmware. I loko o ka manawa hōʻike, ua kālele ʻia ka hana ma ka neʻe ʻana mai GCC a clang a lld.

  • Nā noi a me nā ʻōnaehana awa
    • Ua ʻoi aku ka hōʻiliʻili awa o FreeBSD i ka paepae o 39 tausani mau awa, ʻoi aku ka nui o nā PR i pani ʻole ʻia ma mua o 2400, ʻaʻole i koho ʻia ka 640 PR. I loko o ka manawa hōʻike, ua hana ʻia nā hoʻololi 8146 mai nā mea hoʻomohala 173. ʻEhā mau hui hou i loaʻa i nā kuleana committer (Loïc Bartoletti, Mikael Urankar, Kyle Evans, Lorenzo Salvadore). Hoʻohui ʻia ka hae USES=qca a wehe ʻia ka hae USES=zope (ma muli o ke kūpono ʻole me Python 3). Ke hoʻomaka nei ka hana no ka wehe ʻana iā Python 2.7 mai ka lāʻau awa - pono e lawe ʻia nā awa a pau o Python 2 i Python 3 a i ʻole e wehe ʻia. Ua hōʻano hou ʻia ka luna pkg package e hoʻokuʻu i ka 1.13.2.
    • Hōʻano hou ʻia nā ʻāpana hoʻopaʻa kiʻi a me nā awa pili xorg.
      Ua hōʻano hou ʻia ke kikowaena X.org i ka mana 1.20.8 (i hoʻouna mua ʻia ma ka lālā 1.18), i ʻae iā FreeBSD e hoʻohana i ka udev/evdev backend no ka lawelawe ʻana i nā mea hoʻokomo. Ua hoʻololi ʻia ka pūʻolo Mesa e hoʻohana i ka hoʻonui DRI3 ma kahi o DRI2 ma ka paʻamau. Ke hoʻomaka nei ka hana no ka mālama ʻana i nā mea hoʻokele kiʻi kiʻi, ka hoʻokomo ʻana i nā mea hoʻokomo, a me nā ʻāpana drm-kmod (kahi awa e hiki ai i ka hana o nā modules amdgpu, i915 a me radeon DRM, me ka hoʻohana ʻana i ka linuxkpi framework no ka hoʻohālikelike ʻana me ka Direct Rendering Manager o ka Linux kernel) ʻikepili hou āpau.

    • Mālama ʻia ka pākaukau KDE Plasma, KDE Frameworks, KDE Applications a me Qt i kēia lā a hōʻano hou ʻia i nā mea hou loa. Ua hoʻohui ʻia kahi noi hou kstars (star atlas) i nā awa.
    • Ua hana ʻia ka hana no ka hoʻopau ʻana i nā hoʻololi regressive i ka luna puka makani xfwm4 i ʻike ʻia ma hope o ka hoʻonui ʻana iā Xfce i ka mana 4.14 (no ka laʻana, ʻike ʻia nā mea kiʻi i ka wā e hoʻonani ai i nā puka makani).
    • Ua hōʻano hou ʻia ke awa waina e hoʻokuʻu i ka waina 5.0 (ua hāʻawi ʻia ʻo 4.0.3 ma mua).
    • E hoʻomaka ana me ka mana 1.14, ua hoʻohui ka mea hōʻuluʻulu ʻōlelo Go i ke kākoʻo kūhelu no ka hoʻolālā ARM64 no FreeBSD 12.0.
    • Ua hōʻano hou ʻia ʻo OpenSSH ma ka ʻōnaehana kumu e hoʻokuʻu i ka 7.9p1.
    • Ua hoʻokō ʻia ka waihona sysctlmibinfo2 a waiho ʻia i loko o nā awa (devel/libsysctlmibinfo2), e hāʻawi ana i kahi API no ke komo ʻana i ka sysctl MIB a me ka unuhi ʻana i nā inoa sysctl i nā mea ʻike mea (OIDs).
    • Ua hana ʻia kahi hoʻolaha hoʻolaha NomadBSD 1.3.1, he paʻi ia o FreeBSD i hoʻololi ʻia no ka hoʻohana ʻana ma ke ʻano he papapihi paʻa hiki ke hoʻopaʻa ʻia mai ka USB drive. Hoʻokumu ʻia ke kaiapuni kiʻi ma luna o kahi luna puka makani Openbox. Hoʻohana ʻia no ke kau ʻana i nā drive DSBMD (kākoʻo ʻia ʻo CD9660, FAT, HFS+, NTFS, Ext2/3/4), e hoʻonohonoho i kahi pūnaewele uea - wifimgr, a e hoʻomalu i ka leo - DSBMixer.
    • Hoʻomaka hana ma ke kākau ʻana i nā palapala piha no ka luna o ka hale paʻahao ipuhao. Hoʻomākaukau ʻia ʻo Pot 0.11.0 no ka hoʻokuʻu ʻana, e komo pū me nā mea hana no ka hoʻokele ʻana i ka waihona pūnaewele.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka