FreeBSD Development Report Q2020 XNUMX

MIVOAKA tatitra momba ny fivoaran'ny tetikasa FreeBSD nanomboka tamin'ny Janoary ka hatramin'ny martsa 2020. Anisan'ny fiovana azontsika manamarika:

  • Olana ankapobeny sy rafitra
    • Nesorina tao amin'ny hazo loharano FreeBSD-CURRENT ny fitambaran'ny GCC, ary koa ny kojakoja gperf, gcov ary gtc (devicetree compiler) tsy ampiasaina. Ny sehatra rehetra tsy manohana an'i Clang dia navadika ho fitaovana fananganana ivelany napetraka avy amin'ny seranana. Ny rafitra fototra dia nandefa famoahana efa lany andro amin'ny GCC 4.2.1, ary ny fampidirana ireo dikan-teny vaovao dia tsy azo natao noho ny fifindrana ny 4.2.2 ho amin'ny fahazoan-dΓ lana GPLv3, izay heverina ho tsy mety amin'ny singa fototra FreeBSD. Ny famoahana ny GCC amin'izao fotoana izao, anisan'izany ny GCC 9, dia mbola azo apetraka amin'ny fonosana sy seranana.
    • Ny fotodrafitrasa emulation tontolo iainana Linux (Linuxulator) dia nanampy fanohanana ny antso an-tariby fandefasana, TCP_CORK mode (takina amin'ny nginx), ary ny saina MAP_32BIT (mamaha ny olana amin'ny fandefasana fonosana miaraka amin'ny Mono avy amin'ny Ubuntu Bionic). Ny olana amin'ny famahana DNS rehefa mampiasa glibc vaovao kokoa noho ny 2.30 (ohatra avy amin'ny CentOS 8) dia voavaha.
      Ny fotodrafitrasa fampidirana mitohy dia manome fahafahana mampandeha asa LTP (Linux Testing Project) mihazakazaka Linuxulator mba hizaha toetra ny fanatsarana natao tamin'ny code hanohanana Linux. Manodidina ny 400 eo ho eo ny fitsapana tsy mahomby ary mitaky fanamboarana (ny lesoka sasany dia vokatry ny fahatsarana diso, ny sasany dia mila fanamboarana tsy dia misy dikany, fa misy ny hafa mila fanampiana fanampiny amin'ny antson'ny rafitra vaovao hamboarina). Nisy ny asa natao mba hanadiovana ny kaody Linuxulator sy hanamora ny debugging. Ny patch miaraka amin'ny fanohanana ireo toetra miitatra sy ny antson'ny rafitra fexecve dia efa nomanina, saingy tsy mbola nodinihina.

    • Fivorian'ny vondrona miasa noforonina mba hanatanterahana ny fifindran'ny kaody loharano avy amin'ny rafitra fanaraha-maso loharano afovoany Mitohy ny fanovana mankany amin'ny rafitra fitsinjaram-pahefana Git. Efa eo am-panomanana ny tatitra misy tolo-kevitra momba ny fifindra-monina.
    • Π’ rtld (fampifandraisan'ny runtime) dia nanatsara ny fomba famonoana mivantana (β€œ/libexec/ld-elf.so.1 {path} {arguments}”).
    • Mitohy mivoatra ny tetik'asa ho an'ny fitsapam-pahaizana manjavozavo ny kernel FreeBSD mampiasa ny rafitra syzkaller. Nandritra ny vanim-potoanan'ny tatitra dia nesorina ny olana ao amin'ny tambazotran'ny tambajotra sy ny kaody amin'ny fiasana amin'ny tabilao mpamaritra rakitra fantatra amin'ny fampiasana syzkaller. Taorian'ny diagnosy ny fahadisoana, dia nampiana ny fanovana ao amin'ny stack SCTP mba hanamora ny debugging. Ny fitsipika dia nampiana ny stress2 napetraka mba hamantarana ny mety ho fiverenana. Fanampiana fanampiny ho an'ny fitiliana fuzz amin'ny antson'ny rafitra vaovao, ao anatin'izany ny copy_file_range(), __realpathat() ary Capsicum subsystem calls. Mitohy ny asa mandrakotra ny sosona emulation Linux miaraka amin'ny fitsapana fuzz. Namakafaka sy nanafoana ireo lesoka voamarika tamin'ny tatitra farany momba ny Coverity Scan izahay.
    • Ny rafitra fampidirana mitohy dia nivadika tamin'ny fanatanterahana ny andrana sampana rehetra amin'ny fampiasana clang/lld fotsiny. Rehefa manao fitiliana ho an'ny RISC-V dia azo antoka ny fananganana sary kapila feno amin'ny fanaovana fitiliana amin'ny QEMU amin'ny fampiasana OpenSBI. Nanampy asa vaovao amin'ny fitiliana sary sy milina virtoaly powerpc64 (FreeBSD-head-powerpc64-images, FreeBSD-head-powerpc64-testvm).
    • Mandeha ny asa hamindrana ny suite test Kyua avy amin'ny seranan-tsambo (devel/kyua) mankany amin'ny rafitra fototra hamahana olana (apetraka miadana be ny fonosana) izay mipoitra rehefa mampiasa Kyua amin'ny maritrano vaovao, ny fampandrosoana izay atao amin'ny fampiasana emulator na FPGA. Ny fampidirana ao amin'ny rafitra fototra dia hanamora be ny fitiliana ny sehatra tafiditra sy ny interface miaraka amin'ny rafitra fampidirana mitohy.
    • Nisy tetikasa natomboka mba hanatsarana ny fahombiazan'ny mpamily tetezana tambajotra if_bridge, izay mampiasa mutex tokana hanidy ny angon-drakitra anatiny, izay tsy mamela ny fanatontosana ny zava-bita irina amin'ny rafitra misy tontolom-ponja marobe na milina virtoaly mitambatra ao anaty tambajotra iray. Amin'ity dingana ity, ny fitsapana dia nampiana ny kaody mba hisorohana ny fiverenana tsy hitranga mandritra ny fanavaozana ny fiasana amin'ny hidin-trano. Ny fahafahana mampiasa ny ConcurrencyKit hampitoviana ireo mpandrindra ny famindrana angon-drakitra (bridge_input(), bridge_output(), bridge_forward(), ...) dia heverina.
    • Nampiana antson'ny rafitra sigfastblock vaovao ahafahan'ny kofehy iray mamaritra sakana fitadidiana ho an'ny mpandefa famantarana haingana mba hanatsarana ny fahombiazan'ny mpitantana manokana.
    • Ny kernel dia manampy fanohanana ny LSE (Large System Extension) toromarika atomika tohanan'ny rafitra ARMv8.1. Ireo torolalana ireo dia takiana mba hanatsarana ny fampandehanana rehefa mihazakazaka amin'ny tabilao Cavium ThunderX2 sy AWS Graviton 2. Ny fanovana fanampiny dia mahita ny fanohanan'ny LSE ary mamela ny fampiharana atomika mifototra amin'izy ireo. Nandritra ny fitsapana, ny fampiasana LSE dia nahafahana nampihena 15% ny fotoana lany tamin'ny fanangonana ny kernel.
    • Natao ny fanatsarana ny fampandehanana ary nitarina ny fampandehanan'ny kitapom-pitaovana ho an'ny rakitra azo tanterahana amin'ny endrika ELF.
      Fanohanana fanampiny ho an'ny fampahalalam-baovao debugging DWARF, namaha olana amin'ny fitaovana elfcopy/objcopy, nanampy ny fanodinana DW_AT_ranges,
      Ny readelf dia mampihatra ny fahafahana mamadika ny saina PROTMAX_DISABLE, STKGAP_DISABLE ary WXNEEDED, ary koa ny Xen sy GNU Build-ID.

  • fiarovana
    • Mba hanatsarana ny fahombiazan'ny FreeBSD amin'ny tontolon'ny rahona Azure, dia mandeha ny asa mba hanomezana fanohanana ny mekanika HyperV Socket, izay mamela ny fampiasana socket interface ho an'ny fifandraisana eo amin'ny rafitra vahiny sy ny tontolo iainana mpampiantrano nefa tsy mametraka tambajotra.
    • Mandeha ny asa hanomezana fananganana azo averina amin'ny FreeBSD, ahafahana miantoka fa ny rakitra azo tanterahana amin'ny singa rafitra dia voaangona avy amin'ny kaody loharano nambara ary tsy misy fiovana hafa.
    • Ny fahafahana mifehy ny fampidirana mekanika fiarovana fanampiny (ASLR, PROT_MAX, hantsana stack, sarintany W + X) amin'ny haavon'ny dingana tsirairay dia nampiana tao amin'ny utility elfctl
  • Rafitra fitahirizana sy rakitra
    • Mandeha ny asa hampiharana ny fahafahan'ny NFS miasa amin'ny fantsom-pifandraisana miafina mifototra amin'ny TLS 1.3, fa tsy mampiasa Kerberos (sec=krb5p mode), izay voafetra amin'ny famandrihana hafatra RPC ihany ary tsy ampiharina afa-tsy amin'ny rindrambaiko. Ny fampiharana vaovao dia mampiasa ny TLS stack nomen'ny kernel mba ahafahana manafaingana ny hardware. Ny kaody NFS amin'ny TLS dia saika vonona amin'ny fitsapana, saingy mbola mitaky asa hanohanana ny mari-pankasitrahana ho an'ny mpanjifa nosoniavina sy hampifanaraka ny kaody TLS kernel handefasana angona NFS (efa vonona ny patch ho fandraisana).
  • Fanohanana fitaovana
    • Mandeha ny asa hanampiana ny fanohanana ny CPU Hygon x86 Shinoa mifototra amin'ny teknolojia AMD;
    • Ao anatin'ny CheriBSD, fork an'ny FreeBSD ho an'ny maritrano mpanamboatra fikarohana CHERI (Capability Hardware Enhanced RISC Instructions), ny fanohanana ny processeur ARM Morello dia mitohy, izay hanohana ny rafitra fanaraha-maso ny fidirana fahatsiarovana CHERI mifototra amin'ny modely fiarovana ny tetikasa Capsicum. Morello chip dia mikasa nivoaka tamin'ny 2021. Ny asa dia mifantoka amin'ny fanampiana ny sehatra Arm Neoverse N1 izay manome hery an'i Morello. Ny seranan-tsambo voalohany an'ny CheriBSD ho an'ny maritrano RISC-V dia naseho. Ny fampandrosoana CheriBSD dia mitohy ho an'ny prototype reference CHERI mifototra amin'ny maritrano MIPS64.
    • Mitohy ny fandefasana FreeBSD ho an'ny SoC NXP LS64A 1046-bit miorina amin'ny processeur ARMv8 Cortex-A72 miaraka amin'ny motera fanafaingana fanodinana fonosana tambajotra, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 ary USB 3.0. Amin'izao fotoana izao, ny mpamily QorIQ sy LS1046A, GPIO, QorIQ LS10xx AHCI, VF610 I2C, Epson RX-8803 RTC, QorIQ LS10xx SDHCI dia voaomana amin'ny fifindrana amin'ny famoronana FreeBSD.
    • Ny mpamily ena dia nohavaozina ho version 2.1.1 miaraka amin'ny fanohanana ny taranaka faharoa amin'ny ENAv2 (Elastic Network Adapter) adaptatera tambajotra ampiasaina amin'ny fotodrafitrasa Elastic Compute Cloud (EC2) mba handaminana ny fifandraisana eo amin'ny EC2 nodes amin'ny hafainganam-pandeha hatramin'ny 25 Gb/ s. Misy ny fanavaozana ny ENA 2.2.0.
    • Mitohy ny fanatsarana ny seranan-tsambo FreeBSD ho an'ny sehatra powerpc64. Ny fifantohana dia amin'ny fanomezana fampisehoana kalitao amin'ny rafitra miaraka amin'ny processeur IBM POWER8 sy POWER9. Nandritra ny vanim-potoanan'ny tatitra, ny FreeBSD-CURRENT dia nafindra hampiasa ny LLVM/Clang 10.0 compiler sy lld linker fa tsy GCC. Amin'ny alΓ lan'ny default, ny rafitra powerpc64 dia mampiasa ny ELFv2 ABI ary ny fanohanana ny ELFv1 ABI dia natsahatra. Ny FreeBSD-STABLE dia mbola manana gcc 4.2.1. Nivaha ny olana amin'ny mpamily virtio, aacraid ary ixl. Amin'ny rafitra powerpc64 dia azo atao ny mampandeha QEMU tsy misy fanohanan'ny Huge Pages.
    • Mitohy ny asa amin'ny fampiharana ny fanohanana ny maritrano RISC-V. Amin'ny endriny ankehitriny, ny FreeBSD dia efa mandeha tsara amin'ny tabilao SiFive Hifive Unleashed, izay efa nomanin'ny mpamily.
      UART, SPI ary PRCI, manohana OpenSBI sy SBI 0.2 firmware. Nandritra ny vanim-potoanan'ny tatitra dia nifantoka tamin'ny fifindra-monina avy amin'ny GCC mankany clang sy lld ny asa.

  • Fampiharana sy rafitra seranan-tsambo
    • Ny fanangonana seranan-tsambo FreeBSD dia niampita ny tokonam-baravarana seranan-tsambo 39 arivo, ny isan'ny PR tsy mihidy dia mihoatra ny 2400, izay tsy mbola voalamina ny PR 640. Nandritra ny fe-potoana nanaovana tatitra dia 8146 ny fanovana natao tamin'ny mpamorona 173. Mpandray anjara vaovao efatra no nahazo ny zon'ny mpamorona (LoΓ―c Bartoletti, Mikael Urankar, Kyle Evans, Lorenzo Salvadore). Nampiana USES=qca flag ary nesorina ny USES=zope flag (noho ny tsy fifanarahana amin'ny Python 3). Mandeha ny asa hanesorana ny Python 2.7 amin'ny hazo ports - ny seranan-tsambo rehetra mifototra amin'ny Python 2 dia tsy maintsy alefa any amin'ny Python 3 na esorina. Ny mpitantana fonosana pkg dia nohavaozina hamoaka 1.13.2.
    • Ireo singa stack sary nohavaozina sy seranan-tsambo mifandraika amin'ny xorg.
      Ny mpizara X.org dia nohavaozina tamin'ny version 1.20.8 (nalefa teo amin'ny sampana 1.18 teo aloha), izay nahafahan'ny FreeBSD nanova ny fampiasana ny backend udev/evdev amin'ny fikarakarana fitaovana fampidirana. Ny fonosana Mesa dia navadika hampiasa ny fanitarana DRI3 fa tsy DRI2 amin'ny alΓ lan'ny default. Mandeha ny asa hitazomana ireo mpamily grafofaonina, stack fitaovana fampidirana, ary singa drm-kmod (seranan-tseranana ahafahan'ny amdgpu, i915 ary radeon DRM modules, mampiasa ny rafitra linuxkpi mba hifanaraka amin'ny Direct Rendering Manager an'ny kernel Linux) manaraka toetr'andro.

    • Ny biraon'ny KDE Plasma, KDE Frameworks, KDE Applications ary Qt dia havaozina sy havaozina amin'ny famoahana farany. Nisy fampiharana vaovao kstars (star atlas) nampiana tao amin'ny seranana.
    • Nisy ny asa natao mba hanafoanana ny fiovana miverimberina ao amin'ny mpitantana ny fikandrana xfwm4 izay niseho taorian'ny fanavaozana ny Xfce amin'ny dikan-teny 4.14 (ohatra, niseho ny artifacts rehefa nanaingo varavarankely).
    • Nohavaozina ny seranan-tsambon'ny divay mba hamoahana ny divay 5.0 (natolotra teo aloha ny 4.0.3).
    • Manomboka amin'ny version 1.14, ny compiler fiteny Go dia nanampy fanohanana ofisialy ho an'ny maritrano ARM64 ho an'ny FreeBSD 12.0.
    • Ny OpenSSH amin'ny rafitra fototra dia nohavaozina hamoaka 7.9p1.
    • Ny tranomboky sysctlmibinfo2 dia nampiharina ary napetraka tao amin'ny seranana (devel/libsysctlmibinfo2), manome API ho an'ny fidirana amin'ny sysctl MIB sy handikana ny anarana sysctl ho famantarana zavatra (OIDs).
    • Nisy fanavaozam-baovao natao NomadBSD 1.3.1, izay edisiona FreeBSD namboarina mba hampiasaina ho desktop azo entina azo baoritra avy amin'ny kapila USB. Ny tontolon'ny sary dia mifototra amin'ny mpitantana varavarankely Openbox. Ampiasaina amin'ny fametrahana fiara DSBMD (mampiakatra CD9660, FAT, HFS+, NTFS, Ext2/3/4 dia tohanana), handrindrana tambajotra tsy misy tariby - wifimgr, ary hifehy ny feo - DSBMixer.
    • Nanomboka asa amin'ny fanoratana antontan-taratasy feno ho an'ny mpitantana ny tontolo iainana fonja vilany. Ny Pot 0.11.0 dia voaomana ho amin'ny famoahana, izay ahitana fitaovana amin'ny fitantanana ny tamba-jotra.

Source: opennet.ru

Add a comment