summaryrefslogtreecommitdiff
path: root/src/cmd/8l/span.c
AgeCommit message (Collapse)AuthorFilesLines
2011-09-13Imported Upstream version 60upstream/60Ondřej Surý1-0/+1325
2011-09-13Imported Upstream version 60Ondřej Surý1-1325/+0
2011-08-03Imported Upstream version 59upstream/59Ondřej Surý1-2/+2
2011-01-17Imported Upstream version 2011.01.12upstream/2011.01.12Ondřej Surý1-751/+432
2010-04-275l, 6l, 8l, runtime: make -s binaries workRuss Cox1-0/+8
5l, 6l, 8l: change ELF header so that strip doesn't destroy binary Fixes issue 261. R=iant, r CC=golang-dev http://codereview.appspot.com/994044
2010-04-22runtime: closures, defer bug fix for Native ClientRuss Cox1-1/+1
Enable package tests for Native Client build. R=r CC=golang-dev http://codereview.appspot.com/957042
2010-02-01nacl: fix build, finally fixed 8l convergence bugRuss Cox1-4/+9
R=r CC=golang-dev http://codereview.appspot.com/199042
2009-11-05forgot a piece of debuggingKen Thompson1-18/+2
in previous change R=rsc http://go/go-review/1017052
2009-11-05same speedup as 6lKen Thompson1-8/+43
R=rsc http://go/go-review/1016050
2009-10-07factor portable object+library bits out of 5l/6l/8l into ldRuss Cox1-0/+1
R=r DELTA=3214 (904 added, 2260 deleted, 50 changed) OCL=35425 CL=35427
2009-10-038c, 8l dynamic loading support.Russ Cox1-0/+11
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-09-24convert 8l to new ELF code.Russ Cox1-0/+12
mostly cut and paste from 6l. R=r DELTA=930 (525 added, 182 deleted, 223 changed) OCL=34976 CL=34976
2009-09-22nacl:Russ Cox1-3/+32
add jmp to constant pc. generate HLT for INT $3 do not insert NOPs between REP/REPN and subsequent instruction. allow very long time for convergence. R=ken OCL=34879 CL=34879
2009-09-21rewrite RET, indirect CALL, indirect JMP for nacl.Russ Cox1-3/+66
can JMP or CALL indirect through a register R provided the preceding instruction is AND $~31, R. R=ken OCL=34863 CL=34867
2009-09-21accept CALL $(constant) to call absolute PCRuss Cox1-1/+10
R=ken OCL=34845 CL=34845
2009-09-188l: step toward native client.Russ Cox1-8/+44
- ELF header bits and addresses - do not let instructions span 32-byte boundary - align CALLs so return is to 32-byte boundary - align indirect jump targets to 32-byte boundary (only possible indirect jumps are function entries) still to do: - replace indirect jump, indirect call, and ret with nacl-approved instruction sequences - switch to GS segment for m-local storage R=ken OCL=34818 CL=34818
2009-09-18merge first pass into main loop in span calculation.Russ Cox1-45/+26
having one copy will cut nacl changes in half. R=ken OCL=34815 CL=34815
2009-08-30fix line numbers, again.Russ Cox1-0/+3
if first function in file was dead code, it was being discarded along with the file name information for that file. leave the functions in the master function list longer: let xfol take the dead code out of the code list, and let span skip the unreachable functions during output. before throw: sys·mapaccess1: key not in map panic PC=0x2e7b20 throw+0x33 /Users/rsc/go/src/pkg/runtime/runtime.c:65 throw(0x5834f, 0x0) sys·mapaccess1+0x73 /Users/rsc/go/src/pkg/runtime/hashmap.c:769 sys·mapaccess1(0x2b9bd0, 0x0) gob·*Encoder·Encode+0x16b /Users/rsc/go/src/pkg/fmt/print.go:2926 gob·*Encoder·Encode(0x2bb440, 0x0, 0x558b0, 0x0, 0x2e4be0, ...) main·walk+0x331 :1603 main·walk(0x33a480, 0x0) main·walk+0x271 :1596 main·walk(0x300640, 0x0) main·walk+0x271 :1596 main·walk(0x300520, 0x0) main·walk+0x271 :1596 main·walk(0x300240, 0x0) main·walk+0x271 :1596 main·walk(0x678f8, 0x0) main·main+0x22 :1610 main·main() after throw: sys·mapaccess1: key not in map panic PC=0x2e7b20 throw+0x33 /Users/rsc/go/src/pkg/runtime/runtime.c:65 throw(0x5834f, 0x0) sys·mapaccess1+0x73 /Users/rsc/go/src/pkg/runtime/hashmap.c:769 sys·mapaccess1(0x2b9bd0, 0x0) gob·*Encoder·Encode+0x16b /Users/rsc/go/src/pkg/gob/encoder.go:319 gob·*Encoder·Encode(0x2bb3c0, 0x0, 0x558b0, 0x0, 0x2e4be0, ...) main·walk+0x331 /Users/rsc/dir.go:121 main·walk(0x2f6ab0, 0x0) main·walk+0x271 /Users/rsc/dir.go:114 main·walk(0x301640, 0x0) main·walk+0x271 /Users/rsc/dir.go:114 main·walk(0x301520, 0x0) main·walk+0x271 /Users/rsc/dir.go:114 main·walk(0x301240, 0x0) main·walk+0x271 /Users/rsc/dir.go:114 main·walk(0x678f8, 0x0) main·main+0x22 /Users/rsc/dir.go:128 main·main() mainstart+0xe /Users/rsc/go/src/pkg/runtime/amd64/asm.s:55 mainstart() goexit /Users/rsc/go/src/pkg/runtime/proc.c:133 goexit() R=r DELTA=46 (20 added, 25 deleted, 1 changed) OCL=34094 CL=34103
2009-08-20symbol bugs.Russ Cox1-3/+16
do not emit unreachable data symbols. R=austin DELTA=103 (71 added, 4 deleted, 28 changed) OCL=33325 CL=33622
2009-08-13debugging symbols for 8g.Russ Cox1-11/+15
backtraces don't work, but they didn't work when i started either. R=ken OCL=33230 CL=33230
2009-08-12change gotype in symbol table fromRuss Cox1-16/+11
character string to machine address. not filled in, just carved out. R=austin DELTA=77 (11 added, 34 deleted, 32 changed) OCL=33122 CL=33124
2009-06-058l: add AIMULWRuss Cox1-1/+6
R=ken OCL=29972 CL=29972
2009-03-31* move go-specific loader codeRuss Cox1-18/+15
into gc directory, where it gets included as ../gc/ldbody this is similar to the assemblers including ../cc/lexbody and ../cc/macbody. * hook go-specific loader code into 8l. * make current 8.out.h and 6.out.h backward compatible with plan 9's versions. i had added some constants in the middle of enums and have now moved them to the end. this keeps us from invalidating old .8 and .6 files. not sure how much it really matters, but easy to do. R=r DELTA=1314 (667 added, 623 deleted, 24 changed) OCL=26938 CL=26941
2009-03-20update 8a, 8c, 8l to use new object format.Russ Cox1-4/+40
add "extern register" support to 8c. extern register means allocate in the FS-relative segment. make 8l generate segmented stack checks. R=ken OCL=26600 CL=26606
2009-03-20make 8l generate Darwin Mach-O and Linux ELF binariesRuss Cox1-1/+1
R=ken OCL=26584 CL=26589
2009-01-06make 8a, 8c, 8l build in go environment.Russ Cox1-18/+18
,s/int32/long/g in 8a, 8c, 8l. delete dead code. move enam.c, 8.out.h, mkenam from 8c to 8l. R=r DELTA=1850 (581 added, 983 deleted, 286 changed) OCL=22119 CL=22129
2009-01-068a, 8c, and 8l from inferno distributionRuss Cox1-0/+1417
R=r DELTA=19539 (19539 added, 0 deleted, 0 changed) OCL=22109 CL=22109