ptp: fix alignment assumptions for amd64
This commit is contained in:
parent
a1dad87446
commit
ec572a53a9
1 changed files with 5 additions and 8 deletions
|
@ -45,10 +45,7 @@ struct Ptprpc
|
||||||
uchar type[2];
|
uchar type[2];
|
||||||
uchar code[2];
|
uchar code[2];
|
||||||
uchar transid[4];
|
uchar transid[4];
|
||||||
union {
|
uchar d[52];
|
||||||
uchar p[5][4];
|
|
||||||
uchar d[52];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct Node
|
struct Node
|
||||||
|
@ -225,7 +222,7 @@ vptprpc(Ioproc *io, int code, int flags, va_list a)
|
||||||
|
|
||||||
for(i=0; i<np; i++){
|
for(i=0; i<np; i++){
|
||||||
int x = va_arg(a, int);
|
int x = va_arg(a, int);
|
||||||
PUT4(rpc.p[i], x);
|
PUT4(rpc.d + i*4, x);
|
||||||
}
|
}
|
||||||
if(debug)
|
if(debug)
|
||||||
hexdump("req>", (uchar*)&rpc, n);
|
hexdump("req>", (uchar*)&rpc, n);
|
||||||
|
@ -351,10 +348,10 @@ Resp1:
|
||||||
if(flags & OutParam){
|
if(flags & OutParam){
|
||||||
int *pp;
|
int *pp;
|
||||||
|
|
||||||
for(i=0; i<nelem(rpc.p); i++){
|
for(i=0; i<5; i++){
|
||||||
if((pp = va_arg(a, int*)) == nil)
|
if((pp = va_arg(a, int*)) == nil)
|
||||||
break;
|
break;
|
||||||
*pp = GET4(rpc.p[i]);
|
*pp = GET4(rpc.d + i*4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1040,7 +1037,7 @@ threadmain(int argc, char **argv)
|
||||||
|
|
||||||
time0 = time(0);
|
time0 = time(0);
|
||||||
|
|
||||||
snprint(name, sizeof name, "sdU%d.0", d->id);
|
snprint(name, sizeof name, "sdU%d", d->id);
|
||||||
snprint(desc, sizeof desc, "%d.ptp", d->id);
|
snprint(desc, sizeof desc, "%d.ptp", d->id);
|
||||||
threadpostsharesrv(&fs, nil, name, desc);
|
threadpostsharesrv(&fs, nil, name, desc);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue