https://bugs.kde.org/show_bug.cgi?id=464000
Bug ID: 464000
Summary: Test timerfd-syscall stops/fails when compiled with
_TIME_BITS=64 on 32bit
Classification: Developer tools
Product: valgrind
Version: 3.19.0
Platform: RedHat Enterprise Linux
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: general
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
Created attachment 155104
--> https://bugs.kde.org/attachment.cgi?id=155104&action=edit
patch for timerfd-syscall test failure with _TIME_BITS=64
SUMMARY
Test timerfd-syscall stops/fails when compiled with _TIME_BITS=64 on 32bit
STEPS TO REPRODUCE
1. On LInux, prepare a 32bit compile environment. Installing 32bit
development env and "setarch i686" is often enough.
2. CPPFLAGS="-D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64" ./configure
3. make
4. make check
OBSERVED RESULT
Test halts at:
timerfd-syscall: valgrind ./timerfd-syscall
EXPECTED RESULT
All tests pass.
SOFTWARE/OS VERSIONS
Linux: 5.14.0-162.6.1.el9_1.0.1.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Nov 28
18:44:09 UTC 2022 i686 i686 i386 GNU/Linux
glibc: glibc-2.34-28.el9_0.v1.i586
ADDITIONAL INFORMATION
timerfd-syscall.c overrides system function timerfd_settime() and
timerfd_gettime(),
but when _TIME_BITS=64 is enabled on GLIBC system, these function calls become
alias to __timerfd_settime64(), __timerfd_gettime64(). timerfd-syscall.c
should call the correct underlining system call under _TIME_BITS=64.
The attached patch seems to fix this.
Note that #include <sys/timerfd.h> is not surrounded by #if
defined(HAVE_SYS_TIMERFD_H), since configure does not yet detect this.
--
You are receiving this mail because:
You are watching all bug changes.