• Julian Phillips's avatar
    gc: fix pc/line table · b99d7229
    Julian Phillips authored
    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
    b99d7229
Name
Last commit
Last update
doc Loading commit data...
include Loading commit data...
lib Loading commit data...
misc Loading commit data...
src Loading commit data...
test Loading commit data...
.hgignore Loading commit data...
.hgtags Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README Loading commit data...
favicon.ico Loading commit data...
robots.txt Loading commit data...