strace 4.5.8-1 # strace date <snip> SYS_1254(0, 0x60000fffffffb440, 0x3, 0, 0, 0, 0, 0) = 0 <snip>
I have fixed this upstream.
Fix confirmed with strace-4.5.9-2.EL4. Moving to PROD_READY to await release as part of U1.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2005-131.html
Created attachment 319439 [details] Source for test case
Below is the (partial) output from execution strace on the binary compiled from the attached code. Please forward this issue down-stream to the Fedora folks. They seem to have lost a patch somewhere along the way. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Fedora 9 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240W \245<\0\0\0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=143096, ...}) = 0 mmap(0x3ca5200000, 2204496, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ca5200000 mprotect(0x3ca5216000, 2093056, PROT_NONE) = 0 mmap(0x3ca5415000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x3ca5415000 mmap(0x3ca5417000, 13136, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3ca5417000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1c86908000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1c86907000 arch_prctl(ARCH_SET_FS, 0x7f1c869076f0) = 0 mprotect(0x3ca5415000, 4096, PROT_READ) = 0 mprotect(0x3ca4962000, 16384, PROT_READ) = 0 mprotect(0x3ca6007000, 4096, PROT_READ) = 0 mprotect(0x3ca441c000, 4096, PROT_READ) = 0 munmap(0x7f1c8690a000, 137457) = 0 set_tid_address(0x7f1c86907780) = 28956 set_robust_list(0x7f1c86907790, 0x18) = 0 futex(0x7fff8e92a90c, FUTEX_WAKE_PRIVATE, 1) = 0 rt_sigaction(SIGRTMIN, {0x3ca5205630, [], SA_RESTORER|SA_SIGINFO, 0x3ca520ed30}, NULL, 8) = 0 rt_sigaction(SIGRT_1, {0x3ca52056c0, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x3ca520ed30}, NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 getrlimit(RLIMIT_STACK, {rlim_cur=10240*1024, rlim_max=RLIM_INFINITY}) = 0 fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1c8692b000 write(1, "Elapsed time: 3925 ns\n", 22Elapsed time: 3925 ns ) = 22 nanosleep({0, 50}, NULL) = 0 write(1, "Elapsed time with sleep: 45739.0"..., 38Elapsed time with sleep: 45739.000 ns ) = 38 exit_group(0) = ? ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ RHEL5 System ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 V\360#0"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=129952, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a95562000 mmap(0x3023f00000, 1131384, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3023f00000 mprotect(0x3023f10000, 1065848, PROT_NONE) = 0 mmap(0x302400f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x302400f000 mmap(0x3024011000, 13176, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3024011000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a95563000 mprotect(0x302400f000, 4096, PROT_READ) = 0 mprotect(0x302322c000, 12288, PROT_READ) = 0 mprotect(0x3025108000, 4096, PROT_READ) = 0 mprotect(0x3022f14000, 4096, PROT_READ) = 0 arch_prctl(ARCH_SET_FS, 0x2a95563500) = 0 munmap(0x2a95557000, 41961) = 0 set_tid_address(0x2a95563590) = 5604 rt_sigaction(SIGRTMIN, {0x3023f05190, [], SA_RESTORER|SA_SIGINFO, 0x3023f0c4f0}, NULL, 8) = 0 rt_sigaction(SIGRT_1, {0x3023f05210, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x3023f0c4f0}, NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 getrlimit(RLIMIT_STACK, {rlim_cur=10240*1024, rlim_max=RLIM_INFINITY}) = 0 _sysctl({{CTL_KERN, KERN_VERSION}, 2, 0x7fbffff130, 35, (nil), 0}) = 0 clock_gettime(CLOCK_REALTIME, {1223086845, 4335000}) = 0 clock_gettime(CLOCK_REALTIME, {1223086845, 4491000}) = 0 fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a95557000 write(1, "Elapsed time: 156000 ns\n", 24Elapsed time: 156000 ns ) = 24 clock_gettime(CLOCK_REALTIME, {1223086845, 5259000}) = 0 nanosleep({0, 50}, NULL) = 0 clock_gettime(CLOCK_REALTIME, {1223086845, 8460000}) = 0 write(1, "Elapsed time with sleep: 3201000"..., 40Elapsed time with sleep: 3201000.000 ns ) = 40 exit_group(0) = ? ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++