Changes between Initial Version and Version 3 of Ticket #1109


Ignore:
Timestamp:
Apr 14, 2017, 12:52:21 PM (8 years ago)
Author:
William Harrington
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #1109

    • Property MilestoneCLFS Standard 3.1.0
    • Property Summary Glibc 2.23Glibc 2.25
    • Property VersionCLFS Standard GIT
  • Ticket #1109 – Description

    initial v3  
    11New version
    2 {{{
    3 Version 2.23
    42
    5 * Unicode 8.0.0 Support: Character encoding, character type info, and
    6   transliteration tables are all updated to Unicode 8.0.0, using new
    7   and/or improved generator scripts contributed by Mike FABIAN (Red Hat).
    8   These updates cause user visible changes, such as the fixes for bugs
    9   89, 16061, and 18568.
    10 
    11 * sched_setaffinity, pthread_setaffinity_np no longer attempt to guess the
    12   kernel-internal CPU set size.  This means that requests that change the
    13   CPU affinity which failed before (for example, an all-ones CPU mask) will
    14   now succeed.  Applications that need to determine the effective CPU
    15   affinities need to call sched_getaffinity or pthread_getaffinity_np after
    16   setting it because the kernel can adjust it (and the previous size check
    17   would not detect this in the majority of cases).
    18 
    19 * The fts.h header can now be used with -D_FILE_OFFSET_BITS=64.  With LFS
    20   the following new symbols are used: fts64_children, fts64_close,
    21   fts64_open, fts64_read and fts64_set.
    22 
    23 * getaddrinfo now detects certain invalid responses on an internal netlink
    24   socket.  If such responses are received, an affected process will
    25   terminate with an error message of "Unexpected error <number> on netlink
    26   descriptor <number>" or "Unexpected netlink response of size <number> on
    27   descriptor <number>".  The most likely cause for these errors is a
    28   multi-threaded application which erroneously closes and reuses the netlink
    29   file descriptor while it is used by getaddrinfo.
    30 
    31 * A defect in the malloc implementation, present since glibc 2.15 (2012) or
    32   glibc 2.10 via --enable-experimental-malloc (2009), could result in the
    33   unnecessary serialization of memory allocation requests across threads.
    34   The defect is now corrected.  Users should see a substantial increase in
    35   the concurent throughput of allocation requests for applications which
    36   trigger this bug.  Affected applications typically create create and
    37   destroy threads frequently.  (Bug 19048 was reported and analyzed by
    38   Ericsson.)
    39 
    40 * There is now a --disable-timezone-tools configure option for disabling the
    41   building and installing of the timezone related utilities (zic, zdump, and
    42   tzselect).  This is useful for people who build the timezone data and code
    43   independent of the GNU C Library.
    44 
    45 * The obsolete header <regexp.h> has been removed.  Programs that require
    46   this header must be updated to use <regex.h> instead.
    47 
    48 * The obsolete functions bdflush, create_module, get_kernel_syms,
    49   query_module and uselib are no longer available to newly linked binaries;
    50   the header <sys/kdaemon.h> has been removed.  These functions and header
    51   were specific to systems using the Linux kernel and could not usefully be
    52   used with the GNU C Library on systems with version 2.6 or later of the
    53   Linux kernel.
    54 
    55 * Optimized string, wcsmbs and memory functions for IBM z13.
    56   Implemented by Stefan Liebler.
    57 
    58 * Newly linked programs that define a variable called signgam will no longer
    59   have it set by the lgamma, lgammaf and lgammal functions.  Programs that
    60   require signgam to be set by those functions must ensure that they use the
    61   variable provided by the GNU C Library and declared in <math.h>, without
    62   defining their own copy.
    63 
    64 * The minimum GCC version that can be used to build this version of the GNU
    65   C Library is GCC 4.7.  Older GCC versions, and non-GNU compilers, can
    66   still be used to compile programs using the GNU C Library.
    67 
    68 Security related changes:
    69 
    70 * An out-of-bounds value in a broken-out struct tm argument to strftime no
    71   longer causes a crash.  Reported by Adam Nielsen.  (CVE-2015-8776)
    72 
    73 * The LD_POINTER_GUARD environment variable can no longer be used to disable
    74   the pointer guard feature.  It is always enabled.  Previously,
    75   LD_POINTER_GUARD could be used to disable security hardening in binaries
    76   running in privileged AT_SECURE mode.  Reported by Hector Marco-Gisbert.
    77   (CVE-2015-8777)
    78 
    79 * An integer overflow in hcreate and hcreate_r could lead to an
    80   out-of-bounds memory access.  Reported by Szabolcs Nagy.  (CVE-2015-8778)
    81 
    82 * The catopen function no longer has unbounded stack usage.  Reported by
    83   Max.  (CVE-2015-8779)
    84 
    85 * The nan, nanf and nanl functions no longer have unbounded stack usage
    86   depending on the length of the string passed as an argument to the
    87   functions.  Reported by Joseph Myers.  (CVE-2014-9761)
    88 
    89 * A stack-based buffer overflow was found in libresolv when invoked from
    90   libnss_dns, allowing specially crafted DNS responses to seize control
    91   of execution flow in the DNS client.  The buffer overflow occurs in
    92   the functions send_dg (send datagram) and send_vc (send TCP) for the
    93   NSS module libnss_dns.so.2 when calling getaddrinfo with AF_UNSPEC
    94   family.  The use of AF_UNSPEC triggers the low-level resolver code to
    95   send out two parallel queries for A and AAAA.  A mismanagement of the
    96   buffers used for those queries could result in the response of a query
    97   writing beyond the alloca allocated buffer created by
    98   _nss_dns_gethostbyname4_r.  Buffer management is simplified to remove
    99   the overflow.  Thanks to the Google Security Team and Red Hat for
    100   reporting the security impact of this issue, and Robert Holiday of
    101   Ciena for reporting the related bug 18665. (CVE-2015-7547)
    102 
    103 The following bugs are resolved with this release:
    104 
    105   [89] localedata: Locales nb_NO and nn_NO should transliterate æøå
    106   [887] math: Math library function "logb" and "nextafter" inconsistent
    107   [2542] math: Incorrect return from float gamma (-0X1.FA471547C2FE5P+1)
    108   [2543] math: Incorrect return from float gamma (-0X1.9260DCP+1)
    109   [2558] math: Incorrect return from double gamma (-0X1.FA471547C2FE5P+1)
    110   [2898] libc: [improve]  warning: the use  of `mktemp' is dangerous, better
    111     use `mkstemp'
    112   [4404] localedata: German translation of "Alarm clock" is misleading
    113   [6799] math: nextafter() and nexttoward() doen't set errno on
    114     overflow/underflow errors
    115   [6803] math: scalb(), scalbln(), scalbn() do not set errno on
    116     overflow/underflow
    117   [10432] nis: _nss_nis_setnetgrent assertion failure
    118   [11460] libc: fts has no LFS support
    119   [12926] network: getaddrinfo()/make_request() may spin forever
    120   [13065] nptl: Race condition in pthread barriers
    121   [13690] nptl: pthread_mutex_unlock potentially cause invalid access
    122   [14341] dynamic-link: Dynamic linker crash when DT_JMPREL and DT_REL{,A}
    123     are not contiguous
    124   [14551] math: [ldbl-128ibm] strtold overflow handling for IBM long double
    125   [14912] libc: Rename non-installed bits/*.h headers
    126   [15002] libc: Avoid undefined behavior in posix_fallocate overflow check
    127   [15367] math: Let gcc use __builtin_isinf
    128   [15384] math: One constant fewer in ieee754/dbl-64/wordsize-64/s_finite.c
    129   [15421] math: lgamma wrongly sets signgam for ISO C
    130   [15470] math: [arm] On ARM llrintl() and llroundl() do not raise
    131     FE_INVALID with argument out of range
    132   [15491] math: [i386/x86_64] x86 nearbyint implementations wrongly clear
    133     all exceptions
    134   [15786] dynamic-link: ifunc resolver functions can smash function
    135     arguments
    136   [15918] math: Unnecessary check for equality in hypotf()
    137   [16061] localedata: Review / update transliteration data
    138   [16068] math: [i386/x86_64] x86 and x86_64 fesetenv exclude state they
    139     should include
    140   [16141] time: strptime %z offset restriction
    141   [16171] math: drem should be alias of remainder
    142   [16296] math: fegetround is pure?
    143   [16347] math: [ldbl-128ibm] ldbl-128/e_lgammal_r.c may not be suitable.
    144   [16364] libc: sleep may leave SIGCHLD blocked on sync cancellation on
    145     GNU/Linux
    146   [16399] math: [mips] lrint / llrint / lround / llround missing exceptions
    147   [16415] math: Clean up ldbl-128 / ldbl-128ibm expm1l for large positive
    148     arguments
    149   [16422] math: [powerpc] math-float, math-double failing llrint tests with
    150     "Exception "Inexact" set" on ppc32
    151   [16495] localedata: nl_NL: date_fmt: shuffle year/month around
    152   [16517] math: Missing underflow exception from tanf/tan/tanl
    153   [16519] math: Missing underflow exception from sinhf
    154   [16520] math: Missing underflow exception from tanhf
    155   [16521] math: Missing underflow exception from exp2
    156   [16620] math: [ldbl-128ibm] exp10l spurious overflows / bad directed
    157     rounding results
    158   [16734] stdio: fopen calls mmap to allocate its buffer
    159   [16961] math: nan function incorrect handling of bad sequences
    160   [16962] math: nan function unbounded stack allocation (CVE-2014-9761)
    161   [16973] localedata: Fix lang_lib/lang_term as per ISO 639-2
    162   [16985] locale: localedef: confusing error message when opening output
    163     fails
    164   [17118] math: ctanh(INFINITY + 2 * I) returns incorrect value
    165   [17197] locale: Redundant shift character in iconv conversion output at
    166     block boundary
    167   [17243] libc: trunk/posix/execl.c:53: va_args problem ?
    168   [17244] libc: trunk/sysdeps/unix/sysv/linux/semctl.c:116: va_args muxup ?
    169   [17250] dynamic-link: static linking breaks nss loading
    170     (getaddrinfo/getpwnam/etc...)
    171   [17404] libc: atomic_exchange_rel lacking a barrier on MIPS16, GCC before
    172     4.7?
    173   [17441] math: isnan() should use __builtin_isnan() in GCC
    174   [17514] nptl: Assert failure unlocking ERRORCHECK mutex after timedlock
    175     (related to lock elision)
    176   [17787] manual: Exponent on page 324 of the PDF ends prematurely
    177   [17886] time: strptime should be able to parse "Z" as a timezone with %z
    178   [17887] time: strptime should be able to parse "+01:00" style timezones
    179   [17905] libc: catopen() Multiple unbounded stack allocations
    180     (CVE-2015-8779)
    181   [18084] libc: backtrace (..., 0) dumps core on x86
    182   [18086] libc: nice() sets errno to 0 on success
    183   [18240] libc: hcreate, hcreate_r should fail with ENOMEM if element count
    184     is too large (CVE-2015-8778)
    185   [18251] dynamic-link: SONAME missing when audit modules provides path
    186   [18265] libc: add attributes for wchar string and memory functions
    187   [18370] math: csqrt missing underflows
    188   [18421] libc: [hppa] read-only segment has dynamic relocations
    189   [18472] libc: Obsolete syscall wrappers should be compat symbols
    190   [18480] libc: hppa glibc miscompilation in sched_setaffinity()
    191   [18491] localedata: Update tr_TR LC_CTYPE as part of Unicode updates
    192   [18525] localedata: Remove locale timezone information
    193   [18560] libc: [powerpc] spurious bits/ipc.h definitions
    194   [18568] localedata: Update locale data to Unicode 8.0
    195   [18589] locale: sort-test.sh fails at random
    196   [18595] math: ctan, ctanh missing underflows
    197   [18604] libc: assert macro-expands its argument
    198   [18610] math: S390: fetestexcept() reports any exception if DXC-code
    199     contains a vector instruction exception.
    200   [18611] math: j1, jn missing errno setting on underflow
    201   [18618] localedata: sync Chechen locale definitions with other *_RU
    202     locales
    203   [18647] math: powf(-0x1.000002p0, 0x1p30) returns 0 instead of +inf
    204   [18661] libc: Some x86-64 assembly codes don't align stack to 16 bytes
    205   [18665] network: In send_dg, the recvfrom function is NOT always using the
    206     buffer size of a newly created buffer (CVE-2015-7547)
    207   [18674] libc: [i386] trunk/sysdeps/i386/tst-auditmod3b.c:84: possible
    208     missing break ?
    209   [18675] libc: fpathconf(_PC_NAME_MAX) fails against large filesystems for
    210     32bit processes
    211   [18681] libc: regexp.h is obsolete and buggy, and should be desupported
    212   [18699] math: tilegx cproj() for various complex infinities does not yield
    213     infinity
    214   [18724] libc: Harden put*ent functions against data injection
    215   [18743] nptl: PowerPC: findutils testcase fails with --enable-lock-elision
    216   [18755] build: build errors with -DNDEBUG
    217   [18757] stdio: fmemopen fails to set errno on failure
    218   [18778] dynamic-link: ld.so crashes if failed dlopen causes libpthread to
    219     be forced unloaded
    220   [18781] libc: openat64 lacks O_LARGEFILE
    221   [18787] libc: [hppa] sysdeps/unix/sysv/linux/hppa/bits/atomic.h:71:6:
    222     error: can’t find a register in class ‘R1_REGS’ while reloading ‘asm’
    223   [18789] math: [ldbl-128ibm] sinhl inaccurate near 0
    224   [18790] math: [ldbl-128ibm] tanhl inaccurate
    225   [18795] libc: stpncpy fortification misses buffer lengths that are
    226     statically too large
    227   [18796] build: build fails for --disable-mathvec
    228   [18803] math: hypot missing underflows
    229   [18820] stdio: fmemopen may leak memory on failure
    230   [18823] math: csqrt spurious underflows
    231   [18824] math: fma spurious underflows
    232   [18825] math: pow missing underflows
    233   [18857] math: [ldbl-128ibm] nearbyintl wrongly uses signaling comparisons
    234   [18868] nptl: pthread_barrier_init typo has in-theory-undefined behavior
    235   [18870] build: sem_open.c fails to compile with missing symbol
    236     FUTEX_SHARED
    237   [18872] stdio: Fix memory leak in printf_positional
    238   [18873] libc: posix_fallocate overflow check ineffective
    239   [18875] math: Excess precision leads incorrect libm
    240   [18877] libc: arm: mmap offset regression
    241   [18887] libc: memory corruption when using getmntent on blank lines
    242   [18918] localedata: hu_HU: change time to HH:MM:SS format
    243   [18921] libc: Regression: extraneous stat() and fstat() performed by
    244     opendir()
    245   [18928] dynamic-link: LD_POINTER_GUARD is not ignored for privileged
    246     binaries (CVE-2015-8777)
    247   [18951] math: tgamma missing underflows
    248   [18952] math: [ldbl-128/ldbl-128ibm] lgammal spurious "invalid", incorrect
    249     signgam
    250   [18953] localedata: lt_LT: change currency symbol to the euro
    251   [18956] math: powf inaccuracy
    252   [18961] math: [i386] exp missing underflows
    253   [18966] math: [i386] exp10 missing underflows
    254   [18967] math: math.h XSI POSIX namespace (gamma, isnan, scalb)
    255   [18969] build: multiple string test failures due to missing locale
    256     dependencies
    257   [18970] libc: Reference of pthread_setcancelstate in libc.a
    258   [18977] math: float / long double Bessel functions not in XSI POSIX
    259   [18980] math: i386 libm functions return with excess range and precision
    260   [18981] math: i386 scalb*, ldexp return with excess range and precision
    261   [18982] stdio: va_list and vprintf
    262   [18985] time: Passing out of range data to strftime() causes a segfault
    263     (CVE-2015-8776)
    264   [19003] math: [x86_64] fma4 version of pow inappropriate contraction
    265   [19007] libc: FAIL: elf/check-localplt with -z now and binutils 2.26
    266   [19012] locale: iconv_open leaks memory on error path
    267   [19016] math: clog, clog10 inaccuracy
    268   [19018] nptl: Mangle function pointers in tls_dtor_list
    269   [19032] math: [i386] acosh (-qNaN) spurious "invalid" exception
    270   [19046] math: ldbl-128 / ldbl-128ibm lgamma bad overflow handling
    271   [19048] malloc: malloc: arena free list can become cyclic, increasing
    272     contention
    273   [19049] math: [powerpc] erfc incorrect zero sign
    274   [19050] math: [powerpc] log* incorrect zero sign
    275   [19058] math: [x86_64] Link fail with -fopenmp and -flto
    276   [19059] math: nexttoward overflow incorrect in non-default rounding modes
    277   [19071] math: ldbl-96 lroundl incorrect just below powers of 2
    278   [19074] network: Data race in _res_hconf_reorder_addrs
    279   [19076] math: [ldbl-128ibm] log1pl (-1) wrong sign of infinity
    280   [19077] math: [ldbl-128ibm] logl (1) incorrect sign of zero result
    281   [19078] math: [ldbl-128ibm] expl overflow incorrect in non-default
    282     rounding modes
    283   [19079] math: dbl-64/wordsize-64 lround based on llround incorrect for
    284     ILP32
    285   [19085] math: ldbl-128 lrintl, lroundl missing exceptions for 32-bit long
    286   [19086] manual: posix_fallocate64 documented argument order is wrong.
    287   [19088] math: lround, llround missing exceptions close to overflow
    288     threshold
    289   [19094] math: lrint, llrint missing exceptions close to overflow threshold
    290   [19095] math: dbl-64 lrint incorrect for 64-bit long
    291   [19122] dynamic-link: Unnecessary PLT relocations in librtld.os
    292   [19124] dynamic-link: ld.so failed to build with older assmebler
    293   [19125] math: [powerpc32] llroundf, llround incorrect exceptions
    294   [19129] dynamic-link: [arm] Concurrent lazy TLSDESC resolution can crash
    295   [19134] math: [powerpc32] lround, lroundf spurious exceptions
    296   [19137] libc: i386/epoll_pwait.S doesn't support cancellation
    297   [19143] nptl: Remove CPU set size checking from sched_setaffinity,
    298     pthread_setaffinity_np
    299   [19156] math: [ldbl-128] j0l spurious underflows
    300   [19164] nptl: tst-getcpu fails with many possible CPUs
    301   [19168] math: math/test-ildoubl and math/test-ldouble failure
    302   [19174] nptl: PowerPC: TLE enabled pthread mutex performs poorly.
    303   [19178] dynamic-link: ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA confuses
    304     prelink
    305   [19181] math: [i386/x86_64] fesetenv (FE_DFL_ENV), fesetenv
    306     (FE_NOMASK_ENV) do not clear SSE exceptions
    307   [19182] malloc: malloc deadlock between ptmalloc_lock_all and
    308     _int_new_arena/reused_arena
    309   [19189] math: [ldbl-128] log1pl (-qNaN) spurious "invalid" exception
    310   [19201] math: dbl-64 remainder incorrect sign of zero result
    311   [19205] math: bits/math-finite.h conditions do not match math.h and
    312     bits/mathcalls.h
    313   [19209] math: bits/math-finite.h wrongly maps ldexp to scalbn
    314   [19211] math: lgamma functions do not set signgam for -ffinite-math-only
    315     for C99-based standards
    316   [19212] libc: features.h not -Wundef clean
    317   [19213] math: [i386/x86_64] log* (1) incorrect zero sign for -ffinite-
    318     math-only
    319   [19214] libc: Family and model identification for AMD CPU's are incorrect.
    320   [19219] libc: GLIBC build fails for ia64 with missing __nearbyintl
    321   [19228] math: [powerpc] nearbyint wrongly clears "inexact", leaves traps
    322     disabled
    323   [19235] math: [powerpc64] lround, lroundf, llround, llroundf spurious
    324     "inexact" exceptions
    325   [19238] math: [powerpc] round, roundf spurious "inexact" for integer
    326     arguments
    327   [19242] libc: strtol incorrect in Turkish locales
    328   [19243] malloc: reused_arena can pick an arena on the free list, leading
    329     to an assertion failure and reference count corruption
    330   [19253] time: tzset() ineffective when temporary TZ did not include DST
    331     rules
    332   [19266] math: strtod ("NAN(I)") incorrect in Turkish locales
    333   [19270] math: [hppa] Shared libm missing __isnanl
    334   [19285] libc: [hppa] sysdeps/unix/sysv/linux/hppa/bits/mman.h: missing
    335     MAP_HUGETLB and MAP_STACK defines
    336   [19313] nptl: Wrong __cpu_mask for x32
    337   [19347] libc: grantpt: try to force a specific gid even without pt_chown
    338   [19349] math: [ldbl-128ibm] tanhl inaccurate for small arguments
    339   [19350] math: [ldbl-128ibm] sinhl spurious overflows
    340   [19351] math: [ldbl-128ibm] logl inaccurate near 1
    341   [19363] time: x32: times() return value wrongly truncates/sign extends
    342     from 32bit
    343   [19367] dynamic-link: Improve branch prediction on Silvermont
    344   [19369] network: Default domain name not reset by res_ninit when "search"
    345     / "domain" entry is removed from resolv.conf
    346   [19375] math: powerpc: incorrect results for POWER7 logb with negative
    347     subnormals
    348   [19385] localedata: bg_BG: time separator should be colon, not comma
    349   [19408] libc: linux personality syscall wrapper may erroneously return an
    350     error on 32-bit architectures
    351   [19415] libc: dladdr returns wrong names on hppa
    352   [19432] libc: iconv rejects redundant escape sequences in IBM900, IBM903,
    353     IBM905, IBM907, and IBM909
    354   [19439] math: Unix98 isinf and isnan functions conflict with C++11
    355   [19443] build: build failures with -DDEBUG
    356   [19451] build: Make check fails on test-double-vlen2
    357   [19462] libc: Glibc failed to build with -Os
    358   [19465] math: Wrong code with -Os
    359   [19466] time: time/tst-mktime2.c is compiled into an infinite loop with
    360     -Os
    361   [19467] string: Fast_Unaligned_Load needs to be enabled for Excavator core
    362     CPU's.
    363   [19475] libc: Glibc 2.22 doesn't build on sparc [PATCH]
    364   [19486] math: S390: Math tests fail with "Exception Inexact set".
    365   [19529] libc: [ARM]: FAIL: stdlib/tst-makecontext
    366   [19550] libc: [mips] mmap negative offset handling inconsistent with other
    367     architectures
    368   [19590] math: Fail to build shared objects that use libmvec.so functions.
    369 }}}
     3Changes
     4[https://abi-laboratory.pro/tracker/changelog/glibc/2.25/log.html]