Documentation for a newer release is available. View Latest

Strumenti di sviluppo

GCC 8.1

Fedora 28 include GCC 8.1 come compilatore principale. Consultare http://gcc.gnu.org/gcc-8/changes.html per le modifiche visibili agli utenti nella nuova versione.

Binutils rebased to 2.29.1

La collezione di strumenti binutils è stata aggiornata dalla versione 2.29 alla 2.29.1. Questa release minore non introduce nuove funzionalità, ma include una serie di importanti correzioni di bug. Inoltre, i flag di compilazione predefiniti sono stati modificati per includere -z defs, in modo che i simboli non definiti generino errori. Il vantaggio è che ciò impedisce la distribuzione di oggetti condivisi dinamici (DSO) non correttamente collegati perché fanno riferimento a simboli versionati come semplici simboli non definiti, senza specificare una versione del simbolo.

Aggiornamenti delle flag di protezione (Hardening Flags)

Fedora 28 è stata compilata con flag di protezione (hardening) aggiornati, forniti dalla toolchain GNU. Rispetto ai rilasci precedenti, sono state apportate le seguenti modifiche al modo in cui i programmi vengono compilati:

  • La protezione contro lo "Stack clash" è abilitata.

  • Le asserzioni leggere sono state attivate nella libreria standard di runtime del C++.

  • Su x86-64, i binari sono stati creati in modo tale da supportare la tecnologia Control Flow Enforcement (CET) in futuro.

  • Sui sistemi che supportano le chiavi di protezione della memoria (memory protection keys), il lazy binding utilizza ora una GOT in sola lettura.

  • Per impostazione predefinita, la toolchain genera eseguibili PIE (Position Independent Executables) per rafforzare ulteriormente gli eseguibili di Fedora contro gli attacchi.

Rimozione degli scriptlet di ldconfig

I pacchetti nei repository Fedora includevano chiamate a ldconfig nelle sezioni %%post`e %%postun`del file spec se contenevano librerie condivise. Con Fedora 28, i pacchetti possono utilizzare i file triggers, che consentono un’installazione più rapida dei pacchetti poiché `ldconfig`viene eseguito una sola volta per transazione.

Vedere le note di rilascio ufficiali per ulteriori informazioni su Ruby 2.5.

Maggiori informazioni su questa modifica sono disponibili nella relativa pagina delle modifiche di Fedora.

DebugInfo incluso per impostazione predefinita nei binari MinGW

I binari MinGW contengono i nomi dei simboli per impostazione predefinita per facilitare il `debuginfo`delle applicazioni Windows compilate in modo incrociato (cross-compiled) da Fedora. Le informazioni complete di debug rimangono comunque disponibili nei pacchetti debuginfo.