From mboxrd@z Thu Jan 1 00:00:00 1970 From: erik quanstrom Date: Sat, 17 May 2014 08:11:27 -0400 To: puta2001-goo@yahoo.com, 9fans@9fans.net Message-ID: In-Reply-To: <1400322208.6926.YahooMailNeo@web160803.mail.bf1.yahoo.com> References: <1400322208.6926.YahooMailNeo@web160803.mail.bf1.yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: Re: [9fans] syscall 53 Topicbox-Message-UUID: e6fd6d54-ead8-11e9-9d60-3106f5b1d025 On Sat May 17 06:28:02 EDT 2014, puta2001-goo@yahoo.com wrote: > Hello, help please, after recent (15 May) "pull": >=20 > mntgen 31: bad sys call number 53 pc 813f > ipconfig, keyfs, webfs webcookies, faces =3D the same. > ls -l for example shows > ls 222: bad sys call number 53 pc bb8f > ls 222: suicide: sys: bad sys call pc=3D0x0000bb8f > acid leads to /sys/src/libc/386/main9.s:16 looks like nsec() in the c library was replaced with a syscall, and this was put into libc, and many things were recompiled. unfortunately pull does not update your kernel, and your kernel doesn't support nsec. if you have a dump file system, i would recommend copying /386/bin executables back from before the may 15 update. if you don't, the next best option is to copy mk from my contrib, then r=3D/n/sources/contrib/quanstro/rescue 9fs sources && cp $r/mk /386/bin/mk cd /sys/src/libc/9sys cp $r/mkfile $r/nsec.c . mk now you can rebuild /sys/src/cmd as needed to build a kernel with nsec. by the way, i'm currenttly using this version of nsec and i prefer it, th= ough it requires 3 syscalls and not two, and takes about 2x as long. it's sti= ll just around 1=C2=B5s on most of my machines. if nsec() is causing issues= , i would think that cycles(2) would be a good option, and much faster than a sysca= ll. ; cat nsec.c #include #include vlong nsec(void) { uchar b[8]; int fd; fd =3D open("/dev/bintime", OREAD); if(fd !=3D -1) if(pread(fd, b, sizeof b, 0) =3D=3D sizeof b){ close(fd); return getbe(b, sizeof b); } close(fd); return 0; }