• GNU Binutils 2.47 gör utvecklarnas verktygslåda snabbare och mer flexibel

    GNU-projektet har släppt Binutils 2.47, en ny version av den viktiga verktygssamling som används för att bygga och analysera program i Linux. Uppdateringen ger bland annat bättre stöd för RISC-V, nya möjligheter vid felsökning och snabbare länkning av stora program.

    GNU-projektet har släppt GNU Binutils 2.47, en ny version av den verktygssamling som används för att bygga, länka och undersöka program på Linux och andra Unixliknande operativsystem.

    Binutils arbetar oftast i bakgrunden och märks därför sällan av vanliga datoranvändare. För programmerare, systemutvecklare och skapare av Linuxdistributioner är verktygen däremot mycket viktiga. De används tillsammans med bland annat kompilatorn GCC, standardbiblioteket glibc och felsökaren GDB.

    Vad är GNU Binutils?

    När en programmerare skriver ett program måste källkoden gå igenom flera steg innan den kan köras av datorn.

    Först översätts programkoden till maskinkod. Därefter måste olika delar av programmet kopplas samman till en färdig körbar fil. Binutils innehåller flera av de verktyg som behövs under denna process.

    Bland de mest kända verktygen finns:

    • as – omvandlar assemblerkod till objektfiler.
    • ld – länkar samman objektfiler och bibliotek till färdiga program.
    • objdump – visar information om innehållet i körbara filer och objektfiler.
    • readelf – granskar ELF-filer, som är det vanligaste formatet för körbara program i Linux.
    • ar – skapar och hanterar statiska programbibliotek.

    De flesta utvecklare använder inte alla dessa kommandon direkt. I stället anropas de automatiskt av kompilatorer och byggsystem.

    Enklare felsökning av program

    Både objdump och readelf har fått det nya alternativet:

    --debug-dir=DIR

    Det gör det möjligt att ange en särskild katalog där verktygen ska leta efter separata filer med felsökningsinformation.

    Felsökningsinformation innehåller exempelvis funktionsnamn, variabelnamn och kopplingar mellan maskinkod och programmets ursprungliga källkod. Informationen är mycket användbar när ett program kraschar eller beter sig fel.

    I många Linuxdistributioner lagras felsökningsinformationen separat från själva programmet. Det gör programfilerna mindre, samtidigt som utvecklare fortfarande kan installera den mer detaljerade informationen när den behövs.

    Med det nya alternativet blir det enklare att undersöka program när felsökningsfilerna ligger på en annan plats än normalt.

    Objdump kan visa globala variabler

    Verktyget objdump har även fått alternativet:

    --map-global-vars

    Det kan användas för att visa var globala variabler finns i en objektfil och vilken typ av information de innehåller.

    En global variabel är en variabel som kan användas av flera delar av ett program. Sådana variabler kan ibland göra program svårare att felsöka, eftersom innehållet kan ändras från många olika platser.

    Den nya funktionen kan därför hjälpa utvecklare att förstå hur ett program använder sitt minne och hur olika variabler är placerade i den färdiga programfilen.

    Objektfiler kan behandlas som ett bibliotek

    Länkaren har fått stöd för alternativen:

    --start-lib

    --end-lib

    De gör det möjligt att behandla en grupp objektfiler ungefär som om de låg i ett statiskt bibliotek.

    Ett statiskt bibliotek är normalt en samling färdigkompilerade objektfiler som har packats ihop i en arkivfil. Med de nya alternativen behöver utvecklaren inte alltid skapa en sådan arkivfil först.

    Det kan förenkla byggprocessen, särskilt i stora projekt där många mindre objektfiler ska kopplas samman.

    Länkaren tar då endast med de objektfiler som verkligen behövs, på ungefär samma sätt som när ett vanligt statiskt bibliotek används.

    Snabbare länkning kan ge större programfiler

    BFD-länkaren stöder nu optimeringsnivån:

    -O 0

    När denna nivå används slutar länkaren att slå samman innehållet i vissa sektioner som innehåller identiska eller liknande data.

    Normalt försöker länkaren minska storleken på det färdiga programmet genom att kombinera exempelvis identiska textsträngar eller annan återkommande information.

    Det arbetet kan dock ta tid, särskilt när mycket stora program ska byggas.

    Genom att använda -O 0 kan länkningen därför gå betydligt snabbare. Nackdelen är att det färdiga programmet kan bli större eftersom information som hade kunnat delas i stället sparas flera gånger.

    Det blir alltså en avvägning mellan byggtid och filstorlek.

    Funktionen kan vara särskilt användbar under utveckling, när ett program kompileras och länkas om många gånger. Inför en slutlig utgåva kan utvecklaren sedan välja en högre optimeringsnivå för att skapa en mindre programfil.

    Förbättrat stöd för RISC-V

    GNU Binutils 2.47 utökar även stödet för processorarkitekturen RISC-V.

    RISC-V är en öppen processorarkitektur. Till skillnad från flera traditionella processorplattformar kan den användas och vidareutvecklas utan att tillverkare behöver betala licensavgifter för själva instruktionsuppsättningen.

    Arkitekturen används bland annat i mikrokontroller, inbyggda system, forskningsprojekt, servrar och experimentella persondatorer.

    Den nya versionen av Binutils innehåller stöd för flera ytterligare RISC-V-utökningar, däribland:

    • zalasr 1.0
    • svrsw60t59b 1.0
    • zvabd 1.0
    • smpmpmt 1.0

    Stöd har också lagts till för flera instruktioner som utför vektoriella punktprodukter.

    Vektorberäkningar gör det möjligt för processorn att bearbeta flera tal samtidigt i stället för ett tal i taget. Det är särskilt användbart inom områden som bildbehandling, artificiell intelligens, vetenskapliga beräkningar och signalbehandling.

    Punktprodukter är en vanlig matematisk operation inom exempelvis maskininlärning. Bättre stöd för sådana instruktioner gör det möjligt för utvecklare att skapa program som mer effektivt utnyttjar moderna RISC-V-processorer.

    Äldre 32-bitars S/390 fasas ut

    Stödet för den 32-bitars IBM S/390-plattformen har nu markerats som föråldrat.

    Det innebär inte nödvändigtvis att stödet försvinner omedelbart, men det är en tydlig signal om att det kan tas bort i en framtida version.

    Den modernare 64-bitarsarkitekturen S/390x påverkas inte. Den fortsätter att stödjas och underhållas.

    S/390 och S/390x används främst i IBM:s stordatorsystem. Att den äldre 32-bitarsversionen fasas ut är därför ett naturligt steg när allt fler system använder 64-bitarsprocessorer och modernare programvara.

    En viktig uppdatering som arbetar i bakgrunden

    GNU Binutils 2.47 innehåller inga funktioner som vanliga datoranvändare kommer att se direkt på skrivbordet. Uppdateringen är ändå betydelsefull.

    Nästan alla program i en Linuxdistribution har vid något tillfälle passerat genom en assembler, länkare eller något annat verktyg från Binutils.

    Förbättringarna kan ge utvecklare snabbare byggprocesser, bättre möjligheter att undersöka programfiler och utökat stöd för nya processorinstruktioner.

    GNU Binutils 2.47 finns tillgänglig som källkod från GNU-projektets servrar. Användare av Linuxdistributioner med löpande uppdateringar kan räkna med att versionen dyker upp i pakethanteraren när distributionernas utvecklare har hunnit testa och paketera den.

    https://lists.gnu.org/archive/html/info-gnu/2026-07/msg00006.html

    Fakta: GNU Binutils 2.47

    • Utvecklare: GNU-projektet
    • ”`
    • Typ av programvara: Verktyg för assemblering, länkning och analys av binära filer
    • Viktiga verktyg: as, ld, objdump, readelf och ar
    • Nyheter: Förbättrad felsökning, nya länkaralternativ och snabbare länkning
    • Processorstöd: Utökat stöd för flera nya RISC-V-instruktioner
    • Utfasning: Stödet för 32-bitars IBM S/390 har markerats som föråldrat
    • Licens: Fri programvara inom GNU-projektet
    • ”`
  • Visor – en modern och grafisk starthanterare för Linux och Windows

    Visor är en ny starthanterare med öppen källkod för moderna UEFI-datorer. Den kan starta Linux, Windows och andra EFI-program genom ett grafiskt och anpassningsbart gränssnitt, samtidigt som den erbjuder stöd för bland annat Unified Kernel Images, Secure Boot och automatisk återställning efter misslyckade uppdateringar.

    När en dator startas behöver den välja vilket operativsystem eller program som ska köras. På datorer med flera operativsystem sker detta vanligtvis genom en så kallad starthanterare. Visor är ett nytt projekt med öppen källkod som vill göra denna del av datorstarten både enklare och mer tilltalande.

    Visor är utvecklat för moderna datorer med UEFI och kan starta Linuxkärnor, Unified Kernel Images, Windows och andra EFI-program. Det fungerar därför även på datorer där Linux och Windows är installerade sida vid sida.

    En enda konfigurationsfil

    Många traditionella starthanterare använder skript, automatiskt genererade inställningsfiler eller en kombination av flera olika konfigurationsfiler.

    Visor försöker i stället hålla det enkelt. Inställningarna lagras i en enda fil med namnet boot.conf, placerad på datorns EFI-systempartition.

    EFI-systempartitionen är en liten, FAT-formaterad partition som används av datorns fasta programvara för att hitta de program som behövs under uppstarten.

    Genom att samla konfigurationen i en enda fil blir det lättare för användaren att förstå vilka startalternativ som finns och hur de är inställda.

    Ett grafiskt gränssnitt redan vid uppstart

    När Visor startar visas en grafisk meny med hjälp av UEFI:s Graphics Output Protocol. Det innebär att gränssnittet visas innan något vanligt operativsystem har hunnit starta.

    Visor använder så kallad dubbelbuffring för att minska flimmer när skärmen uppdateras. Tekniken innebär förenklat att nästa bild först ritas i ett dolt minne och därefter visas i sin helhet. Resultatet blir jämnare animationer när användaren växlar mellan olika operativsystem och startalternativ.

    Utseendet kan anpassas på många sätt. Användaren kan bland annat ändra:

    • bakgrund
    • färger
    • ikonstorlekar
    • avstånd mellan menyalternativ
    • rubriker
    • markeringseffekter
    • placering av knappar för avstängning och omstart
    • placering av knappen för UEFI-inställningarna

    Det går även att använda separata temafiler. På så sätt kan hela utseendet bytas utan att den huvudsakliga startkonfigurationen behöver ändras.

    Styrning med mus och pekskärm

    De flesta starthanterare navigeras med tangentbordet, men Visor kan även använda andra inmatningsenheter.

    Om datorns UEFI-firmware tillhandahåller ett kompatibelt pekdon kan användaren välja startalternativ med exempelvis:

    • mus
    • styrplatta
    • pekskärm

    Detta kan vara särskilt användbart på surfplattor, bärbara datorer och andra system där tangentbordet inte alltid är lättillgängligt.

    Om det grafiska läget inte fungerar finns även en textbaserad meny som reservlösning.

    Stöd för moderna Linuxinstallationer

    Visor kan starta Linux genom så kallade EFI stub-kärnor. Det innebär att Linuxkärnan kan fungera som ett vanligt EFI-program och startas direkt av UEFI-miljön.

    Starthanteraren har också stöd för Unified Kernel Images, ofta förkortat UKI. En UKI samlar flera delar som normalt ligger i separata filer:

    • Linuxkärnan
    • initramfs
    • kommandoradsalternativ
    • ibland ytterligare information om systemet

    Allt paketeras i en enda EFI-fil.

    Projektet rekommenderar att sådana filer placeras direkt på EFI-systempartitionen. Det ger en relativt enkel och portabel lösning eftersom UEFI redan kan läsa den FAT-formaterade partitionen.

    Traditionella Linuxkärnor fungerar också

    Visor kan även användas med traditionella installationer där Linuxkärnan och initramfs ligger i separata filer, exempelvis vmlinuz och initramfs.

    Det uppstår dock ett problem om filerna ligger på ett Linuxfilsystem som ext4 eller Btrfs. UEFI kan normalt inte läsa dessa filsystem på egen hand.

    För att lösa detta kan Visor ladda särskilda EFI-drivrutiner som ger stöd för ytterligare filsystem. Projektet levererar inte sådana drivrutiner, men kompatibla .efi-filer kan placeras i Visors katalog för drivrutiner.

    Linux och Windows på samma dator

    Visor kan kedjestarta andra EFI-program. Detta kallas ofta för chainloading och innebär att starthanteraren lämnar över kontrollen till ett annat startprogram.

    På en Windowsinstallation kan Visor exempelvis starta Microsoft Windows Boot Manager. Därmed är Visor användbart på datorer med så kallad dual boot, där användaren väljer mellan Linux och Windows vid uppstart.

    Det går även att starta andra EFI-program, exempelvis diagnostikverktyg, återställningsmiljöer eller alternativa starthanterare.

    Kan skapa startmenyn automatiskt

    Om filen boot.conf saknas försöker Visor automatiskt hitta vanliga startprogram för Linux och Windows.

    Utifrån de filer som hittas kan programmet bygga upp en fungerande startmeny. Detta kan göra den första installationen enklare för användare som inte vill skriva konfigurationen manuellt.

    Den som vill ha fullständig kontroll kan i stället definiera varje startalternativ själv i boot.conf.

    Anpassat för Silverblue, Kinoite och CoreOS

    Visor förstår även startposter som följer Boot Loader Specification. Denna standard används bland annat av system som bygger på OSTree eller avbildningsbaserade uppdateringar.

    Det gäller exempelvis:

    • Fedora Silverblue
    • Fedora Kinoite
    • Fedora CoreOS
    • system baserade på bootc

    Sådana system kan ha flera installerade versioner eller så kallade driftsättningar samtidigt. Visor kan gruppera dessa under en gemensam ikon för operativsystemet.

    Användaren kan därefter välja mellan den aktuella versionen, en tidigare version eller en återställningsversion direkt från startmenyn.

    Automatisk återställning efter en misslyckad uppdatering

    På system som använder boot counting kan Visor hålla reda på hur många gånger en ny systemversion får försöka starta.

    Inför varje start minskas räknaren med ett steg. Om systemet inte lyckas starta inom det tillåtna antalet försök kan Visor automatiskt återgå till en tidigare fungerande version.

    Detta är särskilt användbart på system som uppdateras automatiskt. En felaktig kärna eller systemavbildning behöver då inte göra datorn helt obrukbar.

    Stöd för Secure Boot

    Visor har även stöd för Secure Boot när det startas genom shim.

    Shim är ett litet EFI-program som ofta används av Linuxdistributioner för att skapa en betrodd kedja mellan datorns UEFI-firmware och Linuxsystemets övriga startkomponenter.

    Genom shims verifieringsprotokoll kan Visor kontrollera signaturen på bland annat:

    • Linuxkärnor
    • Unified Kernel Images
    • Windows Boot Manager
    • andra EFI-program i PE-format

    Om Secure Boot är aktiverat och verifieringen misslyckas vägrar Visor att starta filen.

    För ett helt Secure Boot-kompatibelt system måste även Visor och eventuella externa filsystemsdrivrutiner vara korrekt signerade eller startas genom en annan betrodd kedja.

    Loggar hjälper vid felsökning

    Problem under datorns tidiga uppstart kan vara svåra att felsöka eftersom det vanliga operativsystemet ännu inte har startat.

    Visor skriver därför en loggfil med namnet boot.log till EFI-systempartitionen. Loggen sparar information från de tre senaste uppstarterna.

    Den kan bland annat innehålla information om:

    • tolkning av konfigurationsfiler
    • laddning av EFI-program
    • avkodning av PNG-bilder
    • initiering av drivrutiner
    • fel när kontrollen lämnas över till nästa program

    Det kan göra det betydligt lättare att förstå varför en kärna, ett tema eller ett startalternativ inte fungerar.

    Installation och administration

    Installationen sköts med ett skript som kompilerar Visor och kopierar de nödvändiga filerna till EFI-systempartitionen.

    Installationsprogrammet kan även skapa en startpost i datorns UEFI-inställningar med hjälp av verktyget efibootmgr.

    På Linuxsystemet installeras dessutom kommandot visor, som kan användas för att:

    • bygga programmet
    • installera det
    • uppdatera det
    • signera filer
    • kontrollera konfigurationen
    • visa aktuell status
    • avinstallera starthanteraren

    För att kompilera Visor från källkod krävs bland annat GNU-EFI:s utvecklingsfiler, GCC och binutils.

    Fortfarande ett projekt för moderna x86-datorer

    Visor riktar sig för närvarande till datorer med x86-64-processor och UEFI. Det är alltså främst avsett för moderna stationära och bärbara datorer.

    Projektet distribueras under BSD 2-Clause-licensen. Det är en tillåtande licens som ger användare och utvecklare stor frihet att använda, ändra och distribuera koden.

    Ett intressant alternativ till traditionella starthanterare

    Visor försöker kombinera ett modernt grafiskt gränssnitt med en relativt enkel konfiguration. Samtidigt finns avancerade funktioner för Secure Boot, automatiska återställningar, UKI-filer och avbildningsbaserade Linuxdistributioner.

    För vanliga användare kan den grafiska menyn och den automatiska identifieringen av operativsystem vara de mest märkbara förbättringarna. För systemadministratörer och Linuxentusiaster är stödet för signerade EFI-filer, boot counting och separata filsystemsdrivrutiner sannolikt mer intressant.

    Visor befinner sig i ett område där tillförlitlighet är mycket viktigt. Ett fel i en vanlig applikation kan ofta lösas genom att programmet startas om, men ett fel i starthanteraren kan innebära att hela datorn vägrar starta.

    Trots detta visar projektet hur även datorns allra tidigaste uppstartsfas kan göras mer lättanvänd, flexibel och visuellt tilltalande.

    > Teknisk fakta: Visor Boot Manager

    Programtyp UEFI-starthanterare
    Plattform x86-64-system med UEFI
    Operativsystem Linux, Windows och andra EFI-program
    Konfigurationsfil boot.conf
    Konfigurationens plats EFI-systempartitionen
    Grafiskt gränssnitt UEFI Graphics Output Protocol
    Navigering Tangentbord, mus, styrplatta och pekskärm
    Linuxstöd EFI stub-kärnor, UKI, vmlinuz och initramfs
    Filsystem FAT samt andra filsystem genom externa EFI-drivrutiner
    Dual boot Ja, inklusive Microsoft Windows Boot Manager
    Automatisk identifiering Söker efter vanliga Linux- och Windows-startprogram
    Boot Loader Specification Stöds, inklusive OSTree- och bootc-baserade system
    Boot counting Automatisk återgång efter misslyckade startförsök
    Secure Boot Stöds genom shim och signaturverifiering
    Loggfil boot.log
    Kompilator och verktyg GCC, binutils och GNU-EFI
    Licens BSD 2-Clause

    root@visor:~$ redo att starta systemet_

  • Linux From Scratch 13.0 släppt – bygg ditt eget Linux från grunden

    Linux From Scratch har släppt version 13.0 av sin välkända guide för att bygga ett komplett Linux-system från källkod. Den nya utgåvan innebär flera viktiga förändringar, bland annat att projektet nu helt överger SysVinit och enbart erbjuder en systemd-baserad version, samtidigt som ett stort antal centrala komponenter har uppdaterats.

    Linuxvärlden domineras i dag av färdiga distributioner som Ubuntu, Fedora och Debian. Men det finns också ett projekt som tar ett helt annat grepp: Linux From Scratch (LFS). I stället för att installera ett färdigt system får användaren här instruktioner för att själv bygga upp hela operativsystemet från grunden.

    LFS är egentligen inte en distribution utan en bok och ett projekt som steg för steg visar hur man laddar ner, kompilerar och installerar alla delar som behövs för ett fungerande Linux-system. Resultatet blir ett minimalt men fullt fungerande system där användaren själv har kontroll över varje komponent.

    Nu endast systemd

    En av de största förändringarna i LFS 13.0 är att projektet nu helt överger den klassiska init-lösningen SysVinit. Tidigare versioner av guiden fanns i två varianter: en med SysVinit och en med systemd.

    I den nya versionen finns endast systemd-utgåvan kvar.

    Beslutet motiveras främst av underhållsskäl. Allt fler moderna program förutsätter systemd eller använder funktioner som är tätt integrerade med systemet. Genom att fokusera på en enda init-lösning hoppas utvecklarna kunna hålla dokumentationen enklare och mer aktuell.

    Uppdaterade kärnkomponenter

    LFS 13.0 innehåller också flera uppdateringar av centrala systemkomponenter. Bland de viktigaste finns:

    • binutils 2.46
    • glibc 2.42
    • Linux-kärnan 6.18.10 LTS

    Totalt har 36 paket uppdaterats jämfört med föregående stabila version. Det innebär att instruktionerna i boken nu speglar en modern Linux-miljö och gör det möjligt att bygga ett system baserat på aktuella verktyg och bibliotek.

    Över 100 ändringar i boken

    Sedan den senaste stabila utgåvan har utvecklarna gjort över 100 ändringar i LFS-boken. En stor del av arbetet har handlat om säkerhetsuppdateringar.

    Bland de program som fått säkerhetsrelaterade uppdateringar finns:

    • glibc
    • coreutils
    • expat
    • Perl
    • Python
    • systemd
    • xz
    • Vim

    Det gör att den nya versionen inte bara är modernare utan också bättre rustad ur säkerhetssynpunkt.

    Beyond Linux From Scratch kompletterar systemet

    Samtidigt som LFS 13.0 släpptes publicerades även Beyond Linux From Scratch (BLFS) 13.0. Medan LFS beskriver hur man bygger ett grundläggande Linux-system, går BLFS betydligt längre.

    BLFS innehåller instruktioner för hur man installerar hundratals extra program och bibliotek, bland annat skrivbordsmiljöer som GNOME, KDE Plasma, XFCE och LXQt, samt vanliga program som webbläsare, e-postklienter och kontorsprogram.

    Tillsammans gör LFS och BLFS det möjligt att steg för steg bygga upp ett komplett Linux-system – från kärnan till ett fullt grafiskt skrivbord.

    Ett projekt för den nyfikne

    Linux From Scratch är inte tänkt för nybörjare som bara vill installera ett operativsystem snabbt. I stället riktar det sig till entusiaster, utvecklare och studenter som vill förstå hur Linux verkligen fungerar bakom kulisserna.

    Genom att själv kompilera varje komponent – från kompilatorn till systembiblioteken – får man en unik inblick i hur ett modernt operativsystem byggs upp.

    För många fungerar LFS därför både som ett utbildningsprojekt och en experimentplattform där man kan lära sig mer om Linux än vad en vanlig distribution normalt visar.

    https://linuxfromscratch.org/blfs/view/13.0-systemd

    Fakta: Linux From Scratch 13.0

    Typ: Bok och projekt för att bygga Linux från källkod

    Ny version: LFS 13.0

    Init-system: Endast systemd

    Tidigare stöd: SysVinit har tagits bort

    Viktiga komponenter: binutils 2.46, glibc 2.42, Linux 6.18.10 LTS

    Antal uppdaterade paket: 36

    Komplettering: BLFS 13.0 ger stöd för bland annat GNOME, KDE Plasma, XFCE och LXQt

  • GNU Binutils 2.45 – Stort lyft för RISC-V och nya funktioner för flera arkitekturer

    GNU-projektet har släppt version 2.45 av GNU Binutils, en samling viktiga kommandoradsverktyg för lågnivåprogrammering. Binutils används för att skapa, analysera och manipulera objektfiler (mellanformatet som kompilatorer producerar innan det blir körbara program), bibliotek och färdiga exekverbara filer.

    Tillsammans med GCC (GNU Compiler Collection – GNU:s samling av kompilatorer), glibc (GNU C Library – standardbibliotek för C-språket) och GDB (GNU Debugger – felsökningsverktyg) utgör Binutils kärnan i den öppna GNU-verktygskedjan som driver stora delar av Linux-världen.

    Den nya versionen innehåller både grundläggande förbättringar och omfattande stöd för nya processorinstruktioner i arkitekturer som RISC-V, Arm v9.6, LoongArch och x86.

    Mer pålitliga stackspårningar med SFrame

    En av de mest tekniskt betydelsefulla nyheterna är förbättringarna i SFrame, ett format för att lagra komprimerad information om funktionsanrop och returadresser.

    När ett program kraschar eller behöver analyseras kan utvecklare använda stack traces (anropsstackar) för att se exakt var i koden något gick fel. Med SFrame i version 2 blir denna information mer kompakt och samtidigt mer exakt, vilket särskilt gynnar verktyg som körs utanför själva processen (till exempel felsökningsverktyg som analyserar kärndumpar).

    I och med version 2.45:

    • GAS (GNU Assembler – översättare från assemblerkod till maskinkod) genererar nu SFrame-sektioner med SHT_GNU_SFRAME-typen och flaggan SFRAME_F_FDE_FUNC_START_PCREL som standard.
    • IBM\:s s390x-plattform (64-bitars version av stordatorarkitekturen System/390) får för första gången möjlighet att generera SFrame direkt från CFI-direktiv (Call Frame Information – metadata som beskriver hur stackramar byggs upp och återställs).

    Nya verktyg direkt i assemblerkoden

    Utvecklare får även två nya direktiv:

    • .errif – kastar ett felmeddelande vid ett visst villkor.
    • .warnif – ger en varning vid ett visst villkor.

    Villkoren utvärderas först när filen är helt assemblerad, vilket gör det möjligt att samla in mer kontext innan felmeddelandet visas. Detta är användbart i stora kodbaser eller firmwareprojekt.

    RISC-V tar flera steg framåt

    RISC-V är en öppen processorinstruktionsuppsättning (ISA – Instruction Set Architecture) som kan användas royaltyfritt av tillverkare. Den växer snabbt i betydelse, och Binutils 2.45 bygger ut stödet rejält:

    • Stöd för Privileged Specification v1.13 – den del av RISC-V-specifikationen som reglerar hur operativsystem och hårdvara kommunicerar på låg nivå.
    • Tre nya profiler (20, 22 och 23) som definierar färdiga kombinationer av instruktionstillägg.
    • Nytt direktiv .bfloat16 – hantering av 16-bitars flyttal i formatet Brain Floating Point, populärt i maskininlärning.
    • Stöd för en lång lista av standardtillägg som exempelvis:
    • sha – hårdvaruacceleration för SHA-kryptografi.
    • zce – komprimerade instruktioner för inbyggda system.
    • smrnmi – säker maskinvaruhantering av icke-maskerbara avbrott.
    • Stöd för leverantörsspecifika tillägg, bland annat från:
    • T-Head (Alibaba Groups processordivision): xtheadvdot – specialinstruktioner för vektorberäkningar.
    • MIPS: instruktioner som förbättrar minnesoperationer och kontrollflöde.

    En viktig förändring är också att $x-mappningssymboler nu ersätts med \$x för att bättre ange vilken ISA de tillhör. Detta kan kräva att viss äldre RISC-V-kod byggs om.

    Arm v9.6 – försprång till framtida CPU-funktioner

    För Arm tillkommer flaggan -march=armv9.6-a i assemblern. Den aktiverar redan nu stöd för kommande instruktioner som väntas i kommersiella processorer från slutet av 2025 och framåt.

    Några exempel:

    • +sme2p2 – nästa generation av Scalable Matrix Extension, för maskininlärning och vektorberäkningar.
    • +ssve-aes – effektivare AES-kryptering med Scalable Vector Extension (SVE).
    • +f8f32mm – snabbare matrismultiplikation med 8-bitars och 32-bitars flyttal.

    x86 och LoongArch – små men viktiga uppdateringar

    x86-sidan:

    • Stöd för Zhaoxin PadLock XMODX – en uppsättning kryptografiska instruktioner i vissa kinesiska x86-processorer.
    • Borttagning av stöd för 256-bitars varianten av AVX10.2-avrundningsinstruktioner – eftersom alla berörda CPU\:er redan stöder 512-bitarsvarianten.

    För LoongArch (en kinesisk processorarkitektur):

    • Nya alias för vissa 32-bitars instruktionsvarianter.
    • Förbättrade varningar när .align-direktiv eller matematiska uttryck riskerar att ge fel (till exempel negativa skiftningar eller division med noll).

    Slutsats

    GNU Binutils 2.45 är en ovanligt stor uppdatering – särskilt för dem som utvecklar kod nära hårdvaran. Den stärker debugmöjligheterna, inför nya verktyg i själva assemblern och ger utvecklare tillgång till nästa generations processorfunktioner redan idag.

    För RISC-V betyder det här ett bredare och mer komplett verktygsstöd, för Arm öppnar det dörren till framtida vektor- och krypteringsförbättringar, och för både x86 och LoongArch handlar det om små men värdefulla optimeringar

    https://www.gnu.org/software/binutils

    GNU Binutils 2.45 — Tekniska begrepp & förkortningar
    Binutils
    Samling lågnivåverktyg (bl.a. as, ld, objdump, readelf) för objektfiler, bibliotek och länkningssteg.
    GAS
    GNU Assembler – översätter assembler till maskinkod/ELF; i 2.45 genererar GAS SFrame V2 per default.
    ELF
    Executable and Linkable Format – standard för binärformat på Unix-lika system; sektioner, symboltabeller, relokerings-poster m.m.
    SFrame (V2)
    Kompakt stack-unwindformat för out-of-process stacktracing; lagrar återställningsregler per funktion utan full DWARF-overhead.
    SHT_GNU_SFRAME
    ELF-sektionstyp som identifierar SFrame-data; gör att verktyg kan hitta och tolka SFrame deterministiskt.
    SFRAME_F_FDE_FUNC_START_PCREL
    Header-flagga som anger att funktionsstart i FDE (Frame Description Entry) är PC-relativ – robustare symbolik/relokering.
    CFI
    Call Frame Information – metadata (ofta via .cfi_*) som beskriver stackramar; kan nu syntetiseras till SFrame på s390x.
    s390x
    64-bitars IBM Z/System z-ISA; Binutils 2.45 kan generera SFrame direkt från CFI för bättre felsökning på mainframe.
    .errif / .warnif
    GAS-direktiv som utvärderar villkor vid filslut och emitterar fel/varning; bra för policy-kontroller i firmware/SDK-träd.
    AArch64 sysregs
    Systemregister i 64-bitars Arm; 2.45 kan assemblera samtliga utan extra spärrar (-menable-sysreg-checking av).
    RISC-V ISA
    Öppen instruktionsuppsättning; 2.45 stödjer Privileged Spec v1.13, profiler 20/22/23, och ett brett spektrum av extensions.
    Privileged v1.13
    Spec för trap/CSR/virt mm. (OS-nivå); uppdaterade regler för maskin-/supervisor-lägen och delegationsvägar.
    Profiler 20/22/23
    Kuraterade paket av extension-kombinationer för definierade “capability tiers”; förenklar toolchain-målsättning.
    .bfloat16
    Assemblerliteral för Brain Float 16 (8-bit exponent, 7-bit mantissa+sign); nyttjas i ML-kernels på RVV/SME-lika enheter.
    $x → $x<isa>
    RISC-V-mappingsymbol byter semantik: explicit ISA-tagg per kodö i stället för implicit ärvning; kan kräva ombyggnad.
    Standard-ext.
    sha (SHA-accel), zce (compressed embedded), ssqosid/ssnpm/smnpm/smmpm/sspm/supm (privilege mgmt/QoS), ssccfg, svvptc (virt/ptc), zilsd/zclsd (load/store dags), smrnmi (RM-NMI) m.fl.
    Vendor-ext.
    T-Head: xtheadvdot (vektordot-ops). MIPS: xmipscbop, xmipscmov, xmipsexectl, xmipslsp (kontroll/mem-primitiver).
    Armv9.6-A
    -march=armv9.6-a aktiverar bl.a. +sme2p2 (SME v2p2), +ssve-aes (SVE-optimerad AES), +f8f16mm/+f8f32mm (FP8-matrismul), +sve2p2, m.fl. för pre-silicon-validering.
    SVE/SME
    Scalable Vector Extension / Scalable Matrix Extension – vektor- och matrisaccel med vektorlängds-agnostisk semantik.
    x86 XMODX
    Zhaoxin PadLock XMODX – nya kryptoinstruktioner. Samtidigt tas 256-bitars AVX10.2-rounding path bort (512-bit antas).
    AVX10.2
    Advanced Vector Extensions 10.2 – uniform ISA över 128–512b; 2.45 slopar en äldre 256b-avrundningskodväg.
    LoongArch
    Kinesisk RISC-ISA; 2.45 lägger till LA32R-alias (rdcntvl.w, rdcntvh.w, rdcntid.w) och striktare uttrycksdiagnostik.
    .align (3:e arg)
    Max bytes att hoppa; 2.45 varnar på out-of-range. Extra kontroller för negativa shifts och /% med noll.
    Tips: Aktivera SFrame-emission i byggkedjan och validera med readelf --sections och objdump --sframe där stöds.

    Källa :

    https://linuxiac.com/gnu-binutils-2-45-expands-risc-v-support

  • IPFire får stöd för post-kvantkryptografi i nya uppdateringen

    Lede fi lyssnar, kryptera mera.

    Den öppna och säkra Linux-baserade brandväggsdistributionen IPFire har nu släppt en ny uppdatering som tar ett stort kliv framåt inom cybersäkerhet. Den senaste versionen, Core Update 193, introducerar nämligen stöd för post-kvantkryptografi i IPsec-tunnlar – en metod som skyddar trafiken även mot framtida hot från kvantdatorer.

    Det nya skyddet bygger på ML-KEM (Module-Lattice-Based Key Encapsulation Mechanism) och är aktiverat som standard för alla nya IPsec-tunnlar som använder moderna algoritmer som Curve25519, Curve448, andra NIST-godkända elliptiska kurvor samt RSA-3072 och RSA-4096.

    Uppdateringen justerar även standardinställningarna för kryptering. AES-256 används nu i första hand, i både GCM- och CBC-läge, samt ChaCha20-Poly1305. Samtidigt tas AES-128 bort från standardlistan, då det anses erbjuda för svagt skydd jämfört med modernare alternativ.

    Andra nyheter i IPFire 2.29 Core Update 193 inkluderar:

    • Uppdaterad verktygskedja med GNU C Library 2.41 och GNU Binutils 2.44
    • Förbättrad hårdvarustöd genom ny firmware och mikrokod
    • DNS-over-TLS aktiverat som standardtjänst
    • Förbättrad användarupplevelse i gränssnittet för brandväggsgrupper
    • Åtgärdat fel med IPsec-certifikat som inte kunde förnyas
    • Borttagning av den föråldrade botnät-blocklistan från abuse.ch
    • Uppdateringar av flera komponenter och tillägg

    Den nya versionen finns nu tillgänglig för nedladdning som ISO- eller USB-avbildning via IPFires officiella webbplats. Där kan du även läsa hela listan över ändringar.


    Nerladdningar : https://www.ipfire.org/downloads/ipfire-2.29-core193

    https://9to5linux.com/ipfire-linux-firewall-gets-post-quantum-cryptography-support-for-ipsec-tunnels

Etikett: Binutils

  • GNU Binutils 2.47 gör utvecklarnas verktygslåda snabbare och mer flexibel

    GNU-projektet har släppt Binutils 2.47, en ny version av den viktiga verktygssamling som används för att bygga och analysera program i Linux. Uppdateringen ger bland annat bättre stöd för RISC-V, nya möjligheter vid felsökning och snabbare länkning av stora program. GNU-projektet har släppt GNU Binutils 2.47, en ny version av den verktygssamling som används för…

  • Visor – en modern och grafisk starthanterare för Linux och Windows

    Visor är en ny starthanterare med öppen källkod för moderna UEFI-datorer. Den kan starta Linux, Windows och andra EFI-program genom ett grafiskt och anpassningsbart gränssnitt, samtidigt som den erbjuder stöd för bland annat Unified Kernel Images, Secure Boot och automatisk återställning efter misslyckade uppdateringar. När en dator startas behöver den välja vilket operativsystem eller program…

  • Linux From Scratch 13.0 släppt – bygg ditt eget Linux från grunden

    Linux From Scratch har släppt version 13.0 av sin välkända guide för att bygga ett komplett Linux-system från källkod. Den nya utgåvan innebär flera viktiga förändringar, bland annat att projektet nu helt överger SysVinit och enbart erbjuder en systemd-baserad version, samtidigt som ett stort antal centrala komponenter har uppdaterats. Linuxvärlden domineras i dag av färdiga…

  • GNU Binutils 2.45 – Stort lyft för RISC-V och nya funktioner för flera arkitekturer

    GNU-projektet har släppt version 2.45 av GNU Binutils, en samling viktiga kommandoradsverktyg för lågnivåprogrammering. Binutils används för att skapa, analysera och manipulera objektfiler (mellanformatet som kompilatorer producerar innan det blir körbara program), bibliotek och färdiga exekverbara filer. Tillsammans med GCC (GNU Compiler Collection – GNU:s samling av kompilatorer), glibc (GNU C Library – standardbibliotek för…

  • IPFire får stöd för post-kvantkryptografi i nya uppdateringen

    Den öppna och säkra Linux-baserade brandväggsdistributionen IPFire har nu släppt en ny uppdatering som tar ett stort kliv framåt inom cybersäkerhet. Den senaste versionen, Core Update 193, introducerar nämligen stöd för post-kvantkryptografi i IPsec-tunnlar – en metod som skyddar trafiken även mot framtida hot från kvantdatorer. Det nya skyddet bygger på ML-KEM (Module-Lattice-Based Key Encapsulation…