Skip to contentSkip to conversation

_syscall0() and gettid()

parisc-linux Mike Frysinger 2 participants 3 messages Dec 25, 2004 – Dec 26, 2004

lore
Share & tools
lore
#0 lore raw

i was debugging a DirectFB build failure when i noticed that _syscall0() doesnt seem to be quite right ...

going by this little bit of code (see gettid(2) for info):
#include <sys/types.h>
#include <linux/unistd.h>
#include <errno.h>
_syscall0(pid_t,gettid)
pid_t gettid(void);
int main() { return 0; }

it fails to compile :(
gettid.c: In function `gettid':
gettid.c:5: error: parse error before ')' token

tried with gcc-3.3.5 and gcc-3.4.3 ...
using linux-2.6.8.1 headers here, but the define for _syscall0() doesnt seem to be different in 2.4 or 2.6 ... so what am i missing here ? :) -mike
_______________________________________________
parisc-linux mailing list
[email protected]
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux

#1 lore raw
Quoted 2 lines · Mike Frysinger

gettid.c: In function `gettid':
gettid.c:5: error: parse error before ')' token

ok, the error is K_INLINE_SYSCALL in asm/unistd.h in the last if statement:

         __sys_res = (long)__res;                \
     }                               \
     if ( (unsigned long)__sys_res >= (unsigned long)-4095 ){    \
-        errno = -__sys_res);                     \
+        errno = -__sys_res;                     \
         __sys_res = -1;                     \
     }                               \
     __sys_res;                          \

that assignment to errno ... the parentheses is unbalanced ... i guess it could just be removed altogether :)
-mike
_______________________________________________
parisc-linux mailing list
[email protected]
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux

#2 lore raw
Quoted 4 lines · Mike Frysinger
(quoted diff) +1 -1
-        errno = -__sys_res);                     \
+        errno = -__sys_res;                     \

that assignment to errno ... the parentheses is unbalanced ... i guess it could just be removed altogether :)

Checked in. Thanks!

Signature · 10 lines
"Next the statesmen will invent cheap lies, putting the blame upon 
the nation that is attacked, and every man will be glad of those
conscience-soothing falsities, and will diligently study them, and refuse
to examine any refutations of them; and thus he will by and by convince 
himself that the war is just, and will thank God for the better sleep 
he enjoys after this process of grotesque self-deception." -- Mark Twain
_______________________________________________
parisc-linux mailing list
[email protected]
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux