Bug 4472 - sytemtap.syscall failures on ppc64.
Summary: sytemtap.syscall failures on ppc64.
Status: RESOLVED FIXED
Alias: None
Product: systemtap
Classification: Unclassified
Component: testsuite (show other bugs)
Version: unspecified
: P2 normal
Target Milestone: ---
Assignee: Unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-05-08 11:39 UTC by Srinivasa DS
Modified: 2010-01-13 20:58 UTC (History)
4 users (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Srinivasa DS 2007-05-08 11:39:25 UTC
We have some systemtap.syscall testcase failures on ppc64, most of them are due
to difference in expected and actual systemcalls.

I have listed all those failures along with expected and actual statements.
Please let me know if you need any information on this.


============================
 1)    FAIL: 32-bit stat
=========================

*stat: fstat (4, 0x00000000ffbff6e8) = 0
stat: close (4) = 0
*stat: stat ("foobar", 0x00000000ffbff6e8) = 0
stat: lstat64 ("foobar", 0x00000000ffbff6e8) = 0
stat: utime ("foobar", [1970/01/01-00:00:01, 2005/12/27-00:00:00]) = 0
stat: utime ("foobar", [2005/12/27-13:26:40, 2005/12/27-16:13:20]) = 0
stat: exit_group (0) =
  stat: exit (0) =
--------- EXPECTED and NOT MATCHED ----------
stat: lstat \("foobar", [x0-9a-fA-F]+\) = 0
stat: utime \("foobar", \[1970/01/01-00:00:01, 2005/12/27-00:00:00\]\) = 0
stat: utime \("foobar", \[2005/12/27-13:26:40, 2005/12/27-16:13:20\]\) = 0
==================================
2) FAIL: 32-bit readwrite
===============================
*readwrite: write (4, "Hello world abc"..., 50) = 50
readwrite: writev (unknown fd, 0x00000000ffc4f794, 3) = 15
readwrite: lseek (4, 0, SEEK_SET) = 0
readwrite: lseek (4, 1, SEEK_CUR) = 1
readwrite: lseek (4, -1, SEEK_END) = 75
readwrite: close (4) = 0
readwrite: open ("foobar1", O_RDONLY) = 4
readwrite: read (4, 0x00000000ffc4f7c4, 11) = 11
readwrite: read (4, 0x00000000ffc4f7c4, 50) = 50
readwrite: readv (unknown fd, 0x00000000ffc4f7ac, 3) = 15
readwrite: close (4) = 0
readwrite: exit_group (0) =
  readwrite: exit (0) =
--------- EXPECTED and NOT MATCHED ----------
readwrite: writev \(4, [x0-9a-fA-F]+, 3\) = 15
readwrite: lseek \(4, 0, SEEK_SET\) = 0
readwrite: lseek \(4, 1, SEEK_CUR\) = 1
readwrite: lseek \(4, -1, SEEK_END\) = 75
readwrite: open \("foobar1", O_RDONLY\) = 4
readwrite: read \(4, [x0-9a-fA-F]+, 11\) = 11
readwrite: read \(4, [x0-9a-fA-F]+, 50\) = 50
readwrite: readv \(4, [x0-9a-fA-F]+, 3\) = 15
================================================
3) FAIL: 32-bit clock
==============================
clock: munmap (0x0000000040000000, 82825) = 0
*clock: time (0x00000000ffb3f86c) = 1178535421
*clock: time (0x0000000000000000) = 1178535421
clock: clock_gettime (CLOCK_REALTIME, 0xc0000000094bbdf0) = 0
clock: clock_settime (CLOCK_REALTIME, [1178535421.061788000]) = 0
clock: clock_getres (CLOCK_REALTIME, 0xc0000000094bbdf0) = 0
clock: clock_gettime (CLOCK_MONOTONIC, 0xc0000000094bbdf0) = 0
clock: clock_settime (CLOCK_MONOTONIC, [21490.227496837]) = -22 (EINVAL)
clock: clock_getres (CLOCK_MONOTONIC, 0xc0000000094bbdf0) = 0
clock: clock_gettime (CLOCK_PROCESS_CPUTIME_ID, 0xc0000000094bbdf0) = 0
clock: clock_settime (CLOCK_PROCESS_CPUTIME_ID, [0.004347000]) = -22 (EINVAL)
clock: clock_getres (CLOCK_PROCESS_CPUTIME_ID, 0xc0000000094bbdf0) = 0
clock: clock_gettime (CLOCK_THREAD_CPUTIME_ID, 0xc0000000094bbdf0) = 0
clock: clock_settime (CLOCK_THREAD_CPUTIME_ID, [0.004376616]) = -22 (EINVAL)
clock: clock_getres (CLOCK_THREAD_CPUTIME_ID, 0xc0000000094bbdf0) = 0
clock: clock_gettime (CLOCK_REALTIME, 0xc0000000094bbdf0) = 0
clock: clock_nanosleep (CLOCK_REALTIME, TIMER_ABSTIME, [1178535422.061903000],
0xc0000000094bbde0) = 0
clock: clock_nanosleep (CLOCK_REALTIME, 0, [0.000010000], 0xc0000000094bbde0) = 0
clock: exit_group (0) =
  clock: exit (0) =
--------- EXPECTED and NOT MATCHED ----------
clock: gettimeofday \([x0-9a-fA-F]+, 0x[0]+\) = 0
clock: settimeofday \(\[[\-0-9]+.[\-0-9]+\], NULL\) =
clock: clock_gettime \(CLOCK_REALTIME, [x0-9a-fA-F]+\) = 0
clock: clock_settime \(CLOCK_REALTIME, \[[\-0-9]+.[\-0-9]+\]\) =
clock: clock_getres \(CLOCK_REALTIME, [x0-9a-fA-F]+\) = 0
clock: clock_gettime \(CLOCK_MONOTONIC, [x0-9a-fA-F]+\) = 0
clock: clock_settime \(CLOCK_MONOTONIC, \[[\-0-9]+.[\-0-9]+\]\) =
clock: clock_getres \(CLOCK_MONOTONIC, [x0-9a-fA-F]+\) = 0
clock: clock_gettime \(CLOCK_PROCESS_CPUTIME_ID, [x0-9a-fA-F]+\) =
clock: clock_settime \(CLOCK_PROCESS_CPUTIME_ID, \[[\-0-9]+.[\-0-9]+\]\) =
clock: clock_getres \(CLOCK_PROCESS_CPUTIME_ID, [x0-9a-fA-F]+\) =
clock: clock_gettime \(CLOCK_THREAD_CPUTIME_ID, [x0-9a-fA-F]+\) =
clock: clock_settime \(CLOCK_THREAD_CPUTIME_ID, \[[\-0-9]+.[\-0-9]+\]\) =
clock: clock_getres \(CLOCK_THREAD_CPUTIME_ID, [x0-9a-fA-F]+\) =
clock: clock_gettime \(CLOCK_REALTIME, [x0-9a-fA-F]+\) = 0
clock: clock_nanosleep \(CLOCK_REALTIME, TIMER_ABSTIME, \[[\-0-9]+.[\-0-9]+\],
[x0-9a-fA-F]+\) = 0
clock: clock_nanosleep \(CLOCK_REALTIME, 0, \[[\-0-9]+.[\-0-9]+\],
[x0-9a-fA-F]+\) = 0
============================================
4) FAIL: 32-bit alarm
============================================
*alarm: alarm (1) = 0
alarm: alarm (0) = 0
alarm: rt_sigprocmask (SIG_BLOCK, 0xc000000001fe3e00, 0xc000000001fe3e00, 8) = 0
alarm: rt_sigaction (SIGCHLD, 0x0000000000000000, 0x00000000ff82f554, 8) = 0
alarm: rt_sigprocmask (SIG_SETMASK, 0xc000000001fe3e00, 0x0000000000000000, 8) = 0
alarm: nanosleep ([1.000000000], 0x00000000ff82f608) = 0
alarm: nanosleep ([0.001234000], 0x0000000000000000) = 0
alarm: nanosleep ([0.000000789], 0x00000000ff82f7d8) = 0
alarm: nanosleep ([0.000000789], 0x0000000000000000) = 0
alarm: exit_group (0) =
  alarm: exit (0) =
--------- EXPECTED and NOT MATCHED ----------
alarm: pause \(\) =
alarm: alarm \(0\) = 0
alarm: nanosleep \(\[1.000000000\], [x0-9a-fA-F]+\) = 0
alarm: nanosleep \(\[0.001234000\], 0x[0]+\) = 0
alarm: nanosleep \(\[0.000000789\], [x0-9a-fA-F]+\) = 0
alarm: nanosleep \(\[0.000000789\], 0x[0]+\) = 0
=========================================================
5) FAIL: 64-bit signal
===============================
signal: munmap (0x0000040000000000, 82825) = 0
signal: signal (SIGUSR1, 0x0000000000000001) = 0
signal: signal (SIGUSR1, 0x0000000000000000) = 1
signal: signal (SIGUSR1, 0x0000000010010c10) = 0
signal: ni_syscall () = -38 (ENOSYS)
signal: ni_syscall () = -38 (ENOSYS)
signal: ni_syscall () = -38 (ENOSYS)
signal: exit_group (0) =
  signal: exit (0) =
--------- EXPECTED and NOT MATCHED ----------
signal: signal \(SIGUSR1, 0x00000001\) = 0
signal: signal \(SIGUSR1, 0x00000000\) = 1
signal: signal \(SIGUSR1, [x0-9a-fA-F]+\) = 0
signal: sigprocmask \(SIG_BLOCK, [x0-9a-fA-F]+, 0x[0]+\) = 0
signal: sigprocmask \(SIG_UNBLOCK, [x0-9a-fA-F]+, 0x[0]+\) = 0
signal: sigaction \(SIGUSR1, [x0-9a-fA-F]+, 0x[0]+\) = 0
=============================================
6) FAIL: 64-bit readwrite
============================================
*readwrite: write (4, "Hello world", 11) = 11
*readwrite: write (4, "Hello world abc"..., 50) = 50
readwrite: writev (unknown fd, 0x00000fffffa6f450, 3) = 15
readwrite: lseek (4, 0, SEEK_SET) = 0
readwrite: lseek (4, 1, SEEK_CUR) = 1
readwrite: lseek (4, -1, SEEK_END) = 75
readwrite: close (4) = 0
readwrite: open ("foobar1", O_RDONLY) = 4
readwrite: read (4, 0x00000fffffa6f4b0, 11) = 11
readwrite: read (4, 0x00000fffffa6f4b0, 50) = 50
readwrite: readv (unknown fd, 0x00000fffffa6f480, 3) = 15
readwrite: close (4) = 0
readwrite: exit_group (0) =
  readwrite: exit (0) =
--------- EXPECTED and NOT MATCHED ----------
readwrite: writev \(4, [x0-9a-fA-F]+, 3\) = 15
readwrite: lseek \(4, 0, SEEK_SET\) = 0
readwrite: lseek \(4, 1, SEEK_CUR\) = 1
readwrite: lseek \(4, -1, SEEK_END\) = 75
readwrite: open \("foobar1", O_RDONLY\) = 4
readwrite: read \(4, [x0-9a-fA-F]+, 11\) = 11
readwrite: read \(4, [x0-9a-fA-F]+, 50\) = 50
readwrite: readv \(4, [x0-9a-fA-F]+, 3\) = 15
======================================================
Comment 1 Martin Hunt 2007-05-09 17:39:16 UTC
For #2, in tapset/syscalls.stp there is the following

probe syscall.readv = 
		kernel.function("sys_readv"),
		kernel.function("compat_sys_readv") ?
{
	name = "readv"
	vector_uaddr = $vec
	count = $vlen
/* FIXME: RHEL4 U3 ppc64 can't resolve $fd */
%( arch != "ppc64" %?
	fd = $fd
	argstr = sprintf("%d, %p, %d", $fd, $vec, $vlen)
%:
	argstr = sprintf("unknown fd, %p, %d", $vec, $vlen)
%)
}

Can someone tell me if this is still true and if it is, for what kernels?
Comment 2 Martin Hunt 2007-05-09 18:42:18 UTC
Checked in fixes for most of these.  See comment #1.

These fixes were not tested on ppc64.  Please test and post results.
Comment 3 Srinivasa DS 2007-05-31 09:38:55 UTC
Results looks like this....


======================
mmap 64
==================
*mmap: munlock (0x0000040000020000, 1030) = 0
mmap: mlockall () = 0
mmap: munlockall () = 0
mmap: munmap (0x0000040000020000, 1030) = 0
mmap: exit_group (0) =
  mmap: exit (0) =
--------- EXPECTED and NOT MATCHED ----------
mmap: mlockall \(MCL_CURRENT\) =
mmap: munlockall \(\) = 0
mmap: munmap \([x0-9a-fA-F]+, 1030\) = 0
======================
================
readwrite 64
================
readwrite: writev (unknown fd, 0x00000fffffb5f450, 3) = 15
readwrite: lseek (4, 0, SEEK_SET) = 0
readwrite: lseek (4, 1, SEEK_CUR) = 1
readwrite: lseek (4, -1, SEEK_END) = 75
readwrite: close (4) = 0
readwrite: open ("foobar1", O_RDONLY) = 4
readwrite: read (4, 0x00000fffffb5f4b0, 11) = 11
readwrite: read (4, 0x00000fffffb5f4b0, 50) = 50
readwrite: readv (unknown fd, 0x00000fffffb5f480, 3) = 15
readwrite: close (4) = 0
readwrite: exit_group (0) =
  readwrite: exit (0) =
--------- EXPECTED and NOT MATCHED ----------
readwrite: writev \(4, [x0-9a-fA-F]+, 3\) = 15
readwrite: lseek \(4, 0, SEEK_SET\) = 0
readwrite: lseek \(4, 1, SEEK_CUR\) = 1
readwrite: lseek \(4, -1, SEEK_END\) = 75
readwrite: open \("foobar1", O_RDONLY\) = 4
readwrite: read \(4, [x0-9a-fA-F]+, 11\) = 11
readwrite: read \(4, [x0-9a-fA-F]+, 50\) = 50
readwrite: readv \(4, [x0-9a-fA-F]+, 3\) = 15
=============================
================
signal 64
================
*signal: signal (SIGUSR1, 0x0000000000000000) = 1
*signal: signal (SIGUSR1, 0x0000000010010c10) = 0
signal: ni_syscall () = -38 (ENOSYS)
signal: ni_syscall () = -38 (ENOSYS)
signal: ni_syscall () = -38 (ENOSYS)
signal: exit_group (0) =
  signal: exit (0) =
--------- EXPECTED and NOT MATCHED ----------
signal: sigprocmask \(SIG_BLOCK, [x0-9a-fA-F]+, 0x0+\) = 0
signal: sigprocmask \(SIG_UNBLOCK, [x0-9a-fA-F]+, 0x0+\) = 0
signal: sigaction \(SIGUSR1, [x0-9a-fA-F]+, 0x0+\) = 0
========================
=========================
clock 32
===================
*clock: gettimeofday (0x00000000ffaaf85c, 0x0000000000000000) = 0              
                   clock: clock_gettime (CLOCK_REALTIME, 0xc00000000263fdf0) = 0
                                     clock: clock_settime (CLOCK_REALTIME,
[1180354984.307383000]) = 0                                  clock: clock_getres
(CLOCK_REALTIME, 0xc00000000263fdf0) = 0                                      
clock: clock_gettime (CLOCK_MONOTONIC, 0xc00000000263fdf0) = 0                 
                   clock: clock_settime (CLOCK_MONOTONIC, [5946.106629305]) =
-22 (EINVAL)                            clock: clock_getres (CLOCK_MONOTONIC,
0xc00000000263fdf0) = 0                                      clock:
clock_gettime (CLOCK_PROCESS_CPUTIME_ID, 0xc00000000263fdf0) = 0               
            clock: clock_settime (CLOCK_PROCESS_CPUTIME_ID, [0.004164152]) = -22
(EINVAL)                      clock: clock_getres (CLOCK_PROCESS_CPUTIME_ID,
0xc00000000263fdf0) = 0                             clock: clock_gettime
(CLOCK_THREAD_CPUTIME_ID, 0xc00000000263fdf0) = 0                            
clock: clock_settime (CLOCK_THREAD_CPUTIME_ID, [0.004193312]) = -22 (EINVAL)   
                   clock: clock_getres (CLOCK_THREAD_CPUTIME_ID,
0xc00000000263fdf0) = 0                              clock: clock_gettime
(CLOCK_REALTIME, 0xc00000000263fdf0) = 0                                     
clock: clock_nanosleep (CLOCK_REALTIME, TIMER_ABSTIME, [1180354985.307487000],
0xc00000000263fde0) = 0                                                        
                                       clock: clock_nanosleep (CLOCK_REALTIME,
0, [0.000010000], 0xc00000000263fde0) = 0                  clock: exit_group (0) =
  clock: exit (0) =
--------- EXPECTED and NOT MATCHED ----------
clock: settimeofday \(\[[\-0-9]+.[\-0-9]+\], NULL\) =
clock: clock_gettime \(CLOCK_REALTIME, [x0-9a-fA-F]+\) = 0
clock: clock_settime \(CLOCK_REALTIME, \[[\-0-9]+.[\-0-9]+\]\) =
clock: clock_getres \(CLOCK_REALTIME, [x0-9a-fA-F]+\) = 0
clock: clock_gettime \(CLOCK_MONOTONIC, [x0-9a-fA-F]+\) = 0
clock: clock_settime \(CLOCK_MONOTONIC, \[[\-0-9]+.[\-0-9]+\]\) =
clock: clock_getres \(CLOCK_MONOTONIC, [x0-9a-fA-F]+\) = 0
clock: clock_gettime \(CLOCK_PROCESS_CPUTIME_ID, [x0-9a-fA-F]+\) =
clock: clock_settime \(CLOCK_PROCESS_CPUTIME_ID, \[[\-0-9]+.[\-0-9]+\]\) =
clock: clock_getres \(CLOCK_PROCESS_CPUTIME_ID, [x0-9a-fA-F]+\) =
clock: clock_gettime \(CLOCK_THREAD_CPUTIME_ID, [x0-9a-fA-F]+\) =
clock: clock_settime \(CLOCK_THREAD_CPUTIME_ID, \[[\-0-9]+.[\-0-9]+\]\) =
clock: clock_getres \(CLOCK_THREAD_CPUTIME_ID, [x0-9a-fA-F]+\) =
clock: clock_gettime \(CLOCK_REALTIME, [x0-9a-fA-F]+\) = 0
clock: clock_nanosleep \(CLOCK_REALTIME, TIMER_ABSTIME, \[[\-0-9]+.[\-0-9]+\],
[x0-9a-fA-F]+\) = 0
clock: clock_nanosleep \(CLOCK_REALTIME, 0, \[[\-0-9]+.[\-0-9]+\],
[x0-9a-fA-F]+\) = 0
============================
mmap 32
============================
mmap: mlockall () = 0
mmap: munlockall () = 0
mmap: munmap (0x0000000040020000, 1030) = 0
mmap: exit_group (0) =
  mmap: exit (0) =
--------- EXPECTED and NOT MATCHED ----------
mmap: mlockall \(MCL_CURRENT\) =
mmap: munlockall \(\) = 0
mmap: munmap \([x0-9a-fA-F]+, 1030\) = 0
======================================
=============================
readwrite-32
===============================
readwrite: writev (unknown fd, 0x00000000fff5f794, 3) = 15
readwrite: lseek (4, 0, SEEK_SET) = 0
readwrite: lseek (4, 1, SEEK_CUR) = 1
readwrite: lseek (4, -1, SEEK_END) = 75
readwrite: close (4) = 0
readwrite: open ("foobar1", O_RDONLY) = 4
readwrite: read (4, 0x00000000fff5f7c4, 11) = 11
readwrite: read (4, 0x00000000fff5f7c4, 50) = 50
readwrite: readv (unknown fd, 0x00000000fff5f7ac, 3) = 15
readwrite: close (4) = 0
readwrite: exit_group (0) =
  readwrite: exit (0) =
--------- EXPECTED and NOT MATCHED ----------
readwrite: writev \(4, [x0-9a-fA-F]+, 3\) = 15
readwrite: lseek \(4, 0, SEEK_SET\) = 0
readwrite: lseek \(4, 1, SEEK_CUR\) = 1
readwrite: lseek \(4, -1, SEEK_END\) = 75
readwrite: open \("foobar1", O_RDONLY\) = 4
readwrite: read \(4, [x0-9a-fA-F]+, 11\) = 11
readwrite: read \(4, [x0-9a-fA-F]+, 50\) = 50
readwrite: readv \(4, [x0-9a-fA-F]+, 3\) = 15
=============================
signal 32
==================
*signal: signal (SIGUSR1, 0x00000000100004bc) = 0
signal: sigprocmask (SIG_BLOCK, 0x00000000ffe4f76c, 0x0000000000000000) =
  signal: compat_sys_sigprocmask (SIG_BLOCK, 0x00000000ffe4f76c,
0x0000000000000000) =
*    signal: sigprocmask (SIG_BLOCK, 0xc00000002da0bdf0, 0x0000000000000000) = 0
signal: sigprocmask (SIG_UNBLOCK, 0x00000000ffe4f76c, 0x0000000000000000) =
  signal: compat_sys_sigprocmask (SIG_UNBLOCK, 0x00000000ffe4f76c,
0x0000000000000000) =
*    signal: sigprocmask (SIG_UNBLOCK, 0xc00000002da0bdf0, 0x0000000000000000) = 0
signal: exit_group (0) =
  signal: exit (0) =
--------- EXPECTED and NOT MATCHED ----------
signal: sigaction \(SIGUSR1, [x0-9a-fA-F]+, 0x0+\) = 0
==============================
Comment 4 Srinivasa DS 2007-07-09 13:34:00 UTC
32-bit version of futimes system call test fails, but 64-bit version passes.
==========================
futimes: compat_sys_utimes ("foobar", [4294967296000001234.8589934592000005678]) =
  futimes: futimesat (4294967196, "foobar",
[4294967296000001234.8589934592000005678][2262274496051
4141.-3458764513808299008]) = 0
futimes: compat_sys_utimes ("/proc/self/fd/4",
[4294967296000001234.8589934592000005678]) =
  futimes: futimesat (4294967196, "/proc/self/fd/4",
[4294967296000001234.8589934592000005678][1553
8522571618397.-3458764513808299008]) = 0
futimes: futimesat (7, "foobar",
[4294967296000001234.8589934592000005678][0.181953150432627]) = -9
 (EBADF)
futimes: futimesat (4294967196, "foobar",
[4294967296000001234.8589934592000005678][0.1819531504363
46]) = 0
futimes: exit_group (0) =
  futimes: exit (0) =
--------- EXPECTED and NOT MATCHED ----------
futimes: utimes \("foobar", \[1000000000.001234\]\[2000000000.005678\]\)
futimes: futimesat \(-100, "foobar", \[1000000000.001234\]\[2000000000.005678\]\)
futimes: futimesat \(7, "foobar", \[1000000000.001234\]\[2000000000.005678\]\)
futimes: futimesat \(-100, "foobar", \[1000000000.001234\]\[2000000000.005678\]\)
================================================
Comment 5 Martin Hunt 2007-07-09 16:34:24 UTC
(In reply to comment #4)
> 32-bit version of futimes system call test fails, but 64-bit version passes.

Checked in fix for this one.
Comment 6 Srinivasa DS 2007-09-24 12:21:39 UTC
64-bit version of uid16 and 32-bit version of uid16 is failing on 20070922
systemtap snapshot.
===========================================
Testing 64-bit uid16
Executing on host: gcc
/home/systemtap/tmp/stap_testing_200709240751/src/testsuite/systemtap.syscall/uid16.c
 -m64  -lm   -o /tmp/staptest23012/uid16    (timeout = 300)
/usr/lib/gcc/ppc64-redhat-linux/4.1.1/../../../../lib64/crt1.o:(.data.rel.ro.local+0x8):
undefined reference to `main'^M
collect2: ld returned 1 exit status^M
compiler exited with status 1
output is:
/usr/lib/gcc/ppc64-redhat-linux/4.1.1/../../../../lib64/crt1.o:(.data.rel.ro.local+0x8):
undefined reference to `main'^M
collect2: ld returned 1 exit status^M

FAIL: 64-bit uid16
======================================================
Testing 32-bit uid16
Executing on host: gcc
/home/systemtap/tmp/stap_testing_200709240751/src/testsuite/systemtap.syscall/uid16.c
 -m32  -lm   -o /tmp/staptest24595/uid16    (timeout = 300)
/usr/lib/gcc/ppc64-redhat-linux/4.1.1/../../../../lib/crt1.o:(.rodata+0x4):
undefined reference to `main'^M
collect2: ld returned 1 exit status^M
compiler exited with status 1
output is:
/usr/lib/gcc/ppc64-redhat-linux/4.1.1/../../../../lib/crt1.o:(.rodata+0x4):
undefined reference to `main'^M
collect2: ld returned 1 exit status^M

FAIL: 32-bit uid16
==============================================
Comment 7 David Wilder 2007-10-16 16:32:55 UTC
(In reply to comment #4)
> 32-bit version of futimes system call test fails, but 64-bit version passes.
> ==========================
> futimes: compat_sys_utimes ("foobar", [4294967296000001234.8589934592000005678]) =
>   futimes: futimesat (4294967196, "foobar",
> [4294967296000001234.8589934592000005678][2262274496051
> 4141.-3458764513808299008]) = 0
> futimes: compat_sys_utimes ("/proc/self/fd/4",
> [4294967296000001234.8589934592000005678]) =
>   futimes: futimesat (4294967196, "/proc/self/fd/4",
> [4294967296000001234.8589934592000005678][1553
> 8522571618397.-3458764513808299008]) = 0
> futimes: futimesat (7, "foobar",
> [4294967296000001234.8589934592000005678][0.181953150432627]) = -9
>  (EBADF)
> futimes: futimesat (4294967196, "foobar",
> [4294967296000001234.8589934592000005678][0.1819531504363
> 46]) = 0
> futimes: exit_group (0) =
>   futimes: exit (0) =
> --------- EXPECTED and NOT MATCHED ----------
> futimes: utimes \("foobar", \[1000000000.001234\]\[2000000000.005678\]\)
> futimes: futimesat \(-100, "foobar", \[1000000000.001234\]\[2000000000.005678\]\)
> futimes: futimesat \(7, "foobar", \[1000000000.001234\]\[2000000000.005678\]\)
> futimes: futimesat \(-100, "foobar", \[1000000000.001234\]\[2000000000.005678\]\)
> ================================================
> 
The 32-bit version of futimers may have been fixed under PR5181.
Please test on ppc64.  Snapshot 20071020 should have this fix.
Comment 8 David Smith 2010-01-13 20:58:06 UTC
On ppc64 (kernel 2.6.18-164.el5), with current systemtap (after the bug #11167
fix), I'm only seeing 1 syscall testsuite failure on ppc64.

====
Running /root/src/testsuite/systemtap.syscall/syscall.exp ...
FAIL: 64-bit signal

		=== systemtap Summary ===

# of expected passes		57
# of unexpected failures	1
# of unsupported tests		2
====

As mentioned in bug #4425, the lone failure in the 64-bit signal test is due to
the kernel not implementing the sigaction and sigprocmask calls for 64-bit
executables.