• 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
..
bench Loading commit data...
bugs Loading commit data...
chan Loading commit data...
fixedbugs Loading commit data...
garbage Loading commit data...
interface Loading commit data...
ken Loading commit data...
nilptr Loading commit data...
syntax Loading commit data...
235.go Loading commit data...
64bit.go Loading commit data...
args.go Loading commit data...
arm-pass.txt Loading commit data...
assign.go Loading commit data...
assign1.go Loading commit data...
bigalg.go Loading commit data...
bigmap.go Loading commit data...
blank.go Loading commit data...
blank1.go Loading commit data...
chancap.go Loading commit data...
char_lit.go Loading commit data...
char_lit1.go Loading commit data...
closedchan.go Loading commit data...
closure.go Loading commit data...
cmp1.go Loading commit data...
cmp2.go Loading commit data...
cmp3.go Loading commit data...
cmp4.go Loading commit data...
cmp5.go Loading commit data...
cmplx.go Loading commit data...
cmplxdivide.c Loading commit data...
cmplxdivide.go Loading commit data...
cmplxdivide1.go Loading commit data...
complit.go Loading commit data...
compos.go Loading commit data...
const.go Loading commit data...
const1.go Loading commit data...
const2.go Loading commit data...
const3.go Loading commit data...
convert.go Loading commit data...
convert3.go Loading commit data...
convlit.go Loading commit data...
convlit1.go Loading commit data...
copy.go Loading commit data...
ddd.go Loading commit data...
ddd1.go Loading commit data...
ddd2.go Loading commit data...
ddd3.go Loading commit data...
decl.go Loading commit data...
declbad.go Loading commit data...
defer.go Loading commit data...
deferprint.go Loading commit data...
empty.go Loading commit data...
env.go Loading commit data...
errchk Loading commit data...
escape.go Loading commit data...
float_lit.go Loading commit data...
floatcmp.go Loading commit data...
for.go Loading commit data...
func.go Loading commit data...
func1.go Loading commit data...
func2.go Loading commit data...
func3.go Loading commit data...
func4.go Loading commit data...
func5.go Loading commit data...
gc.go Loading commit data...
gc1.go Loading commit data...
golden-arm.out Loading commit data...
golden.out Loading commit data...
hashmap.go Loading commit data...
helloworld.go Loading commit data...
if.go Loading commit data...
if1.go Loading commit data...
import.go Loading commit data...
import1.go Loading commit data...
import2.go Loading commit data...
import3.go Loading commit data...
import4.go Loading commit data...
index.go Loading commit data...
indirect.go Loading commit data...
indirect1.go Loading commit data...
initcomma.go Loading commit data...
initialize.go Loading commit data...
initializerr.go Loading commit data...
initsyscall.go Loading commit data...
int_lit.go Loading commit data...
intcvt.go Loading commit data...
iota.go Loading commit data...
literal.go Loading commit data...
malloc1.go Loading commit data...
mallocfin.go Loading commit data...
mallocrand.go Loading commit data...
mallocrep.go Loading commit data...
mallocrep1.go Loading commit data...
map.go Loading commit data...
method.go Loading commit data...
method1.go Loading commit data...
method2.go Loading commit data...
method3.go Loading commit data...
named.go Loading commit data...
named1.go Loading commit data...
nil.go Loading commit data...
nul1.go Loading commit data...
parentype.go Loading commit data...
peano.go Loading commit data...
printbig.go Loading commit data...
range.go Loading commit data...
recover.go Loading commit data...
recover1.go Loading commit data...
recover2.go Loading commit data...
recover3.go Loading commit data...
rename.go Loading commit data...
rename1.go Loading commit data...
run Loading commit data...
run-arm Loading commit data...
runtime.go Loading commit data...
sieve.go Loading commit data...
sigchld.go Loading commit data...
simassign.go Loading commit data...
sinit.go Loading commit data...
stack.go Loading commit data...
string_lit.go Loading commit data...
stringrange.go Loading commit data...
switch.go Loading commit data...
switch1.go Loading commit data...
test0.go Loading commit data...
turing.go Loading commit data...
typeswitch.go Loading commit data...
typeswitch1.go Loading commit data...
typeswitch2.go Loading commit data...
undef.go Loading commit data...
utf.go Loading commit data...
varerr.go Loading commit data...
varinit.go Loading commit data...
vectors.go Loading commit data...
zerodivide.go Loading commit data...