glibc-audit è una versione modificata di glibc per sviluppatori di applicazioni che controllano il loro codice con un accesso controllo automatico della memoria, come valgrind, assicurare o Purify.
glibc-audit è stato valutato e ripulito in modo che le relazioni utilizzo dello sviluppatore di un accesso alla memoria checker hanno maggiori probabilità di essere interessante per lo sviluppatore, con meno "rumore" dalla libreria C sé. In genere, glibc-audit inizializza tutte le sue variabili locali e le strutture prima dell'uso. Glibc ordinaria utilizza variabili non inizializzate fittizie che sono "-non-cura" per la sua logica, ma segnalati dal controllo di accesso alla memoria.
Inoltre, il protocollo r_debug.r_brk è stato migliorato per collaborare con un revisore dei conti co-residente. Se il controllore definisca .r_brk, quindi il caricatore runtime chiamerà il revisore direttamente ogni volta che si verifica un evento libreria condivisa.
Questo è molto più conveniente che usare i punti di interruzione. Per impostazione predefinita, il vecchio protocollo breakpoint funziona esattamente come prima. Il nuovo protocollo è binario compatibile con il vecchio su macchine in cui un puntatore a una funzione è la stessa dimensione di un normale puntatore. Piattaforme dove un puntatore a una funzione è più grande (come HP-PA RISC, il processore Alpha o PowerPC) non sono binario compatibile, e dovranno incrementare r_debug.r_version. Clienti exising (come gdb) vedranno anche un tipo di errore di mancata corrispondenza ignorabile quando vengono costruiti. Ma per ora, vale la pena di più di non inimicarsi gdb in fase di esecuzione su x86.
La patch modifica 91 file. Rispetto a glibc-2.3.2-27.9, il codice addizionale occupa 18 più byte di .text, e 24 meno byte nella .so. Su una scala nano-scopica, il costo di esecuzione tipico è 0-3 cicli di CPU per routine di affetto; l'impatto totale mediana stimato è inferiore a 1 secondo per macchina per giorno. Nel caso di * printf (), glibc-audit è più veloce di glibc perché la fonte ripulito aiuta gcc-3.2 evitare la generazione di codice atroce durante l'inizializzazione printf_spec.info per parse_one_spec () in stdio-common / printf-parse.h.
Glibc-audit è stato costruito mediante l'esecuzione di un accesso pedina di memoria sui casi di test interni di glibc, quindi analizzando gli errori segnalati e modificando la fonte. Il processo ha rivelato errori di accesso 10 di memoria in glibc-2.3.2-11.9. Sette sono stati fissati in glibc-2.3.2-27.9, altri due sono stati corretti in CVS, e uno è un difetto di progettazione che probabilmente non verrà risolto.
Patch predecessore di glibc-audit-1 sono state presentate al progetto glibc, ma queste patch sono state ignorate ["guest" utente "guest", password], rifiutato o respinto. C'è abbastanza miglioramento in termini di usabilità e affidabilità di pubblicare glibc-audit-1 a parte.
Il non modificato glibc-2.3.2-27.9.src.rpm è disponibile dai mirror RedHat. rpmbuild -ba --target i686 sono voluti circa 4 ore e 2,5 GB di spazio su disco su una macchina con CPU 1.1GHz, 384MB di RAM, disco UDMA100.
Cosa c'è di nuovo in questo rilascio:
Dettagli del software:
Versione: 2.4-4
Data di caricamento: 3 Jun 15
Licenza: Libero
Popolarità: 185
I commenti non trovato