Do not use the _syscall5 macro -- use syscall(2) instead

This commit is contained in:
Eric Andersen 2003-12-04 07:07:14 +00:00
parent 3860b2ebd6
commit 50547c0745

View File

@ -847,7 +847,7 @@ typedef struct {
#define SUN_SSWAP32(x) (sun_other_endian ? __swap32(x) \ #define SUN_SSWAP32(x) (sun_other_endian ? __swap32(x) \
: (uint32_t)(x)) : (uint32_t)(x))
#if defined(FDISK_SUPPORT_LARGE_DISKS) #if defined(CONFIG_LFS) || defined(FDISK_SUPPORT_LARGE_DISKS)
/* /*
* llseek.c -- stub calling the llseek system call * llseek.c -- stub calling the llseek system call
* *
@ -856,21 +856,13 @@ typedef struct {
*/ */
#include <syscall.h>
#if defined(__alpha__) || defined(__ia64__) || defined(__s390x__) #if defined(__alpha__) || defined(__ia64__) || defined(__s390x__)
#define my_llseek lseek #define my_llseek lseek
#else #else
static int _llseek (unsigned int, unsigned long, #include <syscall.h>
unsigned long, fdisk_loff_t *, unsigned int);
static _syscall5(int,_llseek,unsigned int,f_d,unsigned long,offset_high,
unsigned long, offset_low,fdisk_loff_t *,result,
unsigned int, origin);
static fdisk_loff_t my_llseek (unsigned int f_d, fdisk_loff_t offset, static fdisk_loff_t my_llseek (unsigned int f_d, fdisk_loff_t offset,
unsigned int origin) unsigned int origin)
@ -878,7 +870,7 @@ static fdisk_loff_t my_llseek (unsigned int f_d, fdisk_loff_t offset,
fdisk_loff_t result; fdisk_loff_t result;
int retval; int retval;
retval = _llseek (f_d, ((unsigned long long) offset) >> 32, retval = syscall(__NR__llseek, f_d, ((unsigned long long) offset) >> 32,
((unsigned long long) offset) & 0xffffffff, ((unsigned long long) offset) & 0xffffffff,
&result, origin); &result, origin);
return (retval == -1 ? (fdisk_loff_t) retval : result); return (retval == -1 ? (fdisk_loff_t) retval : result);