1. 17 Mar, 2019 1 commit
  2. 16 Mar, 2019 3 commits
  3. 15 Mar, 2019 2 commits
    • Joseph Myers's avatar
      Update syscall-names.list for Linux 5.0. · 477e739b
      Joseph Myers authored
      This patch updates sysdeps/unix/sysv/linux/syscall-names.list for
      Linux 5.0.  Based on testing with build-many-glibcs.py, the only new
      entry needed is for old_getpagesize (a newly added __NR_* name for an
      old syscall on ia64).  (Because 5.0 changes how syscall tables are
      handled in the kernel, checking diffs wasn't a useful way of looking
      for new syscalls in 5.0 as most of the syscall tables were moved to
      the new representation without actually adding any syscalls to them.)
      
      Tested with build-many-glibcs.py.
      
      	* sysdeps/unix/sysv/linux/syscall-names.list: Update kernel
      	version to 5.0.
      	(old_getpagesize): New syscall.
      477e739b
    • Felix Yan's avatar
      localedata: Add Minguo calendar support to Taiwanese locales [BZ #24293] · 238d60a1
      Felix Yan authored
      Minguo calendar is the official calendar system, and very widely used in
      Taiwan. This commit adds its support into glibc.
      
      Some background information: The government website (www.gov.tw) uses it,
      popular public services like Taiwan HSR also use this calendar system.
      
      Link to Wikipedia: https://en.wikipedia.org/wiki/Minguo_calendar
      
              [BZ #24293]
              * localedata/locales/zh_TW (era): Add, support Minguo calendar.
              * localedata/locales/cmn_TW (era): Likewise.
              * localedata/locales/hak_TW (era): Likewise.
              * localedata/locales/lzh_TW (era): Likewise.
              * localedata/locales/nan_TW (era): Likewise.
      238d60a1
  4. 14 Mar, 2019 4 commits
    • Adam Maris's avatar
      malloc: Check for large bin list corruption when inserting unsorted chunk · 5b06f538
      Adam Maris authored
      Fixes bug 24216. This patch adds security checks for bk and bk_nextsize pointers
      of chunks in large bin when inserting chunk from unsorted bin. It was possible
      to write the pointer to victim (newly inserted chunk) to arbitrary memory
      locations if bk or bk_nextsize pointers of the next large bin chunk
      got corrupted.
      5b06f538
    • Florian Weimer's avatar
      Remove obsolete, never-implemented XSI STREAMS declarations · a0a0dc83
      Florian Weimer authored
      The stub implementations are turned into compat symbols.
      
      Linux actually has two reserved system call numbers (for getpmsg
      and putpmsg), but these system calls have never been implemented,
      and there are no plans to implement them, so this patch replaces
      the wrappers with the generic stubs.
      
      According to <https://bugzilla.redhat.com/show_bug.cgi?id=436349>,
      the presence of the XSI STREAMS declarations is a minor portability
      hazard because they are not actually implemented.
      
      This commit does not change the TIRPC support code in
      sunrpc/rpc_svcout.c.  It uses additional XTI functionality and
      therefore never worked with glibc.
      Reviewed-by: default avatarCarlos O'Donell <carlos@redhat.com>
      a0a0dc83
    • Florian Weimer's avatar
      nss: Fix tst-nss-files-alias-truncated for default --as-needed linking · 081bdf94
      Florian Weimer authored
      Linking to the NSS module directly does not work if the linker defaults
      to --as-needed because it will remove the apparently unused DSO
      reference and not generate a DT_NEEDED entry.  Use an explicit dlopen
      call, like in the other chroot tests involving NSS modules.
      081bdf94
    • Zack Weinberg's avatar
      scripts/check-obsolete-constructs.py: Process all headers as UTF-8. · 97f8225d
      Zack Weinberg authored
      A few of our installed headers contain UTF-8 in comments.
      check-obsolete-constructs opened files without explicitly specifying
      their encoding, so it would barf on these headers if “make check” was
      run in a non-UTF-8 locale.
      
      	* scripts/check-obsolete-constructs.py (HeaderChecker.check):
      	Specify encoding="utf-8" when opening headers to check.
      97f8225d
  5. 13 Mar, 2019 5 commits
    • Joseph Myers's avatar
      Use Linux 5.0 in build-many-glibcs.py. · 0c1041ee
      Joseph Myers authored
      This patch makes build-many-glibcs.py use Linux 5.0 in place of 4.20
      (now that the test change required to avoid false positives with ulong
      in kernel headers has been committed).  This includes adjusting the
      logic to compute a tarball URL to handle different major version
      numbers (rather than changing the path to hardcode v5.x in place of
      v4.x, as someone might still wish to check out a v4.x version).
      
      Tested that build-many-glibcs.py successfully checks out Linux 5.0
      sources after this patch.
      
      	* scripts/build-many-glibcs.py (Context.checkout): Default Linux
      	version to 5.0.
      	(Context.checkout_tar): Handle variable major version for Linux
      	kernel.
      0c1041ee
    • Florian Weimer's avatar
      hurd: Add no-op version of __res_enable_icmp [BZ #24047] · 043440e7
      Florian Weimer authored
      Mach does not support IP_RECVERR, so replace this function with a
      stub in a sysdeps override for Hurd.
      
      This fixes commit 08504de7
      ("resolv: Enable full ICMP errors for UDP DNS sockets [BZ #24047]").
      Reviewed-by: default avatarCarlos O'Donell <carlos@redhat.com>
      043440e7
    • Zack Weinberg's avatar
      Move inttypes.h and stdint.h to stdlib. · 29218b26
      Zack Weinberg authored
      inttypes.h and stdint.h are in sysdeps/generic, but there are no other
      versions of these headers anywhere in the source tree, so they aren’t
      actually system-dependent.  Move them to the subdirectory that
      installs them (stdlib).
      Reviewed-by: default avatarJoseph Myers <joseph@codesourcery.com>
      
      	* sysdeps/generic/inttypes.h, sysdeps/generic/stdint.h:
      	Move to stdlib.
      	* include/inttypes.h: Adjust to match.
      	* include/stdint.h: New wrapper.
      29218b26
    • Zack Weinberg's avatar
      Use a proper C tokenizer to implement the obsolete typedefs test. · 711a322a
      Zack Weinberg authored
      The test for obsolete typedefs in installed headers was implemented
      using grep, and could therefore get false positives on e.g. “ulong”
      in a comment.  It was also scanning all of the headers included by
      our headers, and therefore testing headers we don’t control, e.g.
      Linux kernel headers.
      
      This patch splits the obsolete-typedef test from
      scripts/check-installed-headers.sh to a separate program,
      scripts/check-obsolete-constructs.py.  Being implemented in Python,
      it is feasible to make it tokenize C accurately enough to avoid false
      positives on the contents of comments and strings.  It also only
      examines $(headers) in each subdirectory--all the headers we install,
      but not any external dependencies of those headers.  Headers whose
      installed name starts with finclude/ are ignored, on the assumption
      that they contain Fortran.
      
      It is also feasible to make the new test understand the difference
      between _defining_ the obsolete typedefs and _using_ the obsolete
      typedefs, which means posix/{bits,sys}/types.h no longer need to be
      exempted.  This uncovered an actual bug in bits/types.h: __quad_t and
      __u_quad_t were being used to define __S64_TYPE, __U64_TYPE,
      __SQUAD_TYPE and __UQUAD_TYPE.  These are changed to __int64_t and
      __uint64_t respectively.  This is a safe change, despite the comments
      in bits/types.h claiming a difference between __quad_t and __int64_t,
      because those comments are incorrect.  In all current ABIs, both
      __quad_t and __int64_t are ‘long’ when ‘long’ is a 64-bit type, and
      ‘long long’ when ‘long’ is a 32-bit type, and similarly for __u_quad_t
      and __uint64_t.  (Changing the types to be what the comments say they
      are would be an ABI break, as it affects C++ name mangling.)  This
      patch includes a minimal change to make the comments not completely
      wrong.
      
      sys/types.h was defining the legacy BSD u_intN_t typedefs using a
      construct that was not necessarily consistent with how the C99 uintN_t
      typedefs are defined, and is also too complicated for the new script to
      understand (it lexes C relatively accurately, but it does not attempt
      to expand preprocessor macros, nor does it do any actual parsing).
      This patch cuts all of that out and uses bits/types.h's __uintN_t typedefs
      to define u_intN_t instead.  This is verified to not change the ABI on
      any supported architecture, via the c++-types test, which means u_intN_t
      and uintN_t were, in fact, consistent on all supported architectures.
      Reviewed-by: default avatarCarlos O'Donell <carlos@redhat.com>
      
      	* scripts/check-obsolete-constructs.py: New test script.
      	* scripts/check-installed-headers.sh: Remove tests for
      	obsolete typedefs, superseded by check-obsolete-constructs.py.
      	* Rules: Run scripts/check-obsolete-constructs.py over $(headers)
      	as a special test.  Update commentary.
      	* posix/bits/types.h (__SQUAD_TYPE, __S64_TYPE): Define as __int64_t.
      	(__UQUAD_TYPE, __U64_TYPE): Define as __uint64_t.
      	Update commentary.
      	* posix/sys/types.h (__u_intN_t): Remove.
      	(u_int8_t): Typedef using __uint8_t.
      	(u_int16_t): Typedef using __uint16_t.
      	(u_int32_t): Typedef using __uint32_t.
      	(u_int64_t): Typedef using __uint64_t.
      711a322a
    • Stefan Liebler's avatar
      Fix output of LD_SHOW_AUXV=1. · 7c651308
      Stefan Liebler authored
      Starting with commit 1616d034
      the output was corrupted on some platforms as _dl_procinfo
      was called for every auxv entry and on some architectures like s390
      all entries were represented as "AT_HWCAP".
      
      This patch is removing the condition and let _dl_procinfo decide if
      an entry is printed in a platform specific or generic way.
      This patch also adjusts all _dl_procinfo implementations which assumed
      that they are only called for AT_HWCAP or AT_HWCAP2. They are now just
      returning a non-zero-value for entries which are not handled platform
      specifc.
      
      ChangeLog:
      
      	* elf/dl-sysdep.c (_dl_show_auxv): Remove condition and always
      	call _dl_procinfo.
      	* sysdeps/unix/sysv/linux/s390/dl-procinfo.h (_dl_procinfo):
      	Ignore types other than AT_HWCAP.
      	* sysdeps/sparc/dl-procinfo.h (_dl_procinfo): Likewise.
      	* sysdeps/unix/sysv/linux/i386/dl-procinfo.h (_dl_procinfo):
      	Likewise.
      	* sysdeps/powerpc/dl-procinfo.h (_dl_procinfo): Adjust comment
      	in the case of falling back to generic output mechanism.
      	* sysdeps/unix/sysv/linux/arm/dl-procinfo.h (_dl_procinfo):
      	Likewise.
      7c651308
  6. 12 Mar, 2019 2 commits
  7. 11 Mar, 2019 4 commits
    • Mao Han's avatar
      C-SKY: add elf header definition for elfutils · 5fbcd763
      Mao Han authored
      This patch adds some defines relate to machine flag and section information,
      which is used by elfutils elflint check. A C-SKY typo is also fixed with
      this patch.
      
      	* elf/elf.h (EF_CSKY_ABIMASK, EF_CSKY_OTHER, EF_CSKY_PROCESSOR)
      	(EF_CSKY_ABIV1, EF_CSKY_ABIV2, SHT_CSKY_ATTRIBUTES): New defines.
      5fbcd763
    • Mao Han's avatar
      C-SKY: mark lr as undefined to stop unwinding · c4e5f34b
      Mao Han authored
      Mark the lr register as undefined at the start of execution, so unwind
      will stop at this frame. run-backtrace-*.sh from elfutils testsuite will
      fail without this patch.
      
      	* sysdeps/csky/abiv2/start.S: Mark lr as undefined.
      	* sysdeps/unix/sysv/linux/csky/abiv2/clone.S: Likewise.
      	* sysdeps/unix/sysv/linux/csky/abiv2/setcontext.S: Likewise.
      c4e5f34b
    • Mao Han's avatar
      C-SKY: remove user_regs definition · 827e30f3
      Mao Han authored
      C-SKY GDB dose not use this file for ptrace and coredump.  ptrace can use
      pt_regs definition from linux kernel directly.  The old definition only
      got 34 regs instead of 38 regs from linux kernel, which will corrupted
      the memory after ptrace PTRACE_GETREGSET call.
      
      	* sysdeps/unix/sysv/linux/csky/sys/procfs.h: Use linux definition
      	directly.
      	* sysdeps/unix/sysv/linux/csky/sys/user.h: Remove user_regs
      	definition.
      827e30f3
    • Mao Han's avatar
      C-SKY: fix sigcontext miss match · 6229c9bf
      Mao Han authored
      C-SKY defines SIGCONTEXT as siginfo_t *_si, struct ucontext_t * for
      __profil_counter.  ucontext_t get an extra __mask field which is miss
      match with the struct sigcontext from linux kernel.  The time value
      from gprof report will be always zero without this patch.  This
      patch also fix the registers sequence in register-dump.h.
      
      	* sysdeps/unix/sysv/linux/csky/register-dump.h: Adjust offset change.
      	* sysdeps/unix/sysv/linux/csky/sys/ucontext.h: Remove __mask field
      	in mcontext_t
      6229c9bf
  8. 08 Mar, 2019 1 commit
    • Mike FABIAN's avatar
      Bug 24307: Update to Unicode 12.0.0 · 86bdd49d
      Mike FABIAN authored
      Unicode 12.0.0 Support: Character encoding, character type info, and
      transliteration tables are all updated to Unicode 12.0.0, using
      the generator scripts contributed by Mike FABIAN (Red Hat).
      
      Some info about the number of characters added or changed:
      
      Total added characters in newly generated CHARMAP: 554
      Total added characters in newly generated WIDTH: 106
      alpha: Missing 8 characters of old ctype in new ctype
             (These are combining marks, apparently they were removed from alpha
             on purpose)
      alpha: Added 295 characters in new ctype which were not in old ctype
      combining: Missing 2 characters of old ctype in new ctype
             (U+1CF2 VEDIC SIGN ARDHAVISARGA and U+1CF3 VEDIC SIGN ROTATED ARDHAVISARGA,
             these are now "Alphabetic" in Unicode 12.0.0)
      combining: Added 37 characters in new ctype which were not in old ctype
      combining_level3: Missing 2 characters of old ctype in new ctype
             (U+1CF2 VEDIC SIGN ARDHAVISARGA and U+1CF3 VEDIC SIGN ROTATED ARDHAVISARGA,
             these are now "Alphabetic" in Unicode 12.0.0)
      combining_level3: Added 26 characters in new ctype which were not in old ctype
      graph: Added 554 characters in new ctype which were not in old ctype
      lower: Added 6 characters in new ctype which were not in old ctype
      print: Added 554 characters in new ctype which were not in old ctype
      punct: Missing 29 characters of old ctype in new ctype
             (These characters have all  become "Alphabetic" in Unicode 12.0.0.
             Therefore, they are not in "punct" anymore (see: is_punct() in unicode_utils.py))
      punct: Added 296 characters in new ctype which were not in old ctype
      tolower: Added 7 characters in new ctype which were not in old ctype
      totitle: Added 7 characters in new ctype which were not in old ctype
      toupper: Added 7 characters in new ctype which were not in old ctype
      upper: Added 7 characters in new ctype which were not in old ctype
      
      	[BZ #24307]
      	* localedata/unicode-gen/Makefile (UNICODE_VERSION): Set to 12.0.0.
      	* localedata/unicode-gen/DerivedCoreProperties.txt: Update to Unicode 12.0.0.
      	* localedata/unicode-gen/EastAsianWidth.txt: Likewise.
      	* localedata/unicode-gen/PropList.txt: Likewise.
      	* localedata/unicode-gen/UnicodeData.txt: Likewise.
      	* localedata/unicode-gen/ctype_compatibility_test_cases.py: U+108D became
              "Alphabetic" in Unicode 12.0.0. Adapt test case.
      	* localedata/charmaps/UTF-8: Regenerate.
      	* localedata/locales/i18n_ctype: Likewise.
      	* localedata/locales/tr_TR: Likewise.
      	* localedata/locales/translit_circle: Likewise.
      	* localedata/locales/translit_cjk_compat: Likewise.
      	* localedata/locales/translit_combining: Likewise.
      	* localedata/locales/translit_compat: Likewise.
      	* localedata/locales/translit_font: Likewise.
      	* localedata/locales/translit_fraction: Likewise.
      86bdd49d
  9. 07 Mar, 2019 3 commits
    • Joseph Myers's avatar
      Break lines before not after operators, batch 4. · c5f65462
      Joseph Myers authored
      This patch fixes further coding style issues where code should have
      broken lines before operators in accordance with the GNU Coding
      Standards but instead was breaking lines after them.
      
      Tested for x86_64, and with build-many-glibcs.py.
      
      	* stdio-common/vfscanf-internal.c (ARG): Break lines before rather
      	than after operators.
      	* sysdeps/mach/hurd/setitimer.c (timer_thread): Likewise.
      	(setitimer_locked): Likewise.
      	* sysdeps/mach/hurd/sigaction.c (__sigaction): Likewise.
      	* sysdeps/mach/hurd/sigaltstack.c (__sigaltstack): Likewise.
      	* sysdeps/mach/pagecopy.h (PAGE_COPY_FWD): Likewise.
      	* sysdeps/mach/thread_state.h (machine_get_basic_state): Likewise.
      	* sysdeps/powerpc/powerpc64/tst-ucontext-ppc64-vscr.c
      	(PPC_CPU_SUPPORTED): Likewise.
      	* sysdeps/unix/sysv/linux/alpha/a.out.h (N_TXTOFF): Likewise.
      	* sysdeps/unix/sysv/linux/generic/wordsize-32/overflow.h
      	(stat_overflow): Likewise.
      	(statfs_overflow): Likewise.
      	* sysdeps/unix/sysv/linux/tst-personality.c (do_test): Likewise.
      	* sysdeps/unix/sysv/linux/tst-ttyname.c (eq_ttyname): Likewise.
      	(eq_ttyname_r): Likewise.
      	(run_chroot_tests): Likewise.
      c5f65462
    • Florian Weimer's avatar
      check-wrapper-headers test: Adjust Fortran include file directory · 27a2f2f3
      Florian Weimer authored
      The check for "/finclude/" fails with the actual location of
      Fortran headers because they are now stored in the "finclude"
      subdirectory of the top-level include directory, so a relative path
      does not contain a slash '/' before the "finclude" string.
      27a2f2f3
    • marxin's avatar
      Fix location where math-vector-fortran.h is installed. · ae514971
      marxin authored
      2019-03-07  Martin Liska  <mliska@suse.cz>
      
      	* math/Makefile: Change location where math-vector-fortran.h is
      	installed.
      	* math/finclude/math-vector-fortran.h: Move from bits/math-vector-fortran.h.
      	* sysdeps/x86/fpu/finclude/math-vector-fortran.h: Move
      	from sysdeps/x86/fpu/bits/math-vector-fortran.h.
      	* scripts/check-installed-headers.sh: Skip Fortran header files.
      	* scripts/check-wrapper-headers.py: Likewise.
      ae514971
  10. 05 Mar, 2019 2 commits
    • Adhemerval Zanella's avatar
      nptl: Assume __ASSUME_FUTEX_CLOCK_REALTIME support · 0ddb7ea8
      Adhemerval Zanella authored
      This patch assumes realtime clock support for nptl and thus removes
      all the associated code.
      
      For __pthread_mutex_timedlock the fallback usage for the case where
      lll_futex_timed_wait_bitset it not set define is also removed. The
      generic lowlevellock-futex.h always define it, so for NPTL code the
      check always yield true.
      
      Checked on x86_64-linux-gnu and i686-linux-gnu.
      
      	* nptl/nptl-init.c (__have_futex_clock_realtime,
      	__have_futex_clock_realtime): Remove definition.
      	(__pthread_initialize_minimal_internal): Remove FUTEX_CLOCK_REALTIME
      	check test for !__ASSUME_FUTEX_CLOCK_REALTIME.
      	* nptl/pthread_mutex_timedlock.c (__pthread_mutex_timedlock): Assume
      	__ASSUME_FUTEX_CLOCK_REALTIME support.
      	* sysdeps/unix/sysv/linux/i386/lowlevellock.S: Likewise.
      	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S: Likewise.
      	* sysdeps/unix/sysv/linux/kernel-features.h
      	(__ASSUME_FUTEX_CLOCK_REALTIME): Remove.
      	* sysdeps/nptl/lowlevellock-futex.h (lll_futex_timed_wait_bitset):
      	Adjust comment.
      0ddb7ea8
    • Gabriel F. T. Gomes's avatar
      powerpc: Fix build of wcscpy with --disable-multi-arch · 590675c0
      Gabriel F. T. Gomes authored
      Since the commit
      
      commit 81a14439
      Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
      Date:   Tue Feb 5 17:35:12 2019 -0200
      
          wcsmbs: optimize wcscat
      
      powerpc64 and powerpc64le builds fail when configured with
      --disable-multi-arch and --with-cpu=power6 (or newer), due to an
      undefined reference to __GI___wcscpy.  This patch fixes this on
      sysdeps/powerpc/powerpc64/power6/wcscpy.c, which is only used when
      multi-arch is disabled.
      
      This patch does nothing for the failures on 32-bits powerpc builds,
      because the file is under the powerpc64 subdirectory, however, powerpc
      builds were already failing with --disable-multi-arch, with multiple
      error messages, even before the aforementioned commit.
      
      Tested for powerpc, powerpc64, and powerpc64le with multi-arch enabled
      (all pass) and disabled (powerpc still fails as explained above).
      590675c0
  11. 04 Mar, 2019 2 commits
    • Florian Weimer's avatar
      elf: Remove remnants of MAP_ANON emulation · de71ee7b
      Florian Weimer authored
      Most of the code was removed in commit
      20739e54 ("* elf/dl-load.c:
      Remove support for systems without MAP_ANON.").
      de71ee7b
    • Stefan Liebler's avatar
      S390: Increase function alignment to 16 bytes. · ce6ddae0
      Stefan Liebler authored
      Set the default function alignment to 16 bytes in order to
      get rid of some unwanted performance effects.
      
      Please see also GCC commit "S/390: Set default function
      alignment to 16." (Subversion revision 262817)
      
      ChangeLog:
      
      	* sysdeps/s390/s390-64/sysdep.h(ENTRY): Use alignment of 16byte.
      	* sysdeps/s390/s390-32/sysdep.h: Likewise.
      ce6ddae0
  12. 02 Mar, 2019 1 commit
  13. 01 Mar, 2019 8 commits
    • Gabriel F. T. Gomes's avatar
      ldbl-opt: Reuse test cases from misc/ that check long double · f0eaf862
      Gabriel F. T. Gomes authored
      This patch adds test cases for the compatibility versions of the
      functions: err, errx, verr, verrx, warn, warnx, vwarn, vwarnx (from
      err.h), error, and error_at_line (from error.h), when long double has
      the same format as double (-mlong-double-64).
      
      Tested for powerpc, powerpc64 and powerpc64le.
      f0eaf862
    • Gabriel F. T. Gomes's avatar
      ldbl-opt: Add error and error_at_line (bug 23984) · d11086a9
      Gabriel F. T. Gomes authored
      On platforms where long double may have the same format as double
      (-mlong-double-64), error and error_at_line do not take that into
      account and might produce wrong output if a long double conversion is
      requested by the format string ('%Lf').  This patch adds compatibility
      functions for this situation and redirects calls via header magic.
      
      Tested for powerpc, powerpc64 and powerpc64le.
      d11086a9
    • Gabriel F. T. Gomes's avatar
      ldbl-opt: Add err, errx, verr, verrx, warn, warnx, vwarn, and vwarnx (bug 23984) · 90188e7d
      Gabriel F. T. Gomes authored
      When support for long double format with 128-bits (-mlong-double-128)
      was added for platforms where long double had the same format as double,
      such as powerpc, compatibility versions for the functions listed in the
      commit title were missed.  Since the older format of long double can
      still be used (with -mlong-double-64), using these functions with a
      format string that requests the printing of long double variables will
      produce wrong outputs.
      
      This patch adds the missing compatibility functions and header magic to
      redirect calls to them when -mlong-double-64 is in use.
      
      Tested for powerpc, powerpc64 and powerpc64le.
      90188e7d
    • Gabriel F. T. Gomes's avatar
      ldbl-opt: Reuse argp tests that print long double · ea2d89d0
      Gabriel F. T. Gomes authored
      The test case tst-ldbl-argp checks that the conversion specifier '%Lf'
      correctly prints long double values with the default long double format
      for a platform.  This patch reuses the test case for long double with
      the same format as double (-mlong-double-64).
      
      Tested for powerpc, powerpc64 and powerpc64le.
      ea2d89d0
    • Gabriel F. T. Gomes's avatar
      ldbl-opt: Add argp_error and argp_failure (bug 23983) · 6e1f6440
      Gabriel F. T. Gomes authored
      The functions argp_error and argp_failure are missing support for
      printing long double values when long double has the same format as
      double.  This patch adds the new functions __nldbl_argp_error and
      __nldbl_argp_failure, as well as header magic to redirect calls to them
      when -mlong-double-64 is in use.
      
      Tested for powerpc, powerpc64 and powerpc64le.
      6e1f6440
    • Florian Weimer's avatar
      elf/tst-big-note: Improve accuracy of test [BZ #20419] · c259196b
      Florian Weimer authored
      It is possible that the link editor injects an allocated ABI tag note
      before the artificial, allocated large note in the test.  Note parsing
      in open_verify stops when the first ABI tag note is encountered, so if
      the ABI tag note comes first, the problematic code is not actually
      exercised.
      
      Also tweak the artificial note so that it is a syntactically valid
      4-byte aligned note, in case the link editor tries to parse notes and
      process them.
      
      Improves the testing part of commit 0065aaaa.
      Reviewed-by: default avatarCarlos O'Donell <carlos@redhat.com>
      c259196b
    • Stefan Liebler's avatar
      S390: Fix introduction of __wcscpy and weak wcscpy symbols. · 928b305d
      Stefan Liebler authored
      The recent commit 81a14439
      has introduced __wcscpy, __GI___wcscpy and the weak alias wcscpy.
      This patch also introduces those symbols if glibc is build
      with CFLAGS="-march=z13" where the ifunc is omitted.
      
      ChangeLog:
      
      	* sysdeps/s390/wcscpy-vx.S: Add strong aliases to
      	__wcscpy, __GI___wcscpy and weak alias to wcscpy.
      928b305d
    • Florian Weimer's avatar
      __netlink_assert_response: Add more __libc_fatal newlines [BZ #20271] · 36f30c10
      Florian Weimer authored
      Commit a6e8926f ("[BZ #20271] Add
      newlines in __libc_fatal calls.") missed two places that need
      changing.
      36f30c10
  14. 28 Feb, 2019 2 commits
    • Joseph Myers's avatar
      Add more spaces before '('. · 462e83a4
      Joseph Myers authored
      This patch fixes more places where a space should have been present
      before '(' in accordance with the GNU Coding Standards (as with the
      previous patch, mainly for calls to sizeof).
      
      Tested with build-many-glibcs.py.
      
      	* sysdeps/powerpc/powerpc32/dl-machine.c
      	(__elf_machine_fixup_plt): Use space before '('.
      	(__process_machine_rela): Likewise.
      	* sysdeps/powerpc/powerpc32/register-dump.h (register_dump):
      	Likewise.
      	* sysdeps/powerpc/powerpc64/le/fpu/sfp-machine.h (TI_BITS):
      	Likewise.
      	* sysdeps/powerpc/powerpc64/register-dump.h (register_dump):
      	Likewise.
      	* sysdeps/powerpc/test-arith.c (union_t): Likewise.
      	(pattern): Likewise.
      	(delta): Likewise.
      	(check_result): Likewise.
      	(check_excepts): Likewise.
      	(check_op): Likewise.
      	(fail_xr): Likewise.
      	* sysdeps/unix/alpha/sysdep.h (syscall_promote): Likewise.
      	* sysdeps/unix/sysv/linux/alpha/a.out.h (AOUTHSZ): Likewise.
      	(SCNHSZ): Likewise.
      	* sysdeps/unix/sysv/linux/hppa/makecontext.c (FRAME_SIZE_BYTES):
      	Likewise.
      	(ARGS): Likewise.
      	(__makecontext): Likewise.
      	* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (ucontext_t):
      	Likewise.
      462e83a4
    • Florian Weimer's avatar
      elf: Add tests with a local IFUNC resolver [BZ #23937] · cc3e573c
      Florian Weimer authored
      The existing tests all use global symbols (but with different
      visibility).  Local symbols could be treated differently by the
      compiler and linker (as was the case on POWER ELFv2, causing
      bug 23937), and we did not have test coverage for this.
      
      Tested on x86-64 and POWER ELFv2 little-endian, with and without
      --disable-multi-arch.  On POWER, the test cases elf/ifuncmain9,
      elf/ifuncmain9pic, elf/ifuncmain9pie reproduce bug 23937 with older
      binutils.
      cc3e573c