• Russ Cox's avatar
    gopack: handle long lines in export data · 26dde76c
    Russ Cox authored
    Also, if the header is bad, exit with a non-zero status.
    
    Other calls to Brdline in the tree, by category:
    
    Reading symbol name from object file:
    ./cmd/5l/obj.c:486: 		name = Brdline(f, '\0');
    ./cmd/6l/obj.c:535: 		name = Brdline(f, '\0');
    ./cmd/8l/obj.c:564: 		name = Brdline(f, '\0');
    ./libmach/sym.c:292: 		cp = Brdline(bp, '\0');
    
    Reading archive header line (fixed, short):
    ./cmd/gc/lex.c:287: 	if((a = Brdline(b, '\n')) == nil)
    ./cmd/gc/lex.c:303: 	if((p = Brdline(b, '\n')) == nil)
    
    Reading object file header line (fixed, short):
    ./cmd/ld/lib.c:421: 	line = Brdline(f, '\n');
    
    Reading undefined symbol list (unused code):
    ./cmd/ld/lib.c:773: 	while((l = Brdline(b, '\n')) != nil){
    
    Implementing Brdstr:
    ./libbio/brdstr.c:36: 		p = Brdline(bp, delim);
    
    The symbol names ones will cause a problem loudly if they
    fail: they'll error out with symbol name too long.  This means
    that you can't define an enormous struct without giving the
    type a name and then stick it in an interface, because the
    type's symbol name will be too long for the object file.
    Since this will be a loud failure instead of a silent one,
    I'm willing to wait until it comes up in practice.
    
    R=r
    CC=golang-dev
    https://golang.org/cl/1982041
    26dde76c
Name
Last commit
Last update
..
5a Loading commit data...
5c Loading commit data...
5g Loading commit data...
5l Loading commit data...
6a Loading commit data...
6c Loading commit data...
6g Loading commit data...
6l Loading commit data...
8a Loading commit data...
8c Loading commit data...
8g Loading commit data...
8l Loading commit data...
cc Loading commit data...
cgo Loading commit data...
cov Loading commit data...
ebnflint Loading commit data...
gc Loading commit data...
godefs Loading commit data...
godoc Loading commit data...
gofmt Loading commit data...
goinstall Loading commit data...
gopack Loading commit data...
gotest Loading commit data...
goyacc Loading commit data...
hgpatch Loading commit data...
ld Loading commit data...
nm Loading commit data...
prof Loading commit data...
clean.bash Loading commit data...
make.bash Loading commit data...