1. 27 Aug, 2020 20 commits
  2. 26 Aug, 2020 1 commit
  3. 24 Aug, 2020 12 commits
    • Adhemerval Zanella's avatar
      linux: Simplify utimensat · f032f3af
      Adhemerval Zanella authored
      With arch-syscall.h it can now assumes the existance of either
      __NR_utimensat or __NR_utimensat_time64.  The 32-bit time_t
      support is now only build for !__ASSUME_TIME64_SYSCALLS.
      
      Checked on x86_64-linux-gnu and i686-linux-gnu (on 5.4 and on 4.15
      kernel).
      Reviewed-by: default avatarLukasz Majewski <lukma@denx.de>
      f032f3af
    • Adhemerval Zanella's avatar
      linux: Simplify timerfd_settime · 278498a1
      Adhemerval Zanella authored
       With arch-syscall.h it can now assumes the existance of either
      __NR_timer_settime or __NR_time_settime_time64.  The 32-bit time_t
      support is now only build for !__ASSUME_TIME64_SYSCALLS.
      
      Checked on x86_64-linux-gnu and i686-linux-gnu (on 5.4 and on 4.15
      kernel).
      Reviewed-by: default avatarLukasz Majewski <lukma@denx.de>
      278498a1
    • Adhemerval Zanella's avatar
      linux: Simplify timer_gettime · 70746a06
      Adhemerval Zanella authored
      With arch-syscall.h it can now assumes the existance of either
      __NR_timer_gettime or __NR_time_gettime_time64.  The 32-bit time_t
      support is now only build for !__ASSUME_TIME64_SYSCALLS.
      
      Checked on x86_64-linux-gnu and i686-linux-gnu (on 5.4 and on 4.15
      kernel).
      Reviewed-by: default avatarLukasz Majewski <lukma@denx.de>
      70746a06
    • Adhemerval Zanella's avatar
      linux: Simplify sched_rr_get_interval · fd31691c
      Adhemerval Zanella authored
      With arch-syscall.h it can now assumes the existance of either
      __NR_sched_rr_get_interval or __NR_sched_rr_get_interval_time64.
      The 32-bit time_t support is now only build for
      !__ASSUME_TIME64_SYSCALLS.
      
      Checked on x86_64-linux-gnu and i686-linux-gnu (on 5.4 and on 4.15
      kernel).
      Reviewed-by: default avatarLukasz Majewski <lukma@denx.de>
      fd31691c
    • Adhemerval Zanella's avatar
      linux: Simplify ppoll · 3feb53ba
      Adhemerval Zanella authored
      With arch-syscall.h it can now assumes the existance of either
      __NR_ppoll or __NR_ppoll_time64.  The 32-bit time_t support is now
      only build for !__ASSUME_TIME64_SYSCALLS.
      
      Checked on x86_64-linux-gnu and i686-linux-gnu (on 5.4 and on 4.15
      kernel).
      Reviewed-by: default avatarLukasz Majewski <lukma@denx.de>
      3feb53ba
    • Adhemerval Zanella's avatar
      linux: Simplify mq_timedsend · 85077eaa
      Adhemerval Zanella authored
       With arch-syscall.h it can now assumes the existance of either
      __NR_mq_timedsend or __NR_mq_timedsend_time64.  The 32-bit
      time_t support is now only build for !__ASSUME_TIME64_SYSCALLS.
      
      Checked on x86_64-linux-gnu and i686-linux-gnu (on 5.4 and on 4.15
      kernel).
      Reviewed-by: default avatarLukasz Majewski <lukma@denx.de>
      85077eaa
    • Adhemerval Zanella's avatar
      linux: Simplify mq_timedreceive · 1e03b6d8
      Adhemerval Zanella authored
      With arch-syscall.h it can now assumes the existance of either
      __NR_mq_timedreceive or __NR_mq_timedreceive_time64.  The 32-bit
      time_t support is now only build for !__ASSUME_TIME64_SYSCALLS.
      
      Checked on x86_64-linux-gnu and i686-linux-gnu (on 5.4 and on 4.15
      kernel).
      Reviewed-by: default avatarLukasz Majewski <lukma@denx.de>
      1e03b6d8
    • Adhemerval Zanella's avatar
      linux: Simplify clock_settime · ff6228d5
      Adhemerval Zanella authored
      With arch-syscall.h it can now assumes the existance of either
      __NR_clock_settime or __NR_clock_settime_time64.  The 32-bit
      time_t support is now only build for !__ASSUME_TIME64_SYSCALLS.
      
      Checked on x86_64-linux-gnu and i686-linux-gnu (on 5.4 and on 4.15
      kernel).
      Reviewed-by: default avatarLukasz Majewski <lukma@denx.de>
      ff6228d5
    • Adhemerval Zanella's avatar
      linux: Simplify clock_nanosleep · 55399535
      Adhemerval Zanella authored
      With arch-syscall.h it can now assumes the existance of either
      __NR_clock_nanosleep or __NR_clock_nanosleep_time64.  The 32-bit
      time_t support is now only build for !__ASSUME_TIME64_SYSCALLS.
      
      Checked on x86_64-linux-gnu and i686-linux-gnu (on 5.4 and on 4.15
      kernel).
      Reviewed-by: default avatarLukasz Majewski <lukma@denx.de>
      55399535
    • Adhemerval Zanella's avatar
      linux: Simplify clock_gettime · d9310f33
      Adhemerval Zanella authored
      With arch-syscall.h it can now assumes the existance of either
      __NR_clock_gettime or __NR_clock_gettime_time64.  The 32-bit time_t
      support is now only build for !__ASSUME_TIME64_SYSCALLS.
      
      It also uses the time64-support functions to simplify it further.
      
      Checked on x86_64-linux-gnu and i686-linux-gnu (on 5.4 and on 4.15
      kernel).
      d9310f33
    • Adhemerval Zanella's avatar
      linux: Simplify clock_adjtime · 4f709234
      Adhemerval Zanella authored
      With arch-syscall.h it can now assumes the existance of either
      __NR_clock_adjtime or __NR_clock_adjtime_time64.  The 32-bit time_t
      support is now only build for !__ASSUME_TIME64_SYSCALLS.
      
      Checked on x86_64-linux-gnu and i686-linux-gnu (on 5.4 and on 4.15
      kernel).
      Reviewed-by: default avatarAlistair Francis <alistair.francis@wdc.com>
      Reviewed-by: default avatarLukasz Majewski <lukma@denx.de>
      4f709234
    • Adhemerval Zanella's avatar
      linux: Add helper function to optimize 64-bit time_t fallback support · 02c91eb6
      Adhemerval Zanella authored
      These helper functions are used to optimize the 64-bit time_t support on
      configurations that requires support for 32-bit time_t fallback
      (!__ASSUME_TIME64_SYSCALLS).  The idea is once the kernel advertises that
      it does not have 64-bit time_t support, glibc will stop to try issue the
      64-bit time_t syscall altogether.
      
      For instance:
      
        #ifndef __NR_symbol_time64
        # define __NR_symbol_time64 __NR_symbol
        #endif
        int r;
        if (supports_time64 ())
          {
            r = INLINE_SYSCALL_CALL (symbol, ...);
            if (r == 0 || errno != ENOSYS)
              return r;
      
            mark_time64_unsupported ();
          }
        #ifndef __ASSUME_TIME64_SYSCALLS
        <32-bit fallback syscall>
        #endif
        return r;
      
      On configuration with default 64-bit time_t this optimization should be
      optimized away by the compiler resulting in no overhead.
      02c91eb6
  4. 21 Aug, 2020 1 commit
  5. 20 Aug, 2020 3 commits
    • Siddhesh Poyarekar's avatar
      [vcstocl] Import ProjectQuirks from its own file · cd71f47a
      Siddhesh Poyarekar authored
      ProjectQuirks moved into its own file in gnulib because one cannot
      import modules with hyphens in them.  Adjust the quirks file to
      reflect this reality.
      cd71f47a
    • Stefan Liebler's avatar
      build-many-glibcs.py: Add a s390x -O3 glibc variant. · 33dd32fd
      Stefan Liebler authored
      On s390x, gcc inlines more aggresive compared to other architectures.
      This occaisionally leads to build warnings / errors.
      
      Therefore this patch adds a s390x glibc variant with optimization.
      
      There is the ccopts field which contain ABI options which are passed
      to configure as CC / CXX.  Now there is also the cflags field which
      contains non-ABI options like -g or -O. Those are passed to configure
      as CFLAGS / CXXFLAGS.
      
      Currently CC is passed to conformtest.py or linknamespace.py but not
      the CFLAGS.
      33dd32fd
    • Stefan Liebler's avatar
      Fix namespace violation in stdio.h and sys/stat.h if build with optimization. [BZ #26376] · e1fd4bbe
      Stefan Liebler authored
      If build with optimization, stdio.h and sys/stat.h are defining some inlining
      functions.  This leads to test fails if glibc is build with the following
      commands. (Note that the conformtests usually builds without optimization or
      other CFLAGS):
      <glibc>/configure CC="gcc -O3" --prefix=/usr
      make
      make subdirs=conform check
      - FAIL: conform/XPG4/stdio.h/conform
      - FAIL: conform/XPG42/stdio.h/conform
      out-files:
      ...
      PASSCOMBINED: Availability of variable optopt
      PASSCOMBINED: Type of variable optopt
          Namespace violation: "getc_unlocked"
          Namespace violation: "getchar_unlocked"
          Namespace violation: "putc_unlocked"
          Namespace violation: "putchar_unlocked"
      FAIL: Namespace of <stdio.h>
      ----------------------------------------------------------------------------
        Total number of tests   :  168
        Number of failed tests  :    1
        Number of xfailed tests :    0
        Number of skipped tests :    0
      
      - FAIL: conform/POSIX2008/sys/stat.h/conform
      out-file:
      ...
      PASSCOMBINED: Availability of function utimensat
      PASSCOMBINED: Type of function utimensat
          Namespace violation: "mknodat"
      FAIL: Namespace of <sys/stat.h>
      ----------------------------------------------------------------------------
        Total number of tests   :   97
        Number of failed tests  :    1
        Number of xfailed tests :    0
        Number of skipped tests :    0
      
      For getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked in stdio.h,
      those are defined "# ifdef __USE_POSIX" instead of "#ifdef __USE_POSIX199506"
      for the non-inlining declaration. See also
      "Bug 20014 - stdio.h namespace for pre-threads POSIX"
      (https://sourceware.org/bugzilla/show_bug.cgi?id=20014).
      
      For mknodat in sys/stat.h, those are defined "# ifdef __USE_ATFILE" instead of
      the additional guard "# if defined __USE_MISC || defined __USE_XOPEN_EXTENDED".
      e1fd4bbe
  6. 19 Aug, 2020 3 commits
    • Joseph Myers's avatar
      Add C2x BOOL_MAX and BOOL_WIDTH to limits.h. · e5baabf5
      Joseph Myers authored
      C2x adds BOOL_MAX and BOOL_WIDTH macros to <limits.h>.  This patch
      adds them to glibc's <limits.h> for the case when they aren't defined
      by GCC's <limits.h>.
      
      Tested for x86_64.
      e5baabf5
    • Joseph Myers's avatar
      Use MPC 1.2.0 in build-many-glibcs.py. · c08df688
      Joseph Myers authored
      This patch makes build-many-glibcs.py use the new MPC 1.2.0 release.
      
      Tested with build-many-glibcs.py (host-libraries, compilers and glibcs
      builds).
      c08df688
    • Joseph Myers's avatar
      Add new STATX_* constants from Linux 5.8 to bits/statx-generic.h. · 88a2cf6c
      Joseph Myers authored
      This patch adds the new STATX_MNT_ID, STATX_ATTR_MOUNT_ROOT and
      STATX_ATTR_DAX macros from Linux 5.8 to glibc's bits/statx-generic.h.
      (As with previous such changes, this only does anything if glibc is
      being used with old kernel headers.)
      
      A comment in the Linux kernel headers indicates that STATX_ALL is
      deliberately not being changed.
      
      Tested for x86_64.
      88a2cf6c