Ko te Ripoata Whanaketanga FreeBSD mo te hauwha tuatahi o 2020

whakaputaina purongo mo te whanaketanga o te kaupapa FreeBSD mai i Hanuere ki Maehe 2020. I roto i nga huringa ka taea e tatou te kite:

  • Nga take whanui me te punaha
    • I tangohia te huinga whakahiato GCC mai i te rakau puna FreeBSD-CURRENT, me nga taputapu gperf, gcov me te gtc (devicetree compiler) kaore i whakamahia. Ko nga papaaho katoa kaore i te tautoko i a Clang kua hurihia ki te whakamahi i nga taputapu hanga o waho kua whakauruhia mai i nga tauranga. I tukuna e te punaha turanga he tuku tawhito o GCC 4.2.1, a, kaore i taea te whakauru o nga putanga hou na te whakawhiti o te 4.2.2 ki te raihana GPLv3, i whakaarohia he pai mo nga waahanga turanga FreeBSD. Ko nga putanga o naianei o GCC, tae atu ki te GCC 9, ka taea tonu te whakauru mai i nga kete me nga tauranga.
    • Ko te hanganga o te taiao Linux (Linuxulator) kua taapirihia te tautoko mo te waea punaha tuku, aratau TCP_CORK (e hiahiatia ana mo te nginx), me te haki MAP_32BIT (ka whakaoti i te raru ki te whakarewa i nga kete me te Mono mai i te Ubuntu Bionic). Ko nga raruraru me te whakataunga DNS i te wa e whakamahi ana i te glibc hou ake i te 2.30 (hei tauira mai i te CentOS 8) kua whakatauhia.
      Ko te hanganga whakauru tonu e whakarato ana i te kaha ki te whakahaere i nga mahi LTP (Linux Testing Project) e whakahaere ana i te Linuxulator hei whakamatautau i nga whakapainga i mahia ki te waehere hei tautoko i a Linux. Tata ki te 400 nga whakamatautau ka rahua me te whakatika (ko etahi hapa na nga hua pai, ko etahi me whakatikatika iti, engari ko etahi e hiahia ana ki te taapiri tautoko mo nga waea punaha hou hei whakatika). Kua mahia nga mahi ki te horoi i te waehere Linuxulator me te whakangawari i te patuiro. Ko nga papanga me te tautoko mo nga huanga roa me te waea punaha fexecve kua whakaritea, engari kaore ano kia arotakehia.

    • Ko nga huihuinga o te roopu mahi i hangaia hei kawe i te hekenga o nga waehere puna mai i te punaha whakahaere puna matua Ko te hurihanga ki te punaha whakahekehia ka haere tonu a Git. Kei te whakarite tetahi ripoata me nga tono mo te heke.
    • В rtld (kaiwhakahononga wa whakahaere) i pai ake te aratau mahi tika (“/libexec/ld-elf.so.1 {ara} {taupatupatu}”).
    • Kei te whanake tonu te kaupapa mo te whakamau i te kakano FreeBSD ma te whakamahi i te punaha syzkaller. I roto i te wa purongo, kua whakakorehia nga raruraru i roto i te puranga whatunga me te waehere mo te mahi me nga ripanga whakaahua whakaahua i tautuhia ma te whakamahi i te syzkaller. Whai muri i te tātaritanga hapa, kua taapirihia nga huringa ki te puranga SCTP kia ngawari ake te patuiro. Kua taapirihia nga ture ki te huinga ahotea2 hei tautuhi i nga whakahekenga ka taea. He tautoko taapiri mo te whakamatautau fuzz o nga waea punaha hou, tae atu ki te copy_file_range(), __realpathat() me nga waea punaha-roto Capsicum. Kei te haere tonu nga mahi ki te hipoki i te paparanga tauira Linux me te whakamatautau fuzz. I tātarihia, i whakakorehia nga hapa i kitea i roto i nga purongo hou o Coverity Scan.
    • Kua huri te punaha whakauru tonu ki te whakahaere i nga whakamatautau peka upoko katoa ma te whakamahi clang/lld anake. I te wa e whakamatautau ana mo te RISC-V, ka whakatauhia te hanganga o te ahua kōpae katoa mo te whakahaere i nga whakamatautau i QEMU ma te whakamahi i te OpenSBI. Kua taapirihia nga mahi hou mo te whakamatautau whakaahua me nga miihini mariko powerpc64 (FreeBSD-head-powerpc64-images, FreeBSD-head-powerpc64-testvm).
    • Kei te haere tonu te mahi ki te whakawhiti i te huinga whakamatautau Kyua mai i nga tauranga (devel/kyua) ki te punaha turanga ki te whakaoti rapanga (he tino puhoi te whakauru o nga kohinga) ka puta mai i te wa e whakamahi ana a Kyua ki nga hoahoanga hou, ka mahia ma te whakamahi i te emulator ranei. FPGA. Ko te whakaurunga ki roto i te punaha turanga ka tino ngawari te whakamatautau i nga papaapapa whakauru me te atanga me nga punaha whakauru tonu.
    • Kua whakarewahia he kaupapa hei arotau i te mahi a te taraiwa piriti whatunga if_piriti, e whakamahi ana i te mutex kotahi ki te maukati i nga raraunga o roto, e kore e taea te whakatutuki i nga mahi e hiahiatia ana i runga i nga punaha me te maha o nga taiao whare herehere me nga miihini mariko e hono ana ki te whatunga kotahi. I tenei waahanga, kua taapirihia nga whakamatautau ki te waehere kia kore ai e puta nga huringa i te wa o te mahi hou me nga raka. Ko te kaha ki te whakamahi i te ConcurrencyKit ki te whakarara i nga kaikawe whakawhiti raraunga (bridge_input(), bridge_output(), bridge_forward(), ...) kei te whakaarohia.
    • Kua taapirihia he waea punaha sigfastblock hou hei tuku i tetahi miro ki te tohu i tetahi poraka mahara mo te kaikawe tohu tere hei whakapai ake i nga mahi a nga kaikawe motuhake.
    • Ka taapirihia e te kernel te tautoko mo nga tohutohu ngota LSE (Tokonga Pūnaha Nui) e tautokohia ana e nga punaha ARMv8.1. Ko enei tohutohu e hiahiatia ana hei whakapai ake i nga mahi i te wa e rere ana i runga i nga papa Cavium ThunderX2 me AWS Graviton 2. Ko nga huringa taapiri ka kitea te tautoko LSE me te kaha ki te whakauru i te whakatinanatanga ngota i runga i a raatau. I te wa o te whakamatautau, na te whakamahinga o te LSE ka taea te whakaiti i te wa tukatuka i te wa e whakahiato ana i te kernel ma te 15%.
    • Kua whakahaeretia te arotautanga mahi, kua whakawhänuihia te mahinga o te kete taputapu mo nga konae ka taea te whakahaere i te whakatakotoranga ELF.
      He tautoko taapiri mo te keteroki korero patuiro DWARF, i whakaoti rapanga i roto i nga taputapu elfcopy/objcopy, taapiri DW_AT_ranges tukatuka,
      Ka whakamahia e te readelf te kaha ki te wetewete i nga haki PROTMAX_DISABLE, STKGAP_DISABLE me WXNEEDED, me te Xen me te GNU Build-ID.

  • Haumarutanga
    • Hei whakapai ake i te mahi a FreeBSD i roto i nga taiao kapua Azure, kei te haere tonu nga mahi ki te whakarato tautoko mo te tikanga HyperV Socket, e taea ai te whakamahi i te atanga turanga mo te taunekeneke i waenga i te punaha manuhiri me te taiao manaaki me te kore e whakarite i te whatunga.
    • Kei te haere tonu te mahi ki te whakarato i nga hanga tukurua o FreeBSD, kia taea ai te whakarite kia whakahiatohia nga konae whakahaere o nga waahanga punaha mai i nga waehere puna kua whakahuahia, kaore he huringa ke atu.
    • Ko te kaha ki te whakahaere i te whakaurunga o etahi atu tikanga whakamarumaru (ASLR, PROT_MAX, aputa taaputanga, W+X mapping) i te taumata o nga tukanga takitahi kua taapiri atu ki te whaipainga elfctl
  • Rokiroki me nga punaha konae
    • Kei te haere tonu te mahi ki te whakatinana i te kaha o te NFS ki te whakahaere i runga i te hongere korero whakamunatia i runga i te TLS 1.3, hei utu mo te whakamahi i te Kerberos (sec=krb5p mode), he iti nei ki te whakamuna i nga karere RPC anake ka whakatinanahia i roto i te rorohiko anake. Ko te whakatinanatanga hou e whakamahi ana i te puranga TLS i whakaratohia e te kernel kia taea ai te whakatere taputapu. Ko te NFS i runga i te waehere TLS kua tata rite mo te whakamatautau, engari me mahi tonu ki te tautoko i nga tiwhikete a te kiritaki kua hainatia me te urutau i te puranga TLS kernel ki te tuku raraunga NFS (kua reri nga papa mo te whiwhi).
  • Tautoko taputapu
    • Kei te haere tonu nga mahi ki te taapiri tautoko mo te Hainamana x86 CPU Hygon i runga i nga hangarau AMD;
    • Hei waahanga o CheriBSD, he marau o FreeBSD mo te hoahoanga tukatuka rangahau KERI (Nga Tohutohu RISC Whakarei Maamaa Maamaa), ka whakatinanahia te tautoko mo te tukatuka ARM Morello, ka tautoko i te punaha mana uru mahara CHERI i runga i te tauira haumaru kaupapa Capsicum. Morello maramara kei te whakamahere tuku i te 2021. I tenei wa kei te arotahi nga mahi ki te taapiri tautoko mo te papaaapapa Arm Neoverse N1 e kaha ana a Morello. Kua whakaatuhia he tauranga tuatahi o CheriBSD mo te hoahoanga RISC-V. Kei te haere tonu te whanaketanga CheriBSD mo te tauira tohutoro CHERI i runga i te hoahoanga MIPS64.
    • Kei te haere tonu te tauranga FreeBSD mo te 64-bit SoC NXP LS1046A i runga i te ARMv8 Cortex-A72 pūtukatuka me te miihini whakatere tukatuka paatete whatunga, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 me te USB 3.0. I tenei wa, kei te whakarite nga taraiwa QorIQ me LS1046A, GPIO, QorIQ LS10xx AHCI, VF610 I2C, Epson RX-8803 RTC, QorIQ LS10xx SDHCI mo te whakawhiti ki te hanganga FreeBSD matua.
    • Kua whakahoutia te taraiwa ena ki te putanga 2.1.1 me te tautoko mo te reanga tuarua o ENAv2 (Elastic Network Adapter) urutau whatunga e whakamahia ana i roto i te hanganga Elastic Compute Cloud (EC2) hei whakarite i te whakawhitiwhiti korero i waenga i nga pona EC2 i te tere o te 25 Gb/ s. Kei te whakaritea he whakahou ki te ENA 2.2.0.
    • Ko nga whakapainga ki te tauranga FreeBSD mo te papaaho powerpc64 kei te haere tonu. Ko te arotahi ko te whakarato i nga mahi kounga i runga i nga punaha me te IBM POWER8 me te POWER9 tukatuka. I roto i te wa purongo, i whakawhitia a FreeBSD-CURRENT ki te whakamahi i te LLVM/Clang 10.0 compiler me lld linker hei utu mo te GCC. Ma te taunoa, ka whakamahi nga punaha powerpc64 i te ELFv2 ABI me te tautoko mo te ELFv1 ABI kua whakamutua. Kei a FreeBSD-STABLE tonu te gcc 4.2.1. Kua whakatauhia nga raruraru ki nga taraiwa virtio, aacraid me ixl. I runga i nga punaha powerpc64 ka taea te whakahaere i te QEMU me te kore tautoko i nga Wharangi Nui.
    • Kei te haere tonu nga mahi ki te whakatinana tautoko mo te hoahoanga RISC-V. I roto i tona ahua o naianei, kua eke angitu a FreeBSD ki runga i te papa SiFive Hifive Unleashed, kua rite nga kaitaraiwa.
      UART, SPI me PRCI, tautoko OpenSBI me SBI 0.2 mārō. I te wa purongo, i aro te mahi ki te heke mai i te GCC ki te clang me te lld.

  • Nga tono me te punaha tauranga
    • Ko te kohinga tauranga FreeBSD kua whiti i te paepae o te 39 mano tauranga, ko te maha o nga PR kare i kati kua neke ake i te 2400, 640 nga PR kaore ano kia tohua. I roto i te wa purongo, 8146 nga huringa i mahia mai i nga kaihanga 173. Tokowha nga kaiuru hou i whakawhiwhia ki nga mana whakahaere (Loïc Bartoletti, Mikael Urankar, Kyle Evans, Lorenzo Salvadore). Kua taapirihia te haki USES=qca ka tangohia te haki USES=zope (na te kore hototahi ki te Python 3). Kei te haere tonu te mahi ki te tango i te Python 2.7 mai i te rakau tauranga - me kawe nga tauranga Python 2 katoa ki Python 3 ka tangohia ranei. Kua whakahoutia te kaiwhakahaere kete pkg ki te tuku 1.13.2.
    • Kua whakahōuhia ngā wāhanga tāpae whakairoiro me ngā tauranga e pā ana ki te xorg.
      Kua whakahoutia te tūmau X.org ki te putanga 1.20.8 (i tukuna i mua i te peka 1.18), i taea ai e FreeBSD te taunoa ki te whakamahi i te udev/evdev backend mo te whakahaere i nga taputapu whakauru. Kua hurihia te kete Mesa ki te whakamahi i te toronga DRI3 hei utu mo te DRI2 ma te taunoa. Kei te haere tonu te mahi ki te pupuri i nga taraiwa whakairoiro, te puranga taputapu whakauru, me nga waahanga drm-kmod (he tauranga e taea ai te mahi o nga waahanga amdgpu, i915 me te radeon DRM, ma te whakamahi i te anga linuxkpi mo te hototahi ki te Kaiwhakahaere Whakaaturanga Tika o te kernel Linux) mohoa noa nei.

    • Ko te papamahi KDE Plasma, KDE Frameworks, KDE Applications me te Qt e mau tonu ana ki te waa me te whakahou ki nga putanga hou. He tono hou kstars (star atlas) kua taapirihia ki nga tauranga.
    • Kua mahia nga mahi ki te whakakore i nga huringa regressive i roto i te kaiwhakahaere matapihi xfwm4 i puta i muri i te whakahou i te Xfce ki te putanga 4.14 (hei tauira, i puta mai nga taonga i te wa e whakapaipai ana i nga matapihi).
    • Kua whakahoutia te tauranga Wine ki te tuku i te Wine 5.0 (i mua ko 4.0.3 i tukuna).
    • Ka timata mai i te putanga 1.14, ka taapirihia e te kaitoi reo Haere he tautoko mana mo te hoahoanga ARM64 mo FreeBSD 12.0.
    • Ko OpenSSH i runga i te punaha turanga kua whakahoutia ki te tuku 7.9p1.
    • Kua whakatinanahia te whare pukapuka sysctlmibinfo2 me te whakanoho ki roto i nga tauranga (devel/libsysctlmibinfo2), ka whakarato i te API mo te uru ki te sysctl MIB me te whakamaori i nga ingoa sysctl ki nga tohu tohu (OID).
    • Kua hangaia he whakahou tohatoha NomadBSD 1.3.1, he putanga o FreeBSD i urutau hei whakamahi hei papamahi kawe mai i te puku USB. Ko te taiao whakairoiro kei runga i te kaiwhakahaere matapihi Openbox. Whakamahia mo te whakapuru puku DSBMD (ka tautokohia te CD9660, FAT, HFS+, NTFS, Ext2/3/4), hei whirihora i te whatunga ahokore - wifimgr, me te whakahaere i te rōrahi - DSBMixer.
    • I tiimata mahi mo te tuhi tuhinga katoa mo te kaiwhakahaere taiao whare herehere kohua. Ko te Pot 0.11.0 kei te rite mo te tuku, ka uru atu nga taputapu mo te whakahaere i te puranga whatunga.

Source: opennet.ru

Tāpiri i te kōrero