]> Cypherpunks repositories - gostls13.git/commitdiff
syscall: use correct pointer in recvfrom/sendto.
authorRuss Cox <rsc@golang.org>
Tue, 17 Nov 2009 16:39:04 +0000 (08:39 -0800)
committerRuss Cox <rsc@golang.org>
Tue, 17 Nov 2009 16:39:04 +0000 (08:39 -0800)
linux/386 stack trace: use 32-bit hex.

Fixes #159.

R=r
https://golang.org/cl/154178

src/pkg/runtime/linux/386/signal.c
src/pkg/syscall/syscall_linux_386.go

index 54e109f5886eff6618941bcf3618c879746c6a77..90685d8799f9444ef8d750d25719dd311c899fe3 100644 (file)
 void
 dumpregs(Sigcontext *r)
 {
-       printf("eax     %X\n", r->eax);
-       printf("ebx     %X\n", r->ebx);
-       printf("ecx     %X\n", r->ecx);
-       printf("edx     %X\n", r->edx);
-       printf("edi     %X\n", r->edi);
-       printf("esi     %X\n", r->esi);
-       printf("ebp     %X\n", r->ebp);
-       printf("esp     %X\n", r->esp);
-       printf("eip     %X\n", r->eip);
-       printf("eflags  %X\n", r->eflags);
-       printf("cs      %X\n", r->cs);
-       printf("fs      %X\n", r->fs);
-       printf("gs      %X\n", r->gs);
+       printf("eax     %x\n", r->eax);
+       printf("ebx     %x\n", r->ebx);
+       printf("ecx     %x\n", r->ecx);
+       printf("edx     %x\n", r->edx);
+       printf("edi     %x\n", r->edi);
+       printf("esi     %x\n", r->esi);
+       printf("ebp     %x\n", r->ebp);
+       printf("esp     %x\n", r->esp);
+       printf("eip     %x\n", r->eip);
+       printf("eflags  %x\n", r->eflags);
+       printf("cs      %x\n", r->cs);
+       printf("fs      %x\n", r->fs);
+       printf("gs      %x\n", r->gs);
 }
 
 /*
index 8dbe4c7c9e8c9b6e469aadb131544ca3de70ebf2..1e6fa75a3093b225e53b4481aa36438775afd300 100644 (file)
@@ -125,7 +125,7 @@ func setsockopt(s int, level int, name int, val uintptr, vallen int) (errno int)
 func recvfrom(s int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, errno int) {
        var base uintptr;
        if len(p) > 0 {
-               base = uintptr(unsafe.Pointer(&p))
+               base = uintptr(unsafe.Pointer(&p[0]))
        }
        n, errno = socketcall(_RECVFROM, uintptr(s), base, uintptr(len(p)), uintptr(flags), uintptr(unsafe.Pointer(from)), uintptr(unsafe.Pointer(fromlen)));
        return;
@@ -134,7 +134,7 @@ func recvfrom(s int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Sockle
 func sendto(s int, p []byte, flags int, to uintptr, addrlen _Socklen) (errno int) {
        var base uintptr;
        if len(p) > 0 {
-               base = uintptr(unsafe.Pointer(&p))
+               base = uintptr(unsafe.Pointer(&p[0]))
        }
        _, errno = socketcall(_SENDTO, uintptr(s), base, uintptr(len(p)), uintptr(flags), to, uintptr(addrlen));
        return;