update syscalls to use \A for amd64. Reference: /n/atom/patch/applied/acidsyscall Date: Fri Feb 14 18:03:33 CET 2014 Signed-off-by: quanstro@quanstro.net --- /sys/lib/acid/syscall Fri Feb 14 18:03:01 2014 +++ /sys/lib/acid/syscall Fri Feb 14 18:03:02 2014 @@ -4,6 +4,11 @@ print("\"", s, "\""); } +defn wordsize() +{ + return fmtsize(0\A); +} + defn printtextordata(addr, n) { local a, i; @@ -12,7 +17,7 @@ i = 0; loop 1, n do { if (a[i]>=127) then { - print(fmt(addr, 'X'), ", ", n\D); + print(fmt(addr, 'A'), ", ", n\D); return {}; } i = i+1; @@ -60,7 +65,7 @@ a++; // advance extra word for quadword } else if (fmt[i] == 'Y') || (fmt[i] == 'V') then { print(fmt(*a, fmt[i])); - a++; // advance extra word for quadword + if wordsize() == 4 then a++; // advance extra word for quadword } else if (fmt[i] == 'T') then { if *a == 0 then print("nil"); @@ -88,46 +93,46 @@ { 6, {"alarm", "D", code(*sysalarm:list)}}, { 7, {"exec", "sS", code(*sysexec:list)}}, { 8, {"exits", "s", code(*sysexits:list)}}, - { 9, {"_fsession", "DX", code(*sys_fsession:list)}}, - {10, {"fauth", "DX", code(*sysfauth:list)}}, - {11, {"_fstat", "DX", code(*sys_fstat:list)}}, - {12, {"segbrk", "XX", code(*syssegbrk:list)}}, + { 9, {"_fsession", "DA", code(*sys_fsession:list)}}, + {10, {"fauth", "DA", code(*sysfauth:list)}}, + {11, {"_fstat", "DA", code(*sys_fstat:list)}}, + {12, {"segbrk", "AA", code(*syssegbrk:list)}}, {13, {"_mount", "DsXs", code(*sys_mount:list)}}, {14, {"open", "sD", code(*sysopen:list)}}, - {15, {"_read", "DXD", code(*sys_read:list)}}, + {15, {"_read", "DAD", code(*sys_read:list)}}, {16, {"oseek", "DDD", code(*sysoseek:list)}}, {17, {"sleep", "D", code(*syssleep:list)}}, - {18, {"_stat", "sX", code(*sys_stat:list)}}, + {18, {"_stat", "sA", code(*sys_stat:list)}}, {19, {"rfork", "X", code(*sysstat:list)}}, - {20, {"_write", "DXD", code(*sys_write:list)}}, - {21, {"pipe", "X", code(*syspipe:list)}}, + {20, {"_write", "DAD", code(*sys_write:list)}}, + {21, {"pipe", "A", code(*syspipe:list)}}, {22, {"create", "sDO", code(*syscreate:list)}}, - {23, {"fd2path", "DXD", code(*sysfd2path:list)}}, - {24, {"brk_", "X", code(*sysbrk_:list)}}, + {23, {"fd2path", "DAD", code(*sysfd2path:list)}}, + {24, {"brk_", "A", code(*sysbrk_:list)}}, {25, {"remove", "s", code(*sysremove:list)}}, - {26, {"_wstat", "sX", code(*sys_wstat:list)}}, - {27, {"_fwstat", "DX", code(*sys_fwstat:list)}}, - {28, {"notify", "X", code(*sysnotify:list)}}, + {26, {"_wstat", "sA", code(*sys_wstat:list)}}, + {27, {"_fwstat", "DA", code(*sys_fwstat:list)}}, + {28, {"notify", "A", code(*sysnotify:list)}}, {29, {"noted", "D", code(*sysnoted:list)}}, - {30, {"segattach", "DsXD", code(*syssegattach:list)}}, - {31, {"segdetach", "X", code(*syssegdetach:list)}}, - {32, {"segfree", "XD", code(*syssegfree:list)}}, - {33, {"segflush", "XD", code(*syssegflush:list)}}, - {34, {"rendezvous", "XX", code(*sysrendezvous:list)}}, + {30, {"segattach", "DsAD", code(*syssegattach:list)}}, + {31, {"segdetach", "A", code(*syssegdetach:list)}}, + {32, {"segfree", "AD", code(*syssegfree:list)}}, + {33, {"segflush", "AD", code(*syssegflush:list)}}, + {34, {"rendezvous", "AA", code(*sysrendezvous:list)}}, {35, {"unmount", "ss", code(*sysunmount:list)}}, - {36, {"_wait", "X", code(*sys_wait:list)}}, - {39, {"seek", "XDVD", code(*sysseek:list)}}, + {36, {"_wait", "A", code(*sys_wait:list)}}, + {39, {"seek", "ADVD", code(*sysseek:list)}}, {40, {"fversion", "DDsD", code(*sysfversion:list)}}, {41, {"errstr", "TD", code(*syserrstr:list)}}, - {42, {"stat", "sXD", code(*sysstat:list)}}, - {43, {"fstat", "DXD", code(*sysfstat:list)}}, - {44, {"wstat", "sXD", code(*syswstat:list)}}, - {45, {"fwstat", "DXD", code(*sysfwstat:list)}}, + {42, {"stat", "sAD", code(*sysstat:list)}}, + {43, {"fstat", "DAD", code(*sysfstat:list)}}, + {44, {"wstat", "sAD", code(*syswstat:list)}}, + {45, {"fwstat", "DAD", code(*sysfwstat:list)}}, {46, {"mount", "DDsXs", code(*sysmount:list)}}, {47, {"await", "TD", code(*sysawait:list)}}, - {50, {"pread", "DXDZ", code(*syspread:list)}}, + {50, {"pread", "DADZ", code(*syspread:list)}}, {51, {"pwrite", "DTDZ", code(*syspread:list)}}, - {52, {"tsemacquire", "XD", code(*systsemacquire:list)}}, + {52, {"tsemacquire", "AD", code(*systsemacquire:list)}}, }; defn syscall() {