Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(12)

Delta Between Two Patch Sets: src/cmd/8l/obj.c

Issue 7965043: code review 7965043: cmd/5l, cmd/6l, cmd/8l: fix segfault on reading LOCALS ... (Closed)
Left Patch Set: Created 12 years ago
Right Patch Set: diff -r b3cfb8be2faf https://go.googlecode.com/hg/ Created 12 years ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Right: Side by side diff | Download
« no previous file with change/comment | « src/cmd/6l/obj.c ('k') | test/fixedbugs/issue5105.go » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
(no file at all)
1 // Inferno utils/8l/obj.c 1 // Inferno utils/8l/obj.c
2 // http://code.google.com/p/inferno-os/source/browse/utils/8l/obj.c 2 // http://code.google.com/p/inferno-os/source/browse/utils/8l/obj.c
3 // 3 //
4 // Copyright © 1994-1999 Lucent Technologies Inc. All rights reserved. 4 // Copyright © 1994-1999 Lucent Technologies Inc. All rights reserved.
5 // Portions Copyright © 1995-1997 C H Forsyth (forsyth@terzarima.net) 5 // Portions Copyright © 1995-1997 C H Forsyth (forsyth@terzarima.net)
6 // Portions Copyright © 1997-1999 Vita Nuova Limited 6 // Portions Copyright © 1997-1999 Vita Nuova Limited
7 // Portions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuov a.com) 7 // Portions Copyright © 2000-2007 Vita Nuova Holdings Limited (www.vitanuov a.com)
8 // Portions Copyright © 2004,2006 Bruce Ellis 8 // Portions Copyright © 2004,2006 Bruce Ellis
9 // Portions Copyright © 2005-2007 C H Forsyth (forsyth@terzarima.net) 9 // Portions Copyright © 2005-2007 C H Forsyth (forsyth@terzarima.net)
10 // Revisions Copyright © 2000-2007 Lucent Technologies Inc. and others 10 // Revisions Copyright © 2000-2007 Lucent Technologies Inc. and others
(...skipping 589 matching lines...) Expand 10 before | Expand all | Expand 10 after
600 savedata(s, p, pn); 600 savedata(s, p, pn);
601 unmal(p, sizeof *p); 601 unmal(p, sizeof *p);
602 goto loop; 602 goto loop;
603 603
604 case AGOK: 604 case AGOK:
605 diag("%s: GOK opcode in %s", pn, TNAME); 605 diag("%s: GOK opcode in %s", pn, TNAME);
606 pc++; 606 pc++;
607 goto loop; 607 goto loop;
608 608
609 case ALOCALS: 609 case ALOCALS:
610 if(skip)
611 goto casdef;
610 cursym->locals = p->to.offset; 612 cursym->locals = p->to.offset;
611 pc++; 613 pc++;
612 goto loop; 614 goto loop;
613 615
614 case ATYPE: 616 case ATYPE:
617 if(skip)
618 goto casdef;
615 pc++; 619 pc++;
616 goto loop; 620 goto loop;
617 621
618 case ATEXT: 622 case ATEXT:
619 s = p->from.sym; 623 s = p->from.sym;
620 if(s->text != nil) { 624 if(s->text != nil) {
621 if(p->from.scale & DUPOK) { 625 if(p->from.scale & DUPOK) {
622 skip = 1; 626 skip = 1;
623 goto casdef; 627 goto casdef;
624 } 628 }
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
773 appendp(Prog *q) 777 appendp(Prog *q)
774 { 778 {
775 Prog *p; 779 Prog *p;
776 780
777 p = prg(); 781 p = prg();
778 p->link = q->link; 782 p->link = q->link;
779 q->link = p; 783 q->link = p;
780 p->line = q->line; 784 p->line = q->line;
781 return p; 785 return p;
782 } 786 }
LEFTRIGHT

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b