summaryrefslogtreecommitdiff
path: root/src/cmd/8l/pass.c
AgeCommit message (Collapse)AuthorFilesLines
2011-02-18Imported Upstream version 2011.02.15Ondřej Surý1-4/+25
2011-02-14Imported Upstream version 2011-02-01.1upstream/2011-02-01.1Ondřej Surý1-1/+8
2011-01-17Imported Upstream version 2011.01.12upstream/2011.01.12Ondřej Surý1-713/+345
2010-06-118l: correct test for sp == top of stack in 8l -K codeRuss Cox1-1/+1
R=ken2 CC=golang-dev http://codereview.appspot.com/1627042
2010-05-03fix nacl buildRuss Cox1-1/+1
TBR=r CC=golang-dev http://codereview.appspot.com/1063042
2010-04-275l, 6l, 8l, runtime: make -s binaries workRuss Cox1-2/+22
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-01-19cleanup toward eliminating package global name spaceRuss Cox1-2/+2
* switch to real dot (.) instead of center dot (·) everywhere in object files. before it was half and half depending on where in the name it appeared. * in 6c/6a/etc identifiers, · can still be used but turns into . immediately. * in export metadata, replace package identifiers with quoted strings (still package names, not paths). R=ken2, r CC=golang-dev http://codereview.appspot.com/190076
2009-12-138l: add support for PE output.Hector Chu1-4/+38
R=rsc http://codereview.appspot.com/166080 Committer: Russ Cox <rsc@golang.org>
2009-10-15rename sys functions to runtime,Russ Cox1-2/+2
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-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-3/+9
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-2/+6
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-1/+0
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-21convert 386 to use %gs instead of %fs for extern register.Russ Cox1-1/+2
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-08-30fix line numbers, again.Russ Cox1-0/+4
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-21fix 386/arm buildsKai Backman1-0/+1
R=rsc APPROVED=rsc DELTA=2 (2 added, 0 deleted, 0 changed) OCL=33640 CL=33645
2009-08-20symbol bugs.Russ Cox1-1/+7
do not emit unreachable data symbols. R=austin DELTA=103 (71 added, 4 deleted, 28 changed) OCL=33325 CL=33622
2009-07-13fix undefined function error.Russ Cox1-2/+2
before: mainstart: undefined: main·init in mainstart mainstart: branch out of range in mainstart (95) CALL ,0(PC) [main·init] mainstart: undefined: main·main in mainstart mainstart: branch out of range in mainstart (97) CALL ,0(PC) [main·main] mainstart: doasm: notfound from=6f to=6f (95) CALL , mainstart: doasm: notfound from=6f to=6f (97) CALL , mainstart: doasm: notfound from=6f to=6f (95) CALL , mainstart: doasm: notfound from=6f to=6f (97) CALL , mainstart: doasm: notfound from=6f to=6f (95) CALL , mainstart: doasm: notfound from=6f to=6f (97) CALL , after: mainstart: undefined: main·init in mainstart mainstart: undefined: main·main in mainstart R=r DELTA=7 (1 added, 0 deleted, 6 changed) OCL=31555 CL=31555
2009-06-17update 386 to new runtime (CL 30381)Russ Cox1-16/+4
R=r DELTA=298 (119 added, 81 deleted, 98 changed) OCL=30427 CL=30443
2009-04-01fix runtime stack overflow bug that gri ran into:Russ Cox1-3/+10
160 - 75 was just barely not enough for deferproc + morestack. added enum names and bumped to 256 - 128. added explanation. changed a few mal() (garbage-collected) to malloc()/free() (manually collected). R=ken OCL=26981 CL=26981
2009-03-31* move go-specific loader codeRuss Cox1-1/+25
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/+134
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-01-06make 8a, 8c, 8l build in go environment.Russ Cox1-16/+16
,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/+793
R=r DELTA=19539 (19539 added, 0 deleted, 0 changed) OCL=22109 CL=22109