GNU C Library

Screenshot Λογισμικό:
GNU C Library
Στοιχεία Λογισμικού:
Εκδοχή: 2.28 επικαιροποιημένο
Ανεβάστε ημερομηνία: 16 Aug 18
Προγραμματιστής: Roland McGrath
Άδεια: Δωρεάν
Δημοτικότητα: 10

Rating: 1.0/5 (Total Votes: 1)

Η Βιβλιοθήκη GNU C είναι ένα ελεύθερο και ισχυρό λογισμικό βιβλιοθήκης για ανοιχτή διανομή GNU / Linux. Είναι επίσης γνωστό ως Glibc και απαιτείται από οποιοδήποτε λειτουργικό σύστημα υπολογιστή τύπου UNIX. Η βιβλιοθήκη GNU C είναι υπεύθυνη για τον ορισμό των κλήσεων συστήματος, καθώς και για διάφορες άλλες βασικές λειτουργίες, όπως malloc, open, exit, printf, κτλ.


Χρησιμοποιείται εξ ορισμού σε όλα τα λειτουργικά συστήματα που βασίζονται στο πυρήνα του Linux

Η βιβλιοθήκη GNU C εγκαθίσταται και χρησιμοποιείται από προεπιλογή σε όλα τα λειτουργικά συστήματα που βασίζονται στο πυρήνα του Linux, σχεδιασμένα από το έδαφος για να λειτουργήσουν ως η κύρια βιβλιοθήκη C στα GNU συστήματα και σε οποιοδήποτε άλλο λειτουργικό σύστημα που τροφοδοτείται από τον πυρήνα του Linux.


Σχεδιασμένο να είναι φορητό

Η Glibc είναι μια υψηλής ποιότητας βιβλιοθήκη C, γραμμένη εξ ολοκλήρου στη γλώσσα προγραμματισμού C. Είναι σχεδιασμένο να είναι φορητό, διεθνοποιημένο και σχεδιασμένο ώστε να υποστηρίζει όλα τα σχετικά πρότυπα, συμπεριλαμβανομένων των POSIX.1-2008 και του ISO C11.


Υποστηρίζει χαρακτηριστικά γνωστών παραλλαγών UNIX

Ενώ η βιβλιοθήκη GNU C διαθέτει μια διεθνοποιημένη διεπαφή, προσπαθεί να υποστηρίξει λειτουργίες γνωστών παραλλαγών UNIX, όπως το BSD και το System V, χάρη στις ενσωματωμένες λειτουργίες συμβατότητας.

Ξεκινώντας με τη Βιβλιοθήκη GNU C

Ενώ η βιβλιοθήκη GNU C εγκαθίσταται από προεπιλογή σχεδόν σε όλα τα λειτουργικά συστήματα GNU / Linux, μπορείτε επίσης να την επανεγκαταστήσετε μόνοι σας χρησιμοποιώντας το πακέτο προέλευσης που διανέμεται δωρεάν στον ιστότοπό του ή το Softoware. Για να ξεκινήσετε, κατεβάστε και αποθηκεύστε το αρχείο στο αρχικό σας κατάλογο.

Αποσυσκευάστε το αρχείο με ένα βοηθητικό πρόγραμμα διαχείρισης αρχειοθηκών, ανοίξτε ένα παράθυρο τερματικού, μεταβείτε στη θέση όπου έχουν εξαχθεί τα αρχεία αρχειοθέτησης, εκτελέστε το & lsquo; ./configure & rsquo; για να ρυθμίσετε τις παραμέτρους του προγράμματος (δείτε την εντολή & lsquo; / configure - help & rsquo; για διάφορες επιλογές βελτιστοποίησης).

Στη συνέχεια, εκτελέστε το & lsquo; make & rsquo; εντολή για να μεταγλωττίσετε τη βιβλιοθήκη, η οποία μπορεί να εγκατασταθεί σε όλο το σύστημα τρέχοντας είτε από το & install; ή "sudo make install & rsquo; εντολές, ανάλογα με το αν η ρίζα σας ή ένας προνομιούχος χρήστης.

Τι νέο υπάρχει σε αυτήν την έκδοση:

  • https://sourceware.org/ml/libc-announce/2018/msg00000.html

Τι νέο υπάρχει στην έκδοση 2.27:

  • https://sourceware.org/ml/libc-announce/2018/msg00000.html

Τι νέο υπάρχει στην έκδοση:

  • Η ελάχιστη έκδοση του kernel του Linux με την οποία μπορεί να χρησιμοποιηθεί αυτή η έκδοση της βιβλιοθήκης GNU C είναι 3.2, εκτός από i [4567] 86 και x86_64, όπου αρκεί ο πυρήνας Linux 2.6.32 ή αργότερα (στις αρχιτεκτονικές που απαιτούσαν ήδη τον πυρήνα εκδόσεις πιο πρόσφατες από το 3.2, οι απαιτήσεις αυτές παραμένουν αμετάβλητες). Οι κεφαλίδες πυρήνα του Linux 3.2 ή νεότερων απαιτούνται σε όλες τις αρχιτεκτονικές.
  • Η γλώσσα pap_AN έχει διαγραφεί. Αυτό έχει αποσυρθεί για μεγάλο χρονικό διάστημα. Έχει αντικατασταθεί από pap_AW & amp; pap_CW, τα οποία και έχουν συμπεριληφθεί εδώ και καιρό σε προηγούμενες κυκλοφορίες.
  • Οι λειτουργίες readdir_r και readdir64_r έχουν καταργηθεί. Συνιστάται η χρήση του readdir και του readdir64.
  • Έχει καταργηθεί ο τύπος "αναμονή αναμονής". Απολύθηκε στις αρχές της δεκαετίας του 1990 και ποτέ δεν ήταν τμήμα του POSIX. Ο κώδικας εφαρμογής θα πρέπει να χρησιμοποιεί τον τύπο int αντί για "union wait".
  • Προστίθεται μια νέα ενέργεια NSS για τη διευκόλυνση της διαχείρισης μεγάλου κατανεμημένου συστήματος. Η ενέργεια, MERGE, επιτρέπει σε απομακρυσμένα καταστήματα χρηστών όπως το LDAP να συγχωνευθούν σε καταστήματα τοπικών χρηστών, όπως / etc / groups, προκειμένου να παρέχουν εύκολη στη χρήση, ενημερωμένα και διαχειριζόμενα σύνολα συγχωνευμένων διαπιστευτηρίων. Η νέα ενέργεια μπορεί να χρησιμοποιηθεί με τη διαμόρφωση της σε /etc/nsswitch.conf: group: files [SUCCESS = συγχώνευση] nis Εφαρμογή από τον Stephen Gallagher (Red Hat).
  • Η μεταβληθείσα μεταβλητή __malloc_initialize_hook έχει αφαιρεθεί από το API.
  • Η μακρά αχρησιμοποίητη επιλογή "localedef --old style" έχει καταργηθεί. Δεν έχει κάνει τίποτα σε πάνω από 16 χρόνια. Οι δέσμες ενεργειών που χρησιμοποιούν αυτή την επιλογή μπορούν να το αποβάλουν με ασφάλεια.
  • επόμενο, επόμενο, επόμενο, επόμενο, επόμενο και επόμενοdownf προστίθενται στο libm. Ορίζονται από τα TS 18661 και IEEE754-2008. Οι επόμενες λειτουργίες επιστρέφουν την επόμενη αντιπροσωπευτική τιμή προς την κατεύθυνση του θετικού άπειρου και οι επόμενες λειτουργίες επιστρέφουν την επόμενη αντιπροσωπευόμενη τιμή προς την κατεύθυνση του αρνητικού άπειρου. Αυτήν τη στιγμή επιτρέπονται ως επεκτάσεις GNU.
  • Αλλαγές ασφαλείας:
  • Καταργήθηκε ένα μη απαραίτητο αντίγραφο στοίβας στο _nss_dns_getnetbyname_r. Θα μπορούσε να οδηγήσει σε υπερχείλιση στοίβας όταν ονομάστηκε getnetbyname με υπερβολικά μεγάλο όνομα. (CVE-2016-3075)
  • Προηγουμένως, το getaddrinfo αντιγράφει μεγάλες ποσότητες δεδομένων διεύθυνσης στη στοίβα, ακόμη και μετά την εφαρμογή του κώδικα για το CVE-2013-4458, κάτι που μπορεί να οδηγήσει σε υπερχείλιση στοίβας. Το getaddrinfo χρησιμοποιεί τώρα ένα σωρό κατανομής αντί. Αναφέρεται από τον Michael Petlan. (CVE-2016-3706)
  • Η συνάρτηση σφαιρικού στοιχείου υπέστη μια υπερχείλιση buffer που βασίστηκε σε στοίβα όταν κλήθηκε με τη σημαία GLOB_ALTDIRFUNC και αντιμετώπισε ένα μεγάλο όνομα αρχείου. Αναφέρεται από τον Αλέξανδρο Cherepanov. (CVE-2016-1234)
  • Ο πελάτης Sun RPC UDP θα μπορούσε να εξαντλήσει όλο το διαθέσιμο χώρο στοίβας όταν πλημμυρίσει με δημιουργημένα μηνύματα ICMP και UDP. Αναφέρεται από το πρόσθετο alloca του Aldy Hernandez για το GCC. (CVE-2016-4429)
  • Ο κώδικας διαχείρισης του διακομιστή ονομάτων IPv6 στο libresolv θα μπορούσε να οδηγήσει σε διαρροή μνήμης για κάθε δημιουργημένο νήμα, εκτελεί μια αποτυχημένη αναζήτηση ονομάτων και εξέρχεται. Με την πάροδο του χρόνου, αυτό θα μπορούσε να οδηγήσει σε άρνηση εξυπηρέτησης εξαιτίας της εξάντλησης της μνήμης. Αναφέρεται από τον Matthias Schiffer. (CVE-2016-5417)
  • Τα ακόλουθα σφάλματα επιλύονται με αυτήν την έκδοση:
  • [1170] localedata: ne_NP: ενημερώστε το αρχείο ορισμού του τοπικού του Νεπάλ [3629] εγχειρίδιο: η περιγραφή stpcpy στο string.texi αναφέρεται στο MS-DOG αντί στο MS-DOS. [6527] malloc: [powerpc] Η ευθυγράμμιση του Malloc είναι ανεπαρκής για το PowerPC [6796] math: fdim () δεν θέτει λάθος στην υπερχείλιση [10354] libc: posix_spawn σε περισσότερες περιπτώσεις από σήμερα [11213] προσθέστε την αποποίηση ευθύνης πνευματικής ιδιοκτησίας στα αρχεία τοπικών ρυθμίσεων [12143] localedata: chr_US: νέα τοποθεσία Cherokee locale [12450] localedata: sgs_LT: new locale [12676] localedata: ln_CD: new locale [13237] localedata: LC_ADDRESS.country_name: τα δεδομένα [13304] math: fma, fmaf, fmal παράγουν λανθασμένα αποτελέσματα [14259] build: --localedir arg to configure παραβλέπεται [14499] nptl: Η posix_spawn επικαλείται χειριστές atfork / [14750] libc: Κατάσταση φυλής σε χρήση posix_spawn vfork vs χειριστές σημάτων [14934] localedata: es_CL: λάθος τοπική γλώσσα chilean την πρώτη εβδομάδα [15262] localedata: LC_MESSAGES.yesexpr / noexpr: noexpr: ασυνεπής χρήση 1/0 και +/- [15264] localedata: LC_MESSAGES.[15468] nptl: raise () δεν είναι async-σήμα-ασφαλής [15479] math: ceil, floor, round and trunc raise μη ακριβής εξαίρεση [15578] localedata: kk_KZ: [16137] localedata: lv_LV: αλλαγή νόμισμα σε LC_MONETARY σε ευρώ [16742] malloc: κατάσταση κούρσας: pthread_atfork [16137] () που αποκαλείται πριν από το πρώτο malloc () οδηγεί σε απροσδόκητη συμπεριφορά ασφάλισης / αδιέξοδα [16975] localedata: LC_MESSAGES.yesexpr / noexpr: επανάληψη κεφαλαίων σε όλες τις τοποθεσίες [16983] localedata: postal_fmt δεν επιτρέπει% l και% n modifiers [17565] : pt_PT: λάθος (εργασία) εβδομάδα εκκίνησης [17899] μαθηματικά: [powerpc] floorl επιστρέφει αρνητικό μηδέν με FE_DOWNWARD [17950] build: Build αποτυγχάνει με -msse [18205] localedata: be_BY *: wrong_day_day and first_workday [18433] : posix_spawn δεν επιστρέφει σωστά μετά την αποτυχία εκτέλεσης [18453] localedata: charmaps / IBM875: λάθος κώδικες [18712] string: bits / string2.h ασυμβίβαστη με -O2 -Werror = γεμάτο -Wsystem-headers [18896] localedata: he_IL: βελτιώσεις για νόμισμα [18911] localedata: ro_RO: Διόρθωση ονόματος ημέρας εβδομάδας για " χρησιμοποιεί το larc opcode στο άσχετο ευθυγραμμισμένο σύμβολο [19056] libc: Deprecate readdir_r [19133] localedata: pt_ *: days & amp; (19257) localedata: nl_NL: μικρές βελτιώσεις για ολλανδικά τοπικά [19257] δίκτυο: διαρροή μνήμης ανά ίντσα __res_vinit με διακομιστές ονομάτων IPv6 (CVE-2016-5417) [19269] build: tst-audit4 [19431] malloc: Αδιέξοδο μεταξύ fflush, getdelim και πιρούνι [19505] libc: Αστοχία tst-audit10 με gcc-6 σε μη avx μηχάνημα [19400] Εσφαλμένοι έλεγχοι εγκυρότητας του περιγραφέα αρχείου στο posix_spawn_file_actions_add {ανοιχτό, κλείσιμο, dup2} [19509] δυναμικός σύνδεσμος: dlsym, dlvsym δεν αναφέρουν τα σφάλματα μέσω dlerror όταν χρησιμοποιείτε την τοπική ρύθμιση RTLD_NEXT [19512]: Stale `#ifndef HAVE_BUILTIN_EXPECT 'στο` intl / {gettextP , loadinfo}.h "[19534] libc: execle, execlp μπορεί να χρησιμοποιήσει malloc [19568] localedata: * _CH: Ελβετικά τοπικά έχουν ασυνεπής έναρξη της εβδομάδας [19573] δίκτυο: res_nclose και __res_maybe_init διαφωνούν σχετικά με την αρχικοποίηση του διακομιστή ονομάτων, του GB18030 πίνακες [19581] localedata: sr_ * date_fmt συμβολοσειρά περιέχει πρόσθετη σειρά νέου γραμμής [19583]: Η σημαία SSSE3_Fast_Copy_Backward πρέπει να ενεργοποιηθεί για τον πυρήνα AMD Excavator [19592] math: [ldbl-128ibm] ] math: [ldbl-128ibm] truncl λανθασμένη σε μη προεπιλεγμένες λειτουργίες στρογγυλοποίησης [19594] μαθηματικά: [ldbl-128ibm] στρογγυλά λανθασμένα σε μη προεπιλεγμένες λειτουργίες στρογγυλοποίησης [19595] math: [ldbl-128ibm] fmodl λανθασμένη για αποτελέσματα σε υπερφόρτωση [19610] math: [ldbl-128ibm] remainderl, remquol λάθος χειρισμός σημάτων σε δοκιμασίες ισότητας [19610] dynamic-link: ldconfig - Το X καταργεί τις παλιές συμβολικές συνδέσεις [19613] libc: s390x (196bit) μακροδιαστολή WCOREDUMP και άλλα [19633] locale: strfmon_l εφαρμόζει την τοπική ρύθμιση μορφοποίησης αριθμών [19642]: διαρροή μνήμης στο getnameinfo [19648] libc: test-skeleton.c: Μη ρυθμίζετε το RLIMIT_DATA [19653] libc: Δυνατότητα ανίχνευσης δείκτη NULL (CWE-476) στο glibc-2.22 [19654] math: [x86_64] Χρειάζεστε δοκιμαστική δοκιμή για BZ # 19590 fix [19671] () στο 'tst-fmon.c' & amp; 'tst-numeric.c' [19674] μαθηματικά: [ldbl-128ibm] powl λάθος χειρισμός υπερχείλισης [19677] math: [ldbl-128ibm] remainderl δοκιμή ισότητας λανθασμένη για μηδέν χαμηλό μέρος [19678] math: [ldbl-128ibm] nextafterl , nexttowardl λανθασμένο σημάδι μηδενικού αποτελέσματος [19679] dynamic-link: gcc-4.9.3 Διαχείρηση εξαιρέσεων C ++ σπάσει λόγω τοπικής ρύθμισης [19726]: Μετατροπή UCS4LE σε ΕΣΩΤΕΡΙΚΗ με iconv () δεν ενημερώνει τους δείκτες και τα μήκη σε περίπτωση σφάλματος . [19727] locale: Η μετατροπή από / προς το UTF-xx με το iconv () δεν αναφέρει πάντα σφάλματα στις τιμές υποκαταστάτων του UTF-16.[19755] nscd: nscd αποτυχία επιβεβαίωσης στο gc [19758] δυναμικός σύνδεσμος: Typo σε EXTRA_LD_ENVVARS για x86-64 [19759] libc: mempcpy δεν πρέπει να είναι γραμμένος [19762] δυναμική σύνδεση: HAS_CPU_FEATURE / HAS_ARCH_FEATURE εύκολη κατάχρηση [ 19765] libc: s390 χρειάζεται βελτιστοποιημένο mempcpy [19779] glob: glob: υπερχείλιση buffer με GLOB_ALTDIRFUNC λόγω λανθασμένης παραδοχής ορίου NAME_MAX (CVE-2016-1234) [19783] build: benchtests δεν υποστηρίζουν --ableable hardcoded path [19797]: Έλλειψη και λανθασμένοι έλεγχοι αποκοπής στο getnameinfo [19790] math: [ldbl-128ibm] nearbyintl λανθασμένος σε μη προεπιλεγμένες ρυθμίσεις στρογγυλοποίησης [19791]: Αποτυχία ισχυρισμού στο res_query.c με όνομα un-connectable διευθύνσεις εξυπηρετητών [19792] libc: MIPS: backtrace αποδίδει απεριόριστη εκκρεμότητα με makecontext [19822] math: libm.έτσι ώστε να εγκαταστήσετε clobbers παλιά έκδοση [19825] δίκτυο: resolv: send_vc μπορεί να επιστρέψει τα μη προκαθορισμένα δεδομένα στη δεύτερη απάντηση στο getaddrinfo [19830] δίκτυο: nss_dns: πρέπει να ελέγξει το μήκος RDATA ενάντια στο μήκος buffer [19831] δίκτυο: nss_dns: getaddrinfo επιστρέφει μη πρωτόκολλα δεδομένα όταν αντιμετωπίζει Α / ΑΑΑΑ εγγραφές μη έγκυρου μεγέθους [19837] nss: nss_db: Καμία επανάληψη για μερικές μακριές γραμμές με μεγαλύτερο buffer [19848] math: powl (10, n) για n = -4, -5, -6, -7 είναι [19860] build: x86_64: σφάλματα μεταγλώττισης για tst-audit10 και tst-auditmod10b [19861] nptl: libpthread Αναλυτής IFUNC για πιρουνάρισμα μπορεί να οδηγήσει σε δίκτυο crash [19862]: resolv, nss_dns: Αφαίρεση εναπομένουσας καταγραφής μη αναμενόμενων τύπων εγγραφών [19865]: Σφάλμα διαβεβαίωσης ή διαρροής μνήμης στο δίκτυο _nss_dns_getcanonname_r [19868]: nss_dns: 19879]: nss_dns: υπερχείλιση στοίβας στο getnetbyname implementa (19926) string: Βελτιώστε το x86-64 memset [19907] string: Λανθασμένες δοκιμές memcpy [19916] Δυναμική σύνδεση: S390: fprs / vrs δεν αποθηκεύονται / : termios.h Τομέας ονομάτων XCASE [19928] συμβολοσειρά: memmove-vec-unaligned-erms.S είναι αργός με μεγάλο μέγεθος δεδομένων [19929] libc: limits.h Χώρος ονομάτων NL_NMAX [19931] stdio: Διαρροή μνήμης στο vfprintf [19957] Πρόσβαση σε μη έγκυρη μητρική μνήμη [libcc: clone_VM] [19963] localedata: en_IL: ] stdio: stdio.h cuserid όνομα χώρου [19994] δίκτυο: getaddrinfo δεν αποκαθιστά RES_USE_INET6 σημαία σε gethosts [19996] locale: langinfo.h nl_langinfo_l namespace [20005] stdio: fflush σε αρχείο που ανοίγει με fmemopen επαναφέρει τη θέση σε 0 [20010] [20014] stdio: οικόπεδο stdio.h για προ-σπείρες POSIX [20017] δίκτυο: resolv: Χρήση gmtime_r αντί για gmtime στο p_secstodate [20023] libc: fcntl.h timescap namespace [20024] math: [x86_64] διάνυσμα sincos καταστρέφει το δίκτυο [20031] στοίβα: nss_hesiod: υπερχείλιση σωρών στο get_txt_records [20041] time: sys / time.h timespec όνομα χώρου [20043] libc: unistd.h λείπει cuserid για UNIX98 και πριν [20044] libc: unistd .h λείπει το pthread_atfork για το UNIX98 [20051] libc: ttyslot σε λάθος κεφαλίδα κάτω από λανθασμένες συνθήκες [20054] libc: gethostname δεν δηλώθηκε για XPG4 [20055] libc: termios.h λείπει tcgetsid για XPG4 [20072] δυναμική-σύνδεση: x86 init_cpu_features ονομάζεται δύο φορές σε στατικό εκτελέσιμο [20073] libc: sys / stat.h χώρος ονομάτων fchmod [20074] libc: stdlib.h rand_r namespace [20076] .h λείπει S_IFSOCK, S_ISSOCK για XPG4 [20094] libc: stdlib.h δεν πρέπει να δηλώνει grantpt, ptsname, ξεκλειδώνει για XPG3 [20111] libc: struct sockaddr_storage δεν μπορεί να αντιγραφεί συνολικά [20112] network: sunrpc: στο Sun RPC clntudp_call (CVE-2016-4429) [20115] string: Πρόσθετη ευθυγράμμιση στο memset-vec-unaligned-erms.S [20119] libc: του mm είναι μηδενική εάν το Glibc είναι χτισμένο με AS που δεν υποστηρίζει το AVX512 [20151] math: [ldbl-128 / ldbl-128ibm] j0l, j1l, y0l, y1l επιστροφή sNaN για το όρισμα sNaN [20153] math: [ldbl-128ibm] sqrtl (sNaN) επιστρέφει sNaN [20156] μαθηματικά: [ldbl-128ibm] ceill, rintl κ.λπ. επιστροφή sNaN για το επιχείρημα sNaN [20157] math: [powerpc] fabsl (sNaN) owerpc] ceilings, rint κλπ.επιστροφή sNaN για είσοδο sNaN [20178] libc: posix_spawn {p} δεν πρέπει να καλέσει έξοδο [20191] stdio: libio: vtables σκλήρυνση [20195] string: FMA4 ανίχνευση απαιτεί εκτέλεση CPUID με εγγραφή eax = 0x80000001 [20198] libc: quick_exit καταστρέφει λανθασμένα C + + 11 αντικείμενα νημάτων. [20213] math: asin (sNaN) επιστρέφει sNaN [20214] δίκτυο: Συγχρονισμός κεφαλίδας Linux με linux / in6. h και ipv6.h πάλι.[20218] math: [i386] asnhl (sNaN) επιστρέφει sNaN [20219] math: [i386] atanhl (sNaN) επιστρέφει sNaN [20222] επιστρέφει sNaN [20225] μαθηματικά: ldexp, scalbn, scalbln επιστροφή sNaN για input sNaN [20226] μαθηματικά: [i386 / x86_64] expl, exp10l, expm1l επιστροφή sNaN για είσοδο sNaN [20227] math: [i386 / x86_64] ) επιστρέφει sNaN [20228] μαθηματικά: [i386 / x86_64] log10l (sNaN) επιστρέφει sNaN [20229] math: [i386 / x86_64] log1pl (sNaN) επιστρέφει sNaN [20232] math: [ldbl-128] expm1l sNaN επιστρέφει sNaN [20233] math: [ldbl-128ibm] expm1l (sNaN) επιστρέφει sNaN [20234] math: [ldbl-128ibm] log1pl (sNaN) 20240] ns: nss_db: get * int segfaults χωρίς προηγούμενο set * ent [20240] math: modf (sNaN) επιστρέφει sNaN [20248] libc: debug / tst-longjump_chk2 κλήσεις printf από χειριστή σήματος [20250] ) επιστρέφει sNaN [20252] μαθηματικά: atan2 (sNaN, qNaN) αποτυγχάνει να αυξήσει "invalid" [20255] ma th: [i386] fdim, fdimf επιστροφή με υπερβολικό εύρος και ακρίβεια / διπλή στρογγυλοποίηση [20256] μαθηματικά: [i386 / x86_64] fdiml επιστρέφει sNaN για είσοδο sNaN [20260] string: ../sysdeps/x86/bits/string.

    h: 1092: 3: σφάλμα: ο δείκτης συστοιχίας είναι κάτω από τα σύνορα του πίνακα [-Werror = array-bounds] [20262] nis: _nss_nis_initgroups_dyn επιστρέφει πάντα NSS_STATUS_NOTFOUND [20263] nptl: robust mutex deadlocks if other requests timedlock / linux) [20277] libc: $ dp δεν έχει προετοιμαστεί σωστά στο sysdeps / hppa / start.S [20284] malloc: malloc: Αποκατάσταση της διεφθαρμένης αρένας προκαλεί άσκοπες αποπληρωμές mmap [20296] math: [i386 / x86_64] scalbl επιστρέφει sNaN για sNaN εισόδου, λείπουν "άκυρες" εξαιρέσεις [20314] nptl: make [4]: ​​*** [/usr/include/stdlib.h] Σφάλμα 1 [20316] localedata: id_ID: Februari αντί του Pebruari [20327] Η τιμή 64-bit διαβιβάζεται με διαφορετικό τρόπο στο p {readv, writev}: η τιμή του αρχείου 64-bit διαβάζεται διαφορετικά στο p {readoff, writev} {646} [20350] libc: Δεν υπάρχει δοκιμή για μαθηματικά p {read, write} 64 [20357]: Εσφαλμένο αποτέλεσμα cos για 1.5174239687223976 [20384] build: Μη εκτέλεση δοκιμασιών libmvec-sincos-avx * achines

Τι νέο υπάρχει στην έκδοση 2.23:

  • CVE-2015-7547: glibc getaddrinfo () υπερχείλιση buffer που βασίζεται σε στοίβα - Σταθερή στον κλάδο ανάπτυξης για απελευθέρωση glibc 2.23.

Τι νέο υπάρχει στην έκδοση 2.21:

  • Τα ακόλουθα σφάλματα επιλύονται με αυτήν την έκδοση: 6652, 10672, 12674, 12847, 12926, 13862, 14132, 14138, 14171, 14498, 15215, 15378, 15884, 16009, 16418, 16191, 16618, 16619, 16657, 16740, 16857, 17192, 17266, 17273, 17344,17363,17370,17371,17411,17460,17475,17485,17501,17506,17508,17522,17555,17570,17571,17572,17573,17773, 17574, 17582, 17589, 17594, 17601, 17608, 17616, 17625, 17630, 17633, 17634, 17635, 17647, 17653, 17657, 17658, 17664, 17665, 17668, 17719, 17722, 17723, 17733, 17744, 17745, 17746, 17747, 17748, 17775, 17777, 17780, 17781, 17782, 17791, 17793, 17796, 17797, 17801, 17803, 17806, 17844, 17848, 17868, 17869, 17870, 17885, 17892.
  • CVE-2015-1472 Υπό ορισμένες συνθήκες, το wscanf μπορεί να διαθέσει πολύ λίγη μνήμη για τα προς σαρωμένα επιχειρήματα και να υπερχειλίσει το εκχωρημένο buffer. Η εφαρμογή τώρα σωστά υπολογίζει το απαιτούμενο μέγεθος του buffer όταν χρησιμοποιεί το malloc.
  • Έχει εφαρμοστεί ένας νέος αλγόριθμος σηματωμάτων σε γενικό κώδικα C για όλα τα μηχανήματα. Προηγούμενες υλοποιήσεις συναρμολόγησης του σηματοφόρου ήταν δύσκολο να αιτιολογηθούν ή να διασφαλιστεί ότι ήταν ασφαλείς. Η νέα έκδοση του σηματοφόρου υποστηρίζει μηχανές με ατομικές λειτουργίες 64 bit ή 32 bit. Ο νέος αλγόριθμος semafor χρησιμοποιείται από τους sem_init, sem_open, sem_post, sem_wait, sem_timedwait, sem_trywait και sem_getvalue.
  • Το λιμάνι της Altera Nios II έχει συμβάλει από το Mentor Graphics.
  • Βελτιστοποιημένες υλοποιήσεις strcpy, stpcpy, strncpy, stpncpy, strcmp και strncmp για powerpc64 / powerpc64le. Εφαρμόστηκε από την Adhemerval Zanella (IBM).
  • Προστέθηκε υποστήριξη για την εξαφάνιση κλειδώματος TSX των mutexes pthread στα powerpc32, powerpc64 και powerpc64le. Αυτό μπορεί να βελτιώσει την κλιμάκωση κλειδώματος των υπαρχόντων προγραμμάτων σε συστήματα με δυνατότητα HTM. Ο κωδικός έκλυσης κλειδώματος ενεργοποιείται μόνο με --enable-lock-elision = yes. Επίσης, η εφαρμογή εξόδου κλειδώματος TSX για το powerpc θα εκδώσει μια διακοπή συναλλαγής σε κάθε syscall για να αποφευχθούν ορατές παρενέργειες εκτός των συναλλαγών.
  • Βελτιστοποιημένες υλοποιήσεις strcpy, stpcpy, strchrnul και strrchr για το AArch64. Συμβολή από την ARM Ltd
  • Λειτουργίες i386 memcpy βελτιστοποιημένες με φορτίο / κατάστημα SSE2 χωρίς ευθυγράμμιση
  • CVE-2104-7817 Η συνάρτηση wordexp μπορεί να αγνοήσει τη σημαία WRDE_NOCMD κάτω από ορισμένες συνθήκες εισόδου που έχουν ως αποτέλεσμα την εκτέλεση ενός κελύφους για αντικατάσταση εντολών όταν η εφαρμογή δεν το ζήτησε. Η εφαρμογή τώρα ελέγχει WRDE_NOCMD αμέσως πριν την εκτέλεση του κελύφους και επιστρέφει το σφάλμα WRDE_CMDSUB όπως αναμένεται.
  • Οι λειτουργίες στυλ printf τύπου CVE-2012-3406 θα μπορούσαν να τρέξουν σε υπερχείλιση στοίβας όταν επεξεργάζονται συμβολοσειρές μορφής με μεγάλο αριθμό προδιαγραφών μορφοποίησης.
  • CVE-2014-9402 Η εφαρμογή nss_dns του getnetbyname θα μπορούσε να τρέξει σε ένα άπειρο βρόχο αν η απόκριση DNS περιείχε μια εγγραφή PTR μιας μη αναμενόμενης μορφής.
  • Η ελάχιστη έκδοση GCC που μπορεί να χρησιμοποιηθεί για τη δημιουργία αυτής της έκδοσης της βιβλιοθήκης GNU C είναι το GCC 4.6. Οι παλαιότερες εκδόσεις του GCC και οι μεταγλωττιστές που δεν είναι GNU, μπορούν ακόμα να χρησιμοποιηθούν για την κατάρτιση προγραμμάτων χρησιμοποιώντας τη βιβλιοθήκη GNU C.
  • Η βιβλιοθήκη GNU C δημιουργείται τώρα με προεπιλογή από το -Werror. Αυτό μπορεί να απενεργοποιηθεί με τη διαμόρφωση με --disable-werror.
  • Νέες τοπικές ρυθμίσεις: tu_IN, bh_IN, raj_IN, ce_RU.
  • Η παλιά λειτουργία sigvec έχει αφαιρεθεί. Αυτή ήταν η αρχική διεπαφή 4.2BSD που ενέπνευσε τη διασύνδεση POSIX.1 sigaction, την οποία τα προγράμματα έχουν χρησιμοποιήσει αντ 'αυτού για περίπου 25 χρόνια. Φυσικά, η συμβατότητα ABI για τα παλαιά δυαδικά αρχεία με τη χρήση του sigvec παραμένει άθικτη.
  • Συγχωνεύθηκε το gettext 0.19.3 στον υποκατάλογο intl. Αυτό διορθώνει το κτίριο με νεότερες εκδόσεις του bison.
  • Υποστήριξη για επεκτάσεις MIPS o32 FPXX, FP64A και FP64 ABI. Το αρχικό MIPS o32 hard-float ABI απαιτεί ένα FPU όπου τα διπλά ακριβείας καταχωρούν επικάλυψη δύο διαδοχικών καταχωρητών απλής ακρίβειας. Το MIPS32R2 εισήγαγε έναν νέο τρόπο λειτουργίας FPU (FR = 1) όπου οι καταχωρητές διπλής ακρίβειας επεκτείνουν τους αντίστοιχους καταχωρητές απλής ακρίβειας, οι οποίοι δεν είναι συμβατοί με το ABO hard-float o32. Η αρχιτεκτονική MIPS SIMD ASE και η αρχιτεκτονική MIPSR6 απαιτούν τη χρήση FR = 1 για να γίνει απαραίτητη η μετάβαση. Οι νέες επεκτάσεις ABO του o32 επιτρέπουν στους χρήστες να μεταναστεύουν με την πάροδο του χρόνου από το αρχικό o32 ABI έως το ενημερωμένο O32 FP64 ABI. Για να επιτευχθεί αυτό, ο δυναμικός σύνδεσμος παρακολουθεί τώρα το ABI οποιουδήποτε φορτισμένου αντικειμένου και επαληθεύει ότι τα νέα αντικείμενα είναι συμβατά. Οι μεταβάσεις του τρόπου λειτουργίας θα ζητηθούν επίσης όπως απαιτείται και τα μη υποστηριζόμενα αντικείμενα θα απορριφθούν. Οι έλεγχοι ABI περιλαμβάνουν τόσο ABI μαλακά όσο και σκληρά float για τα o32, n32 και n64.

Σχόλια για GNU C Library

Τα σχόλια δεν βρέθηκε
προσθήκη σχολίου
Ενεργοποιήστε τις εικόνες!