glibc-revision är en modifierad version av glibc för applikationsutvecklare som kontrollerar sin kod med en automatisk minnesåtkomst pjäs såsom valgrind, försäkra, eller rena.
glibc-revision har granskats och rensade upp så att rapporter från utvecklarens användning av en minnesåtkomst kontrollen är mer sannolikt att vara intressant för utvecklare, med mindre "brus" från C-biblioteket själv. Typiskt, glibc-revision initierar alla sina lokala variabler och structs före användning. Ordinarie glibc använder oinitierade dummyvariabler som är "inte-vård" till dess logik men rapporteras av minnesåtkomst checker.
Dessutom har r_debug.r_brk protokollet förbättrats för att samarbeta med en co-invånare revisor. Om revisorn ställer .r_brk, då runtime lastaren kommer att kalla revisorn direkt när ett delat bibliotek händelse inträffar.
Detta är mycket bekvämare än att använda brytpunkter. Som standard gamla brytpunkts protokollet fungerar precis som tidigare. Det nya protokollet är binärt kompatibel med den gamla på maskiner där en pekare till en funktion är av samma storlek som en vanlig pekare. Plattformar där en pekare till en funktion är större (t.ex. HP-PA RISC, Alpha-processor eller PowerPC) är inte binära bakåtkompatibla, och kommer att behöva öka r_debug.r_version. Exising klienter (t.ex. gdb) också kommer att se ett ignorable typ oöverensstämmelsefel när de byggs. Men för nu, är det värt mer att inte reta gdb vid körning på x86.
Plåstret modifierar 91 filer. Jämfört med glibc-2.3.2-27.9 upptar tilläggsnummer ytterligare 18 bytes .text, och 24 färre bytes i .så. På en nano-scopic skala, är den typiska utförande kostnaden 0-3 CPU-cykler per drabbade rutin; den beräknade median totala effekten är mindre än 1 sekund per maskin per dag. I fallet med * printf (), glibc-revision är snabbare än glibc eftersom rensade källa hjälper gcc-3.2 undvika att skapa fruktansvärda kod vid initiering printf_spec.info för parse_one_spec () i stdio-common / printf-parse.h.
Glibc-revision konstruerades genom att köra en minnesåtkomst pjäs på den inre testfall för glibc, sedan analysera rapporterade fel och ändra källan. Processen avslöjade 10 minnesåtkomst buggar i glibc-2.3.2-11.9. Sju fixerades i glibc-2.3.2-27.9, ytterligare två har rättats i CVS, och en är ett konstruktionsfel som förmodligen inte kommer att fastställas.
Föregångare patchar för att glibc-revision-1 har överlämnats till glibc-projektet, men dessa lappar ignorerades [användare "gäst", lösenord "gäst"], minskade eller förkastas. Det finns tillräckligt med förbättrad användbarhet och tillförlitlighet att publicera glibc-revisions 1 separat.
Den omodifierade glibc-2.3.2-27.9.src.rpm är tillgänglig från RedHat speglar. rpmbuild -ba --target i686 tog ca 4 timmar och 2,5 GB diskutrymme på en maskin med 1.1GHz CPU, 384 MB RAM, UDMA100 disken.
Vad är nytt i den här versionen:
Mjukvaruinformation:
Version: 2.4-4
Ladda upp dagen: 3 Jun 15
Licens: Gratis
Popularitet: 185
Kommentarer hittades inte