the error i got is i can not connect to inetd server. on the client side: rsh report can't establish connection on the server side, syslog print : daemon.err inetd[869]: /etc/inetd.conf:3: Out of memory. this message is found in inetd/inetd.c line 1236.
i write a little prog: ------------------------------------- #include <stdio.h> void getit(int *argc) { *argc=0x1234; } main() { size_t argc=0; printf("%d\n",sizeof(argc)); getit(&argc); printf("0x%x\n",argc); printf("0x%lx\n",argc); } -------------------------------------- on x86_64, gcc version 4.1.2, result is: 8 0x1234 0x1234 but on mips64,cross compiler gcc version 4.1.2, result is: 8 0x0 0x123400000000 i think it is because of mips is big-endian, x86 is little-endian. I do not see how this is an endian issue, ARGC is handled on the server side, and is not affected by the client in anyway (assuming different endianess between the client and server). So all data is of the same endianess. Not that I see anything wrong with using int over size_t, or vice versa... But I think the problem is deeper than this.