Kai Backman
770b872752
clone and futex
...
go/test: passes 99% (343/347)
R=rsc
http://go/go-review/1016004
2009-10-29 21:21:14 -07:00
Adam Langley
b89d630977
Fix bug when sending via select.
...
selfree maintains a cache of Select structures for several sizes. In
newselect, we'll use an entry from the cache if one is found. However,
the Scase structures corresponding to a send may have been allocated
for the wrong size. In this case we'll write off the end of the Scase
into random memory and, generally, read some amount of junk in the
receive.
This patch fixes the issue by removing the cache, on the advice of
rsc.
R=rsc
CC=go-dev
http://go/go-review/1016002
2009-10-28 18:23:53 -07:00
Russ Cox
32e979c0de
mysterious bug: runtime.acid wasn't getting rebuilt
...
when switching architectures.
fix bug twice: make sure clean removes the file,
and generate into architecture-specific file names.
R=r
http://go/go-review/1013018
2009-10-28 14:03:16 -07:00
Ian Lance Taylor
f529224039
Get the right sigaction struct for the 386 rt_sigaction system
...
call. This uses the header files from a 32-bit Ubuntu Hardy
system.
The use of _LOOSE_KERNEL_NAMES seems right. The
-D__ARCH_SI_UID_T works around a bug which appears to be fixed
in later Linux versions.
R=rsc
http://go/go-review/1013015
2009-10-26 22:49:08 -07:00
Kai Backman
6f91ba1b0f
proper syscall convention for arm
...
R=rsc
http://go/go-review/1015009
2009-10-25 11:51:16 -07:00
Kai Backman
0af8e1045c
fix off by 4 bug in morestack (lr again). remove storing of r0
...
now that all arguments are passed on the stack.
go/test: passes 89% (310/345)
R=rsc
APPROVED=rsc
DELTA=33 (13 added, 14 deleted, 6 changed)
OCL=36009
CL=36022
2009-10-23 10:59:31 -07:00
Kai Backman
03bbfe6724
fix off by 4 in newproc arg copying.
...
R=rsc
APPROVED=rsc
DELTA=4 (0 added, 0 deleted, 4 changed)
OCL=36001
CL=36004
2009-10-22 13:31:52 -07:00
Ian Lance Taylor
fd5fa4b301
Fix the sigaction declaration to match the system for Linux.
...
I don't know whether Darwin needs a change here.
R=rsc
http://go/go-review/1013010
2009-10-22 23:51:54 -07:00
Ian Lance Taylor
057f7d5b07
s/pc/PC/ in traceback output to match amd64.
...
test/run expects to see "PC".
R=rsc
http://go/go-review/1015002
2009-10-22 23:38:34 -07:00
Rob Pike
8a20cfc009
fix build: no acid
...
R=rsc
http://go/go-review/1014005
2009-10-22 11:52:35 -07:00
Russ Cox
219fb02042
fix build after Mercurial move.
...
various missing or incorrect files.
R=r
CC=go-dev
http://go/go-review/1014004
2009-10-22 10:59:27 -07:00
Russ Cox
02fd255a14
bug162, over and over
...
R=ken
OCL=35919
CL=35919
2009-10-20 08:03:43 -07:00
Kai Backman
33a7bcf315
getcallerpc and setcallerpc
...
go/test: passes 87% (303/345)
R=rsc
APPROVED=rsc
DELTA=19 (5 added, 6 deleted, 8 changed)
OCL=35903
CL=35906
2009-10-19 21:58:16 -07:00
Kai Backman
a15aa05ae2
first version of closures. test/closure doesn't yet pass.
...
go/test: passes 87% (300/343)
R=rsc
APPROVED=rsc
DELTA=125 (125 added, 0 deleted, 0 changed)
OCL=35893
CL=35900
2009-10-19 19:59:39 -07:00
Russ Cox
22a5c78f44
rename sys functions to runtime,
...
because they are in package runtime.
another step to enforcing package boundaries.
R=r
DELTA=732 (114 added, 93 deleted, 525 changed)
OCL=35811
CL=35824
2009-10-15 23:10:49 -07:00
Russ Cox
488ca3c7a6
move math out of runtime.
...
a step toward enforcing package boundaries,
necessary to eliminate global package name space.
R=r
DELTA=581 (310 added, 271 deleted, 0 changed)
OCL=35805
CL=35823
2009-10-15 23:09:22 -07:00
Kai Backman
222a15c840
test/64bit.go passes but doesn't generate properly yet.
...
R=rsc
APPROVED=rsc
DELTA=235 (98 added, 38 deleted, 99 changed)
OCL=35789
CL=35813
2009-10-15 19:41:51 -07:00
Russ Cox
5bbd4c2f1b
publish semacquire and semrelease for use by sync.
...
more enforcing package boundaries
R=r
DELTA=46 (13 added, 15 deleted, 18 changed)
OCL=35806
CL=35806
2009-10-15 17:46:53 -07:00
Kai Backman
b83549a7e6
cas
...
R=rsc
APPROVED=rsc
DELTA=31 (1 added, 8 deleted, 22 changed)
OCL=35752
CL=35757
2009-10-14 21:47:28 -07:00
Russ Cox
a68592a4dd
excise some internal references.
...
R=r
DELTA=209 (65 added, 114 deleted, 30 changed)
OCL=35718
CL=35721
2009-10-14 13:02:05 -07:00
Rob Pike
f6d67c9e95
write stack traces and panics to stderr
...
R=rsc
DELTA=31 (5 added, 3 deleted, 23 changed)
OCL=35700
CL=35700
2009-10-13 22:48:03 -07:00
Kai Backman
101f7cbd61
changed 5c 64 bit word ordering to little endian so it matches
...
5g. fixes to 64 bit code gen. added (finally) function to do
shifts properly.
go/test: passes 83% (287/342)
R=rsc
APPROVED=rsc
DELTA=156 (50 added, 53 deleted, 53 changed)
OCL=35589
CL=35616
2009-10-12 13:35:28 -07:00
Russ Cox
add89dd1ba
stack overflow debugging and fix.
...
* in 6l, -K already meant check for stack underflow.
add -KK to mean double-check stack overflows
even in nosplit functions.
* comment out print locks; they deadlock too easily
but are still useful to put back for special occasions.
* let runcgo assembly switch to scheduler stack
without involving scheduler directly. because runcgo
gets called from matchmg, it is too hard to keep it
from being called on other stacks.
R=r
DELTA=94 (65 added, 18 deleted, 11 changed)
OCL=35591
CL=35604
2009-10-12 10:26:38 -07:00
Kai Backman
1620023d03
fix float <-> int64 conversions
...
R=rsc
APPROVED=rsc
DELTA=25 (25 added, 0 deleted, 0 changed)
OCL=35566
CL=35574
2009-10-10 22:06:26 -07:00
Russ Cox
fb1bcd47c6
acid bug fix.
...
lock printf output to avoid interlacing debug prints.
R=r
DELTA=10 (7 added, 0 deleted, 3 changed)
OCL=35539
CL=35561
2009-10-09 16:45:20 -07:00
Russ Cox
93689d863c
keep a list of all the M's,
...
so that the garbage collector doesn't free them.
R=ken
OCL=35538
CL=35538
2009-10-09 15:35:33 -07:00
Russ Cox
91549438d8
apply gofmt to rand reflect regexp rpc runtime sort strconv strings sync syscall testing time unicode unsafe utf8
...
R=gri
DELTA=1409 (79 added, 24 deleted, 1306 changed)
OCL=35415
CL=35437
2009-10-07 11:55:06 -07:00
Kai Backman
a2cf914379
5l library loading, 64 bit entry points
...
R=rsc
APPROVED=rsc
DELTA=58 (52 added, 3 deleted, 3 changed)
OCL=35417
CL=35417
2009-10-06 19:00:30 -07:00
Kai Backman
d58b5fca45
move cas out, add dummy runcgo.
...
R=rsc
APPROVED=rsc
DELTA=73 (45 added, 28 deleted, 0 changed)
OCL=35363
CL=35366
2009-10-05 21:52:10 -07:00
Russ Cox
133a158bd8
8c, 8l dynamic loading support.
...
better mach binaries.
cgo working on darwin+linux amd64+386.
eliminated context switches - pi is 30x faster.
add libcgo to build.
on snow leopard:
- non-cgo binaries work; all tests pass.
- cgo binaries work on amd64 but not 386.
R=r
DELTA=2031 (1316 added, 626 deleted, 89 changed)
OCL=35264
CL=35304
2009-10-03 10:37:12 -07:00
Russ Cox
e67a5084b8
cgo working on linux/386
...
R=r
DELTA=70 (47 added, 4 deleted, 19 changed)
OCL=35167
CL=35171
2009-09-30 13:47:15 -07:00
Russ Cox
285b6021e9
missing files; cleaned up g4 nothave output.
...
fixes 386 build.
R=r
DELTA=56 (56 added, 0 deleted, 0 changed)
OCL=34979
CL=34981
2009-09-24 13:38:18 -07:00
Russ Cox
12fc217336
cgo checkpoint.
...
can write all 3 output files and then compile them by hand.
R=r
DELTA=919 (841 added, 16 deleted, 62 changed)
OCL=34954
CL=34973
2009-09-24 11:43:19 -07:00
Russ Cox
1b14bdbf1c
changes to accommodate nacl:
...
* change ldt0setup to set GS itself; nacl won't let us do it.
* change breakpoint to INT $3 so 8l can translate to HLT for nacl.
* panic if closure is needed on nacl.
* do not try to access symbol table on nacl.
* mmap in 64kB chunks.
nacl support:
* system calls, threading, locks.
R=r
DELTA=365 (357 added, 5 deleted, 3 changed)
OCL=34880
CL=34906
2009-09-22 16:28:32 -07:00
Russ Cox
bbcb91a3a7
convert 386 to use %gs instead of %fs for extern register.
...
required for nacl and may be nicer for ffi,
because %gs is the standard register for thread-local storage.
R=ken
OCL=34861
CL=34866
2009-09-21 15:46:50 -07:00
Kai Backman
46e392e01c
changed 5c calling convention to use stack exclusively for in
...
params. a number of fixes to assembly routines that assumed R0
had the first arg. one stack offset fix, arm pushes the link
register on stack top.
go/test: passes 65% (235/364) tests
R=rsc
APPROVED=rsc
DELTA=20 (11 added, 0 deleted, 9 changed)
OCL=34809
CL=34812
2009-09-18 16:45:41 -07:00
Austin Clements
ad9c6f7700
Rudimentary command shell for Ogle. Hack to prevent linker
...
from inlining newprocreadylocked. Fix type bridge's handling
of basic types. Include interpreter's Thread in bridged
native function calls.
; load . "6.out"
Started 6.out
; BpSet("main·merge")
; ContWait()
breakpoint at 0x400800
=> 400800 main·merge /home/austin/src-go1/usr/austin/ptrace/test/sort.go:19
; bt
=> 400800 main·merge /home/austin/src-go1/usr/austin/ptrace/test/sort.go:19
400b6a main·mergeSort+0x1be /home/austin/src-go1/usr/austin/ptrace/test/sort.go:34
448313 goexit /home/austin/src-go1/src/pkg/runtime/proc.c:133
; main.merge.a
{1}
; load . "pid:25753"
Attached to 25753
; bt
=> 479ddf syscall·Syscall+0x24 /home/austin/src-go1/src/pkg/syscall/asm_linux_amd64.s:24
47c011 syscall·Read+0x5d /home/austin/src-go1/src/pkg/syscall/zsyscall_linux_amd64.go:368
4119e5 os·*File·Read+0x5f /home/austin/src-go1/src/pkg/os/file.go:122
427bf3 bufio·*Reader·fill+0x116 /home/austin/src-go1/src/pkg/bufio/bufio.go:105
428361 bufio·*Reader·ReadSlice+0x195 /home/austin/src-go1/src/pkg/bufio/bufio.go:244
40204a ogle·Main+0x94 /home/austin/src-go1/usr/austin/ogle/cmd.go:226
40080f main·main+0xf /home/austin/src-go1/usr/austin/ogle/main.go:6
41c4b8 mainstart+0xf /home/austin/src-go1/src/pkg/runtime/amd64/asm.s:55
41531f goexit /home/austin/src-go1/src/pkg/runtime/proc.c:133
R=rsc
APPROVED=rsc
DELTA=433 (420 added, 2 deleted, 11 changed)
OCL=34410
CL=34782
2009-09-18 09:11:19 -07:00
Kai Backman
bcfc6e631f
fixed register usage and removed some dead code.
...
R=rsc
APPROVED=rsc
DELTA=17 (0 added, 12 deleted, 5 changed)
OCL=34659
CL=34665
2009-09-15 16:15:17 -07:00
Russ Cox
7a0f4cac03
pass Type* to makechan and makemap so that
...
they can get the official alignment out of there
instead of guessing.
R=ken
OCL=34450
CL=34450
2009-09-08 13:46:54 -07:00
Russ Cox
a18208fb60
fix range on invalid utf8 bug
...
R=r
DELTA=42 (21 added, 20 deleted, 1 changed)
OCL=34328
CL=34333
2009-09-03 13:56:06 -07:00
Russ Cox
fe8ff955e9
add newprocreadylocked for debugger
...
R=austin
DELTA=10 (9 added, 0 deleted, 1 changed)
OCL=34163
CL=34166
2009-08-31 18:10:11 -07:00
Russ Cox
4962e7ee9b
use correct pc for printing fn+%#x in tracebacks
...
R=austin
DELTA=12 (2 added, 0 deleted, 10 changed)
OCL=34098
CL=34120
2009-08-31 10:55:24 -07:00
Ken Thompson
bf0130cc0f
sliceslice inline
...
R=rsc
OCL=34041
CL=34041
2009-08-28 12:37:39 -07:00
Russ Cox
2aea4a063b
recycle G structs
...
R=r
DELTA=1 (1 added, 0 deleted, 0 changed)
OCL=33887
CL=33904
2009-08-26 15:26:09 -07:00
Russ Cox
de7920e6fd
finish ChanValue: Len and Cap.
...
R=r
DELTA=45 (45 added, 0 deleted, 0 changed)
OCL=33873
CL=33881
2009-08-26 12:42:22 -07:00
Russ Cox
653cef1ba0
add Close() and Closed() to ChanValue
...
R=r
DELTA=60 (56 added, 3 deleted, 1 changed)
OCL=33868
CL=33872
2009-08-26 10:47:18 -07:00
Rob Pike
87f2208bda
rename runtime internals to have modern names (array->slice etc)
...
R=rsc
DELTA=444 (179 added, 177 deleted, 88 changed)
OCL=33847
CL=33849
2009-08-25 15:54:25 -07:00
Russ Cox
67815ef65b
checkpoint & test (pidigits) before trying to automate.
...
R=r
DELTA=616 (598 added, 11 deleted, 7 changed)
OCL=33846
CL=33848
2009-08-25 15:37:22 -07:00
Russ Cox
fdc4b4a47f
start of FFI support, and a demo.
...
R=r
DELTA=494 (492 added, 0 deleted, 2 changed)
OCL=33784
CL=33810
2009-08-24 17:30:00 -07:00
Russ Cox
1f177cd8b2
linker work
...
* use //ffi comments in package import data
to generate relocation entries and library loads.
* call initffi in rt0.s if present
R=r
DELTA=117 (91 added, 3 deleted, 23 changed)
OCL=33739
CL=33750
2009-08-24 10:19:31 -07:00