1
0
mirror of https://github.com/golang/go synced 2024-10-05 23:21:21 -06:00
go/src/cmd/6l
Russ Cox d9fd11443c ld: detect stack overflow due to NOSPLIT
Fix problems found.

On amd64, various library routines had bigger
stack frames than expected, because large function
calls had been added.

runtime.assertI2T: nosplit stack overflow
        120	assumed on entry to runtime.assertI2T
        8	after runtime.assertI2T uses 112
        0	on entry to runtime.newTypeAssertionError
        -8	on entry to runtime.morestack01

runtime.assertE2E: nosplit stack overflow
        120	assumed on entry to runtime.assertE2E
        16	after runtime.assertE2E uses 104
        8	on entry to runtime.panic
        0	on entry to runtime.morestack16
        -8	after runtime.morestack16 uses 8

runtime.assertE2T: nosplit stack overflow
        120	assumed on entry to runtime.assertE2T
        16	after runtime.assertE2T uses 104
        8	on entry to runtime.panic
        0	on entry to runtime.morestack16
        -8	after runtime.morestack16 uses 8

runtime.newselect: nosplit stack overflow
        120	assumed on entry to runtime.newselect
        56	after runtime.newselect uses 64
        48	on entry to runtime.printf
        8	after runtime.printf uses 40
        0	on entry to vprintf
        -8	on entry to runtime.morestack16

runtime.selectdefault: nosplit stack overflow
        120	assumed on entry to runtime.selectdefault
        56	after runtime.selectdefault uses 64
        48	on entry to runtime.printf
        8	after runtime.printf uses 40
        0	on entry to vprintf
        -8	on entry to runtime.morestack16

runtime.selectgo: nosplit stack overflow
        120	assumed on entry to runtime.selectgo
        0	after runtime.selectgo uses 120
        -8	on entry to runtime.gosched

On arm, 5c was tagging functions NOSPLIT that should
not have been, like the recursive function printpanics:

printpanics: nosplit stack overflow
        124	assumed on entry to printpanics
        112	after printpanics uses 12
        108	on entry to printpanics
        96	after printpanics uses 12
        92	on entry to printpanics
        80	after printpanics uses 12
        76	on entry to printpanics
        64	after printpanics uses 12
        60	on entry to printpanics
        48	after printpanics uses 12
        44	on entry to printpanics
        32	after printpanics uses 12
        28	on entry to printpanics
        16	after printpanics uses 12
        12	on entry to printpanics
        0	after printpanics uses 12
        -4	on entry to printpanics

R=r, r2
CC=golang-dev
https://golang.org/cl/4188061
2011-02-22 17:40:40 -05:00
..
6.out.h 6l: function at a time code layout 2010-10-15 15:18:47 -04:00
asm.c loader: move the XputY routines into the ld directory. 2011-02-07 14:34:21 -08:00
doc.go ld: Add -I option to set ELF interpreter. 2011-02-01 12:49:56 -08:00
l.h ld: detect stack overflow due to NOSPLIT 2011-02-22 17:40:40 -05:00
list.c 5l, 6l, 8l: link pclntab and symtab as ordinary rodata symbols 2010-10-19 18:07:19 -04:00
Makefile cgo: windows/386 port 2011-01-20 10:22:20 -05:00
mkenam use /bin/ed to avoid portability issues 2009-09-16 15:14:12 -07:00
obj.c ld: detect stack overflow due to NOSPLIT 2011-02-22 17:40:40 -05:00
optab.c 6l: More SSE instruction fixes 2010-11-05 13:59:53 -04:00
pass.c ld: detect stack overflow due to NOSPLIT 2011-02-22 17:40:40 -05:00
prof.c 5l, 6l, 8l: first pass cleanup 2010-10-13 15:51:21 -04:00
span.c 6l, 8l: minor changes & cleanup 2010-12-08 13:53:07 -05:00