Re: [ANNOUNCE] April Release of LTP now Available

2005-04-06 Thread Alan Modra
On Thu, Apr 07, 2005 at 10:52:01AM +1000, Paul Mackerras wrote:
> Looks to me like gcc is objecting to our (ppc64's) _syscall2
> definition; Alan Modra (cc'd) can probably say what we're doing wrong.

I can't spot anything wrong.  Take a look at preprocessed source.

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [ANNOUNCE] April Release of LTP now Available

2005-04-06 Thread Chris Friesen
Paul Mackerras wrote:
if (__sc_err & 0x1000)  \
{   \
errno = __sc_ret;   \
__sc_ret = -1;  \
}   \

If you're messing with that code anyways, any chance of changing the 
assignment to "__sc_ret = -1UL;", since __sc_ret is of type unsigned long?

Chris
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [ANNOUNCE] April Release of LTP now Available

2005-04-06 Thread Paul Mackerras
Andrew Morton writes:

> Marty Ridgeway <[EMAIL PROTECTED]> wrote:
> >
> > The April release of LTP is now on SourceForge.
> > 
> >  LTP-20050405
> 
> It seems to have an x86ism in it which causes the compile to fail on ppc64:

Looks to me like gcc is objecting to our (ppc64's) _syscall2
definition; Alan Modra (cc'd) can probably say what we're doing wrong.

> socketcall01.c: In function `socketcall':
> socketcall01.c:80: error: asm-specifier for variable `__sc_4' conflicts with 
> asm clobber list
> 
> 
> 
> 
> #ifndef _syscall2
> #include 
> #endif
> 
> #include "test.h"
> #include "usctest.h"
> 
> char *TCID = "socketcall01"; /* Test program 
> identifier.*/
> #ifdef __NR_socketcall
> 
> _syscall2(int ,socketcall ,int ,call, unsigned long *, args);

Here is the definition of _syscall2 (for Alan):

#define __syscall_nr(nr, type, name, args...)   \
unsigned long __sc_ret, __sc_err;   \
{   \
register unsigned long __sc_0  __asm__ ("r0");  \
register unsigned long __sc_3  __asm__ ("r3");  \
register unsigned long __sc_4  __asm__ ("r4");  \
register unsigned long __sc_5  __asm__ ("r5");  \
register unsigned long __sc_6  __asm__ ("r6");  \
register unsigned long __sc_7  __asm__ ("r7");  \
register unsigned long __sc_8  __asm__ ("r8");  \
\
__sc_loadargs_##nr(name, args); \
__asm__ __volatile__\
("sc   \n\t"\
 "mfcr %0  "\
: "=&r" (__sc_0),   \
  "=&r" (__sc_3),  "=&r" (__sc_4),  \
  "=&r" (__sc_5),  "=&r" (__sc_6),  \
  "=&r" (__sc_7),  "=&r" (__sc_8)   \
: __sc_asm_input_##nr   \
: "cr0", "ctr", "memory",   \
"r9", "r10","r11", "r12");  \
__sc_ret = __sc_3;  \
__sc_err = __sc_0;  \
}   \
if (__sc_err & 0x1000)  \
{   \
errno = __sc_ret;   \
__sc_ret = -1;  \
}   \
return (type) __sc_ret

#define __sc_loadargs_0(name, dummy...) \
__sc_0 = __NR_##name
#define __sc_loadargs_1(name, arg1) \
__sc_loadargs_0(name);  \
__sc_3 = (unsigned long) (arg1)
#define __sc_loadargs_2(name, arg1, arg2)   \
__sc_loadargs_1(name, arg1);\
__sc_4 = (unsigned long) (arg2)
#define __sc_loadargs_3(name, arg1, arg2, arg3) \
__sc_loadargs_2(name, arg1, arg2);  \
__sc_5 = (unsigned long) (arg3)
#define __sc_loadargs_4(name, arg1, arg2, arg3, arg4)   \
__sc_loadargs_3(name, arg1, arg2, arg3);\
__sc_6 = (unsigned long) (arg4)
#define __sc_loadargs_5(name, arg1, arg2, arg3, arg4, arg5) \
__sc_loadargs_4(name, arg1, arg2, arg3, arg4);  \
__sc_7 = (unsigned long) (arg5)
#define __sc_loadargs_6(name, arg1, arg2, arg3, arg4, arg5, arg6)   \
__sc_loadargs_5(name, arg1, arg2, arg3, arg4, arg5);\
__sc_8 = (unsigned long) (arg6)

#define __sc_asm_input_0 "0" (__sc_0)
#define __sc_asm_input_1 __sc_asm_input_0, "1" (__sc_3)
#define __sc_asm_input_2 __sc_asm_input_1, "2" (__sc_4)
#define __sc_asm_input_3 __sc_asm_input_2, "3" (__sc_5)
#define __sc_asm_input_4 __sc_asm_input_3, "4" (__sc_6)
#define __sc_asm_input_5 __sc_asm_input_4, "5" (__sc_7)
#define __sc_asm_input_6 __sc_asm_input_5, "6" (__sc_8)

#define _syscall0(type,name)\
type name(void) \
{   \
__syscall_nr(0, type, name);\

Re: [LTP] Re: [ANNOUNCE] April Release of LTP now Available

2005-04-06 Thread Arjan van de Ven
On Wed, 2005-04-06 at 08:05 -0700, Dan Kegel wrote:
> Andrew Morton wrote:
> >> LTP-20050405
> > 
> > It seems to have an x86ism in it which causes the compile to fail on ppc64:
> > 
> > socketcall01.c: In function `socketcall':
> > socketcall01.c:80: error: asm-specifier for variable `__sc_4' conflicts 
> > with asm clobber list
> 
> That might be a problem with your toolchain.

I wonder why ltp doesn't just use the normal syscall() macro/functions
but instead insists on using stuff from kernel headers...


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [LTP] Re: [ANNOUNCE] April Release of LTP now Available

2005-04-06 Thread Dan Kegel
Andrew Morton wrote:
LTP-20050405
It seems to have an x86ism in it which causes the compile to fail on ppc64:
socketcall01.c: In function `socketcall':
socketcall01.c:80: error: asm-specifier for variable `__sc_4' conflicts with 
asm clobber list
That might be a problem with your toolchain.
Other mentions of that error message on Google
suggest that it's due to a kernel header problem.
I bet your toolchain uses kernel headers from 2.4.21 or earlier...
check includes/asm-ppc64/unistd.h to see if it's got the
line
  /* On powerpc a system call basically clobbers the same registers like a
in it.  If not, it may be missing the patch mentioned below.
See
http://ozlabs.org/pipermail/linuxppc64-dev/2003-April/000211.html
http://ozlabs.org/pipermail/linuxppc-dev/2002-October/014492.html
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9379
http://www.hu.kernel.org/pub/linux/kernel/v2.4/snapshots/incr/patch-2.4.22-bk57-bk58
- Dan
--
Trying to get a job as a c++ developer?  See 
http://kegel.com/academy/getting-hired.html
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [ANNOUNCE] April Release of LTP now Available

2005-04-06 Thread Andrew Morton
Marty Ridgeway <[EMAIL PROTECTED]> wrote:
>
> The April release of LTP is now on SourceForge.
> 
>  LTP-20050405

It seems to have an x86ism in it which causes the compile to fail on ppc64:

socketcall01.c: In function `socketcall':
socketcall01.c:80: error: asm-specifier for variable `__sc_4' conflicts with 
asm clobber list




#ifndef _syscall2
#include 
#endif

#include "test.h"
#include "usctest.h"

char *TCID = "socketcall01"; /* Test program 
identifier.*/
#ifdef __NR_socketcall

_syscall2(int ,socketcall ,int ,call, unsigned long *, args);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[ANNOUNCE] April Release of LTP now Available

2005-04-05 Thread Marty Ridgeway




The April release of LTP is now on SourceForge.

LTP-20050405
- Fixed '-d' option to runltp.sh
- Added optional ltp (fivextra) extended testsuite
- Added digital signiture testcases from the security team
- Applied patch from Gernot Payer to fix, mincore01, shmget02, capset02
- Applied suggested check from Carl van_Schaik to clone02.
- Added seLinux testsuite from security team and Stephen Smalley.
- Added NFS cthon04 tests needed files.


Linux Test Project
Linux Technology Center
IBM Corporation


Internet E-Mail : [EMAIL PROTECTED]
IBM, 11501 Burnet Rd, Austin, TX  78758
Phone (512) 838-1356 - T/L 678-1356 - Bldg. 908/1C005
Austin, TX.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/