Project

General

Profile

Bug #3809 » 3809.patch

Theo Schlossnagle, 2013-06-09 04:51 PM

View differences:

usr/src/lib/brand/solaris10/s10_brand/common/s10_brand.c
1386 1386
	    0, 0, 0, 0, 0));
1387 1387
}
1388 1388

  
1389
/*
1390
 * S10's pipe() syscall has a different calling convention
1391
 */
1392
static int
1393
s10_pipe(sysret_t *rval)
1394
{
1395
	int fds[2], err;
1396
	if ((err = __systemcall(rval, SYS_pipe + 1024, fds, 0)) != 0)
1397
		return (err);
1398

  
1399
	rval->sys_rval1 = fds[0];
1400
	rval->sys_rval2 = fds[1];
1401
	return (0);
1402
}
1403

  
1389 1404
static long
1390 1405
s10_uname(sysret_t *rv, uintptr_t p1)
1391 1406
{
......
1900 1915
	NOSYS,					/*  39 */
1901 1916
	NOSYS,					/*  40 */
1902 1917
	EMULATE(s10_dup, 1 | RV_DEFAULT),	/*  41 */
1903
	NOSYS,					/*  42 */
1918
	EMULATE(s10_pipe, 0 | RV_32RVAL2),	/*  42 */
1904 1919
	NOSYS,					/*  43 */
1905 1920
	NOSYS,					/*  44 */
1906 1921
	NOSYS,					/*  45 */
usr/src/uts/common/brand/solaris10/s10_brand.c
497 497
	s10_emulation_table[S10_SYS_access] = 1;		/*  33 */
498 498
	s10_emulation_table[SYS_kill] = 1;			/*  37 */
499 499
	s10_emulation_table[S10_SYS_dup] = 1;			/*  41 */
500
	s10_emulation_table[S10_SYS_pipe] = 1;			/*  41 */
500 501
	s10_emulation_table[SYS_ioctl] = 1;			/*  54 */
501 502
	s10_emulation_table[SYS_execve] = 1;			/*  59 */
502 503
	s10_emulation_table[SYS_acctctl] = 1;			/*  71 */
usr/src/uts/common/brand/solaris10/s10_brand.h
119 119
#define	S10_SYS_utime		30
120 120
#define	S10_SYS_access		33
121 121
#define	S10_SYS_dup		41
122
#define	S10_SYS_pipe		42
122 123
#define	S10_SYS_issetugid	75
123 124
#define	S10_SYS_fsat		76
124 125
#define	S10_SYS_rmdir		79
(1-1/2)