1
0
mirror of https://github.com/golang/go synced 2024-11-20 09:04:44 -07:00
go/src/cmd/gc
Julian Phillips b99d722963 gc: fix pc/line table
When a line directive was encountered we would push a new 'z' entry into
the history to indicate the start of new file attributation, and a 'Z'
entry to change line numbering.  However we didn't pop the 'z' entry, so
we were actually corrupting the history stack.  The most obvious
occurance of this was in the code that build the symbol tables for the
DWARF information - where an internal stack in the linker would overflow
when more than a few line directives were encountered in a single stack
(Issue 1878).  So now we pop the 'z' entry when we encounter the end of
the file that the directive was in, which maintains the history stack
integrity.

Also, although new 'z' entries for new files had relative paths
expanded, the same was not done for line directives.  Now we do it for
line directives also - so that the now correct DWARF information has the
full path available.

Fixes #1878.

R=rsc
CC=golang-dev
https://golang.org/cl/4938042
2011-08-23 17:01:14 -04:00
..
align.c gc: zero-width struct, zero-length array fixes 2011-07-27 16:47:45 -04:00
bisonerrors gc: improved syntax errors 2010-01-26 23:13:22 -08:00
bits.c 5g, 6g, 8g: shift, opt fixes 2011-07-28 18:22:12 -04:00
builtin.c.boot gc: implement nil chan support 2011-08-17 15:54:17 -04:00
closure.c gc: top-level closure bug 2011-07-27 19:31:11 -04:00
const.c gc: shift type bug 2011-07-28 13:03:30 -04:00
cplx.c gc: fix complex move again 2011-04-18 13:22:31 -04:00
dcl.c gc: more graceful errors during struct definition 2011-07-28 20:41:18 -04:00
doc.go gc, gopack: add some missing flags to the docs. 2011-03-04 20:21:26 -08:00
export.c gc: include all dependencies in export metadata 2011-03-14 13:22:34 -04:00
gen.c gc: implement goto restriction 2011-06-17 15:25:05 -04:00
go.errors gc: syntax error for incomplete chan type 2010-12-09 13:41:24 -05:00
go.h runtime: add more specialized type algorithms 2011-08-08 09:35:32 -04:00
go.y gc: line number + type checking nits 2011-07-28 12:31:16 -04:00
init.c gc: typecheck the whole tree before walking. preparation for some escape-analysis related changes. 2011-06-02 18:48:17 +02:00
lex.c cmd/gc/lex: remove reference to container/vector in comment 2011-08-22 14:07:27 +10:00
Makefile gc: fix mkbuiltin 2011-08-17 14:54:51 -04:00
md5.c the last bug involving type hashes 2009-09-02 09:09:32 -07:00
md5.h the last bug involving type hashes 2009-09-02 09:09:32 -07:00
mkbuiltin gc: fix mkbuiltin 2011-08-17 14:54:51 -04:00
mkbuiltin1.c gc: fix mkbuiltin 2011-08-17 14:54:51 -04:00
mkopnames gc: fix mkopnames and color grep interaction 2010-02-10 00:44:43 -08:00
mparith1.c gc: complex(0) 2010-12-13 15:34:45 -05:00
mparith2.c gc: index bounds tests and fixes 2010-08-03 00:26:02 -07:00
mparith3.c gc: correct rounding of denormal constants 2011-02-02 22:36:54 -05:00
obj.c gc: fix pc/line table 2011-08-23 17:01:14 -04:00
pgen.c gc: composite literal double eval bug 2011-07-27 18:55:30 -04:00
print.c gc: diagnose (x) := 0 2011-07-27 17:39:30 -04:00
range.c gc: implement nil map support 2011-08-17 14:56:27 -04:00
reflect.c gc: correct handling of unexported method names in embedded interfaces 2011-04-21 08:14:50 -04:00
runtime.go gc: implement nil chan support 2011-08-17 15:54:17 -04:00
select.c gc: implement nil chan support 2011-08-17 15:54:17 -04:00
sinit.c gc: composite literal double eval bug 2011-07-27 18:55:30 -04:00
subr.c runtime: add more specialized type algorithms 2011-08-08 09:35:32 -04:00
swt.c gc: fix type switch error message for invalid cases. 2011-05-11 23:41:59 -04:00
typecheck.c gc: line number + type checking nits 2011-07-28 12:31:16 -04:00
unsafe.c gc: unsafe.Alignof, unsafe.Offsetof, unsafe.Sizeof now return uintptr 2011-06-17 16:12:14 -04:00
unsafe.go gc: unsafe.Alignof, unsafe.Offsetof, unsafe.Sizeof now return uintptr 2011-06-17 16:12:14 -04:00
walk.c gc: implement nil chan support 2011-08-17 15:54:17 -04:00