[gogc] 2 new revisions pushed by bytbox on 2010-08-18 00:39 GMT

1 view
Skip to first unread message

go...@googlecode.com

unread,
Aug 17, 2010, 11:27:46 PM8/17/10
to go...@googlegroups.com
2 new revisions:

Revision: 4506d33cff
Author: Michael Lippautz <michael....@gmail.com>
Date: Mon Jun 21 09:33:08 2010
Log: gogo: Start fixing of uninitialized stack variables
http://code.google.com/p/gogc/source/detail?r=4506d33cff

Revision: 71f5c58793
Author: Andreas Unterweger <and...@gmx.at>
Date: Mon Jun 21 09:48:13 2010
Log: gogo: Fixed uninitialized local string variables
http://code.google.com/p/gogc/source/detail?r=71f5c58793

==============================================================================
Revision: 4506d33cff
Author: Michael Lippautz <michael....@gmail.com>
Date: Mon Jun 21 09:33:08 2010
Log: gogo: Start fixing of uninitialized stack variables
http://code.google.com/p/gogc/source/detail?r=4506d33cff

Modified:
/src/gen-cond.go
/src/gen-if.go

=======================================
--- /src/gen-cond.go Mon Jun 21 06:28:50 2010
+++ /src/gen-cond.go Mon Jun 21 09:33:08 2010
@@ -44,7 +44,7 @@
// by GetSubLabel().
//
func GenerateSubLabel(ed *ExpressionDescriptor, i uint64, label string)
string {
- var str string;
+ var str string = "";
var tmpStr string;

var depth uint64;
=======================================
--- /src/gen-if.go Mon Jun 21 07:35:08 2010
+++ /src/gen-if.go Mon Jun 21 09:33:08 2010
@@ -14,9 +14,7 @@
var labelString string;
var jmp string;
var stacksize uint64;
-
labelString = GenerateSubLabel(ed,1,"END");
-
if ed.Not == 0 {
jmp = GetJump(item.C, 0);
} else {

==============================================================================
Revision: 71f5c58793
Author: Andreas Unterweger <and...@gmx.at>
Date: Mon Jun 21 09:48:13 2010
Log: gogo: Fixed uninitialized local string variables
http://code.google.com/p/gogc/source/detail?r=71f5c58793

Modified:
/src/asm_out.go
/src/gen-cond.go
/src/gen-const.go
/src/gen-fcn.go
/src/linker.go

=======================================
--- /src/asm_out.go Sun Jun 20 04:06:32 2010
+++ /src/asm_out.go Mon Jun 21 09:48:13 2010
@@ -453,7 +453,7 @@
}

func PrintFunctionCall(packagename string, label string, stackoffset
uint64, unknownoffset uint64) {
- var comment string;
+ var comment string = "";
GenerateComment("Stack pointer offset before function call for local
variables start");
if unknownoffset != 0 { //Output linker information
comment = "##2##";
=======================================
--- /src/gen-cond.go Mon Jun 21 09:33:08 2010
+++ /src/gen-cond.go Mon Jun 21 09:48:13 2010
@@ -134,7 +134,7 @@
// (=Global Label + True|False Branch)
//
func GetSubLabel(ed *ExpressionDescriptor, i uint64, label string) string {
- var str string;
+ var str string = "";
var tmpStr string;
var labelnr uint64;

@@ -164,7 +164,7 @@
// Returns the global label that is represented by an ExpressionDescriptor.
//
func GetGlobLabel(ed *ExpressionDescriptor, label string) string {
- var str string;
+ var str string = "";
var tmpStr string;
libgogo.StringAppend(&str, ed.CurFile);
libgogo.StringAppend(&str, "_");
@@ -179,7 +179,7 @@
// Returns the jump expression that represents a given conditional
//
func GetJump(condition uint64, invert uint64) string {
- var jmp string;
+ var jmp string = "J?";

if invert != 0 { // invert logic if necessary (T|F jump)
if (condition == 0) || (condition == 2) || (condition == 4) {
=======================================
--- /src/gen-const.go Sat Jun 12 13:11:36 2010
+++ /src/gen-const.go Mon Jun 21 09:48:13 2010
@@ -23,7 +23,7 @@
var startAddress uint64;
var LHSItem *libgogo.Item;
var RHSItem *libgogo.Item;
- var s string;
+ var s string = "String buffer start ('";

boolFlag = libgogo.StringLength(str); //Compute length
tempType = libgogo.NewType("byteArray", ".internal", 0, boolFlag + 1,
byte_t); //Create byte array type of according length (including trailing
0) to be able to address the characters
@@ -33,7 +33,6 @@
startAddress = libgogo.GetObjectOffset(tempByteArray, GlobalObjects);
//Calculate buffer start address

SwitchOutputToDataSegment(); //Place content of byte array in data
segment
- s = "String buffer start ('";
libgogo.StringAppend(&s, str);
libgogo.StringAppend(&s, "')");
GenerateComment(s); //Output string in comment
=======================================
--- /src/gen-fcn.go Sun Jun 20 08:06:10 2010
+++ /src/gen-fcn.go Mon Jun 21 09:48:13 2010
@@ -7,7 +7,7 @@
import "./libgogo/_obj/libgogo"

func ZeroParameterCheck(FunctionCalled *libgogo.TypeDesc) {
- var FullFunctionName string;
+ var FullFunctionName string = "";
if FunctionCalled.Len == 0 { //Check if function expects parameters
FullFunctionName = "";
libgogo.StringAppend(&FullFunctionName,
FunctionCalled.PackageName);
@@ -18,10 +18,9 @@
}

func ParameterCheck_More(FunctionCalled *libgogo.TypeDesc, paramCount
uint64) {
- var FullFunctionName string;
+ var FullFunctionName string = "";
var tempString string;
if FunctionCalled.Len > paramCount { //Compare number of actual
parameters
- FullFunctionName = "";
libgogo.StringAppend(&FullFunctionName,
FunctionCalled.PackageName);
libgogo.CharAppend(&FullFunctionName, '.');
libgogo.StringAppend(&FullFunctionName, FunctionCalled.Name);
@@ -31,10 +30,9 @@
}

func ParameterCheck_Less(FunctionCalled *libgogo.TypeDesc, paramCount
uint64) {
- var FullFunctionName string;
+ var FullFunctionName string = "";
var tempString string;
if FunctionCalled.Len < paramCount { //Compare number of actual
parameters
- FullFunctionName = "";
libgogo.StringAppend(&FullFunctionName,
FunctionCalled.PackageName);
libgogo.CharAppend(&FullFunctionName, '.');
libgogo.StringAppend(&FullFunctionName, FunctionCalled.Name);
=======================================
--- /src/linker.go Mon Jun 21 02:00:21 2010
+++ /src/linker.go Mon Jun 21 09:48:13 2010
@@ -27,7 +27,7 @@
// Function fetches the next line from the assembly file.
//
func GetLine(ld *LineDesc) {
- var line string;
+ var line string = "";
var i uint64 =0;
var singleChar byte;
var cmp uint64;
@@ -130,7 +130,7 @@
}

func GetPackageName(pkgType string) string {
- var retStr string;
+ var retStr string = "";
var i uint64;
for i = 0; pkgType[i] != 194 ; i=i+1 {
libgogo.CharAppend(&retStr, pkgType[i]);
@@ -139,7 +139,7 @@
}

func GetFuncName(pkgType string) string {
- var retStr string;
+ var retStr string = "";
var i uint64;
var strLen uint64;
strLen = libgogo.StringLength(pkgType);
@@ -243,7 +243,7 @@
var ind uint64;
var tmp1 uint64;
var tmp2 uint64;
- var tmpStr1 string;
+ var tmpStr1 string = "";
var tmpStr2 string;
// maybe some more flags, indicators, temps, strings,
numbers, ... ?!? ;)

@@ -314,7 +314,7 @@
var size uint64;
var oldsize uint64;
var numstr string;
- var newLine string;
+ var newLine string = "";
var strCmp uint64;
var fixedAdr string = "-";
var skip uint64 = 0;

go...@googlecode.com

unread,
Aug 17, 2010, 11:31:50 PM8/17/10
to go...@googlegroups.com
2 new revisions:

Revision: f32b18fd5a
Author: Andreas Unterweger <and...@gmx.at>
Date: Mon Jun 21 10:34:32 2010
Log: gen-expr.go: Fixed one of the last uninitialized variable bugs -
fib.g...
http://code.google.com/p/gogc/source/detail?r=f32b18fd5a

Revision: 8a8b60aff0
Author: Andreas Unterweger <and...@gmx.at>
Date: Mon Jun 21 10:56:01 2010
Log: asm_out.go: Force printing of linker information even with debug
level...
http://code.google.com/p/gogc/source/detail?r=8a8b60aff0

==============================================================================
Revision: f32b18fd5a
Author: Andreas Unterweger <and...@gmx.at>
Date: Mon Jun 21 10:34:32 2010
Log: gen-expr.go: Fixed one of the last uninitialized variable bugs -
fib.go now compiles with the compiled compiler :) SC ahoi
http://code.google.com/p/gogc/source/detail?r=f32b18fd5a

Modified:
/src/gen-expr.go

=======================================
--- /src/gen-expr.go Mon Jun 21 07:35:08 2010
+++ /src/gen-expr.go Mon Jun 21 10:34:32 2010
@@ -64,6 +64,7 @@
ed.F = 0;
ed.TDepth = 0;
ed.FDepth = 0;
+ ed.Not = 0;

libgogo.InitializeStack(&ed.TS);
libgogo.InitializeStack(&ed.FS);

==============================================================================
Revision: 8a8b60aff0
Author: Andreas Unterweger <and...@gmx.at>
Date: Mon Jun 21 10:56:01 2010
Log: asm_out.go: Force printing of linker information even with debug
levels below 10; also reintroduced inspector ;)
http://code.google.com/p/gogc/source/detail?r=8a8b60aff0

Modified:
/src/_gogo_.sog
/src/asm_out.go
/src/compile_all

=======================================
--- /src/_gogo_.sog Mon Jun 21 06:28:50 2010
+++ /src/_gogo_.sog Mon Jun 21 10:56:01 2010
@@ -8,6 +8,72 @@
//
// This code is automatically generated. DO NOT EDIT IT!
//
+// .........................,,,,,,,,,,,,,,,,,,,,,,,..,..........................
+// ..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,.....................
+// .............,,,,,,,,,,,,,,,,,,,,,,,,,:,,,..=,..,:,,,,,,,,,,.................
+// ...........,,,,,,,,,,,,,,,,,,,,,::,:::,,D$?IMIIZ.,:,,,,,,,,,,................
+// .......,,,,,,,,,,,,:,::::::::::::::::,.8III?OIIIOM.,,,,,,,,,,,,,,............
+// ......,,...,,,,,,,,,,,:::::::::::::::.MMDZ?+II?IZZM.:,,,,,,,,,,,,,,..........
+// ...,,,,,MNN,,:,::::::::::::::::::::,,8~~~=::INDDZ$8.::,,,,,,,,,,,,,,,........
+// ,,,,,,,,ZMMM.::,:::::::::::::~:~:,,8MM87::~~::~7?7M,::::::,,,,,,,,,,,,,......
+// ,,,,,,,,.ZNM.,:::::::::::::::~:MI?IIIII7???ZM=,7IIM::::::::::,,,,,,,,,,,,....
+// ,,,,,,::,.MN$:::::::::~~:~,~~~~?M??777??7?I7II?8MID::::::::::::,,,,,,,,,,,,,.
+// ,,,,,,:::.MNM::::::::~~~,7M8??7MMMMMM.M$MM7?7I?OZOM::::::::::::::::,,,,,,,,,.
+// ,,,::::::,MMMD$.~~~:~~~~MMMMMMMMMMMM.+::,M..:MNIZOD,:~~:::::::::::::,,,,,,,,,
+// ,:::::::,,MNNZ8M=:::~~~=+MMMMMMMMMMZ~D:::=.Z:..8+MZD,~::~~::::::::::::,,,,,,,
+// :::::::,.+OO8NMDOM:=~~~~::MMMMMNOMM,,~:~::M..MD:?MMMM+,,=~:~:::::::::::,,,,,,
+// ::::::::MN888NDO8M~===~=~+MMMMZ.Z:M,M~:::::~:~::NMMMMMMZ:~~:~~~:::::::::,,,,,
+// :::::::,M8O88DNMN=~===~===~MMM7:~=,N,~::::::~::?8++MMMMM$,~~~~~~~::::::::,,,,
+// :::::~:~ZM8NDONOO$=~======+:NMM::Z.~:~:::::~:~::+N?MMMMZ7~~~~~~~~:::::::::,,,
+// ::::~~~~NDNONDD88Z=~=======+==:MIDM:::~::::::~~::D+MMMMD~=~~~~~~~~~:::::::,,,
+// ::~~~~~~=MO888OD8=====++=++=+=+?::Z:~:~~~~:::~::+OMMMMM:===~~~~~~~~~~:::::::,
+// :::::~~~,78888ONM:====++++++++++D,7:~~:~:~~:~:~INMM=~:~====~~~~~~~~~~::::::::
+// :~~~~~~~=MN888NMM=+=+++++++++++=M~~N8ZM~:::~~:~~+=+++==+=====~~~~~~~~~:::::::
+// :~~~~~~:ON888DMM:+===+++++++++?+D:~::,:~:::~~,M++++==++======~~~~~~~~~:::::::
+//
~~~:=:M,MMM7++=MIM=+=++?++?++?+=Z~::::~::::~:N:++==+=+==========~~~~~~~~:::::
+//
~~~~~,~8.ODNM8O?IM=+++++++?????=+:~,7.+I.7,:7I??DM~++++++========~~~~~~~:::::
+//
~~~=,M,N~~~~~~+IIO+++??+???????N+:::,?MMMM:,DM?II?7++++===========~~~~~~~~:::
+//
~~~=:.:$:~=~~~~ID~++??+????OM?=+?~~~:,MMMM,++D$II?IN+~++++=+=======~~~~~~~:::
+//
~~~~:N$=.~:~~~~I=?+?++~N8OM~?M7:N:~::,MM,Z:M=?N=~Z?I?7M=+=++=======~~~~~~~:::
+//
~~~=~N,N~~~~~~~?==?+=M~8~:::=+:=$,~:~,M$7N,88.MI=~III77D=:~+=======~~~~~~~~::
+//
~~~~=:7~~~~~~~~?$N??M:~:NZNM:~~=~N:~,ZMM,:,.I=:~~~=II7?~8..D+========~~~~~~::
+//
~=~~=,?~~~~~=~:?Z:+:~~~:~~8:~~~~~,:::,::~~+7~~~~~~~7N,~~:?I+:$==~==~=~~~~~~::
+//
~===~~~~~~~~~~~?7:$~~~~~:O:~~~~~~,:~::~::?==~=~~~~:?::~$OI,~:MMMMI~==~~~~~~~~
+//
~====Z:~~~~~=~I8,+:~~~~=D,:~~~=~~~M,,:ON+,~~~~~:=:Z~~~~~~$:~~~~:I?=~=~~~~~~~:
+//
~~==~M~~~~~~:?IO~M:~~~~:M8NM8I::~~~D?,.N:=~~~~~:~N:~~~~~=:~==~==?IZ~==~~~~~~:
+//
~~=~=:~~~~~~:MD~:~~~~~:O:=~:~D=~~~~::.O:=::::7DD::~~~~~~~~~~~~=:IMIDM:~~~~~~:
+//
~==~M~~~~~~~7ID~~~~~~=+:~~~?~==~~~::=?~~~~~8Z,~~~=~~~~~~~~~~~~~=IDI7?D,~:~~~~
+//
~==NI~~~~~~~~~=:~~~~~:M~~~$.~:~~~~~N==~~==:~~,:M~~~~~~~~~~~~~:~?IIIIII7==:~~:
+//
~~~Z$~~~~~~~~~~~~~~::=$+N::,:?M+~:8:~~:,$NN?~::,:~~=:~=~~~~~~~~~~?7IIII?D,~~:
+//
~~~:=+=~~~~=~~~~=I7IIIM=O8,~7=~:+I~::D=:M8:=~=~~~~~~~8~~~~~~~~~~~~=:=7II?D,~~
+//
~~===?O~::~?ZMMN8DMMN?D,7MO??7D=D::MI~~=,=$N~~~~~~~=~M~~~~~~~~~~~~~=~~7III,~~
+//
~~=========+++++++????D:+~~:~~,I:8~~~~~~+Z$+O=,ONNMMMM:~:~:=~~~~~~~~~~~I?N:~~
+//
~~~=======+++++++++??II:~~~=~=NN,=,~:~~:Z.?::$I=::~+78O+,:~~~~~~~~~~~~+7M~:::
+//
~~~~~=======+++++++???7,Z~~~:M8~M.M+~~~=~=:~:~:~~~~7?D~+D$:~~~~~~~~~~:7M~:~::
+//
~~~~~=======++++++++?+M:~=~~+:=~~:=~=~:+8~M:=~~~~~~7?M=+=~M,:,,,::~:~7N,~~:::
+//
~~~~~========+++++++++8~~~~~D:~8M,.:~~:~DZZ~~:~~~~~IIM=++=M~~+?$$NN:=I7~:~:::
+//
~~~~~========++++++++$O8DNO:D??8~7DI=?I7ZMO:=~,~~=:7IN=+~O:~~=~:D$,7I$:::~:::
+//
~~~~~=~~=======+=++++MIII?I,OI7~ZIM~~8IIII?+,OI?IM+7IIM~N~~~=:=I:77M$~~~~~:::
+//
~~~~~~~~=========+++=MIIII?,II?=M7$N:I??III~N?I7I?7?NMNNMD:~~M:~M.?D$~~~:::::
+// :~~~~~~~=~=======+++=N7DMDI:D7?IMMMD?:,~:+8,M7I?IIIZM888N=+M::O~?DO,:~~~:::::
+// :~~~~~~~~~===========M~~~,=,+O?.O:~~~~~Z..M~~::::88DN8OD8N=?IZ:,N8~:=~:::::::
+// :~~~~~~~~~~~========~I~~~:~::+N?7:~=~~~IO78~:~~~~??8NZD88DDNNMMM:::=:::::::::
+// :::~~~~~~~~~~=======~MI~~::~~~~~~~~~~~~~~:~~~~~~~~I$M8N88NNNN8:==~:~::::::::,
+// ::::~~~~~~~~~~~=====~N~~~,,~~~~~~~~~~~~~~~~~~~~~~:IZMDOD8DNMNN.:~~~::::::::,,
+// ::::::~~~~~~~~~~~===:Z=~~,,~~~~~~~~~~~~~~~~~~~~~~~7$N8888DNMMNM$:::::::::,,,,
+// :::::::~~~~~~~~~~~=~,=~~~,,~~~~~~~~~~~~~~~~~~~~~~~7IN888ODNNNMO,::::::::,,,,,
+// ::::::::~~~~~~~~~~~~::~~:+,~~~~~~~~~~~~~~~~~~~~~~:II?N888NNMO,~,::::::::,,,,,
+// ,::::::::::~~~~~~~~:$:~~:8:~~~~~~~~~~~~~~~~~~~~~~:77IM:O8Z,:~:~~::::::,,,,,,,
+// ,,:::::::::::::::~~:M~~~=N~~~~~~~~~~~~~~~~~~~~~~~~IIIM~~~:::::::::::::,,,,,,,
+// ,,,:::::::::::::::~=M~~~8I~~~~~~~~~~~~~~~~~~~~~~~~?IIM:~~::::::::::::,,,,,,,,
+// ,,,,,,:::::::::::::D?~~~N:~~~~~~~~~~~~~~~~~~~~~~~~=IIN,:::::::::,:,,,,,,,,,..
+// ,,,,,,,,,::::::::::M:~~:O:~~~~~~~~~~~~~~~~~~~~~~~~~IIN,::::::::,,,,,,,,,,,,..
+// ,,,,,,,,,:::::::::,8,~~:?:~~~~~~~~~~~~~~~~~~~~~~~~~II8.::::::::,,,,,,,,,.....
+// ,,,,,,,,,,,,::::,:.$:~~,:~~~~~~~~~~~~~~~~~~~~~~~~~:IIZ,::::,,,,,,,,,,,,,.....
+// .,,,,,,,,,,,,,,,::.7:~~:,~~~~~~~~~~~~~~~~~~~~~~~~~:II?.:,,,,,,,,,,,,,........
+// ......,,,,,,,,,,,:.?~~~::~~~~~~~~~~~~~~~~~~~~~~~~~:I7??:,,,,,,,,,,...........
+// ........,,,,,,,,,,.:~~~::~~~~~~~~~~~~~~~~~~~~~~~~~:7II7,,,,,,,...............
+// ........,,,,,,,,,,~~~~~+~~~~~~~~~~~~~~~~~~~~~~~~~~~III7,,,,,,,,..............

__UNLINKED_CODE
//Symbol table:
=======================================
--- /src/asm_out.go Mon Jun 21 09:48:13 2010
+++ /src/asm_out.go Mon Jun 21 10:56:01 2010
@@ -53,7 +53,7 @@
// This code is automatically generated. DO NOT EDIT IT!\n\
//\n\
");
- //InspectorGadget();
+ InspectorGadget();
InitCodeSegment = "TEXT main·init(SB),0,$0-0\n";

libgogo.InitializeStringList(&DataSegmentList);
@@ -173,13 +173,13 @@
PrintCodeOutput(temp);
}

-func GenerateComment(msg string) {
+func GenerateCommentInternal(msg string, forcePrint uint64) {
var str string = "";
var tmpPtr *string;
var temp string;
var i uint64;
var n uint64;
- if DEBUG_LEVEL >= 10 {
+ if (DEBUG_LEVEL >= 10) || (forcePrint != 0) {
tmpPtr = &DataSegment;
if (OutputStringPtr != tmpPtr) {
str = " //--- ";
@@ -201,6 +201,14 @@
PrintCodeOutput(str);
}
}
+
+func GenerateComment(msg string) {
+ GenerateCommentInternal(msg, 0);
+}
+
+func GenerateLinkerComment(msg string) {
+ GenerateCommentInternal(msg, 1); //Force comment printing regardless
of debug level
+}

func PrintRegister(name string, number uint64, indirect uint64, offset
uint64, negativeoffset uint64, optionaloffsetname string) {
var R uint64;
@@ -348,7 +356,7 @@
} else { //Local
temp = libgogo.StringLength(variable.LinkerInformation);
if temp != 0 {
- GenerateComment(variable.LinkerInformation);
+ GenerateLinkerComment(variable.LinkerInformation);
}
PrintInstruction_Imm_Reg(op, opsize, value, "SP", 0, 1,
variable.A + 8, 1, ""); //OP $value, -[variable.A+8](SP)
}
@@ -367,7 +375,7 @@
} else { //Local
temp = libgogo.StringLength(variable.LinkerInformation);
if temp != 0 {
- GenerateComment(variable.LinkerInformation);
+ GenerateLinkerComment(variable.LinkerInformation);
}
PrintInstruction_Reg_Imm(op, opsize, "SP", 0, 1, variable.A +
8, 1, "", value); // OP -[variable.A+8](SP), $value
}
@@ -393,12 +401,12 @@
} else { //Local
temp = libgogo.StringLength(variable.LinkerInformation);
if temp != 0 {
- GenerateComment(variable.LinkerInformation);
+ GenerateLinkerComment(variable.LinkerInformation);
}
retVal = PrintInstruction_Reg_Reg(op, opsize, regname,
regnumber, 0, 0, 0, "", "SP", 0, 1, variable.A + 8, 1, ""); //OP
regname_regnumber, -[variable.A+8](SP)
if retVal != 0 { //Handle operands > 8 bytes
if temp != 0 {
- GenerateComment(variable.LinkerInformation);
+ GenerateLinkerComment(variable.LinkerInformation);
}
PrintInstruction_Reg_Reg(op, retVal, optregname,
optregnumber, 0, 0, 0, "", "SP", 0, 1, variable.A, 1, ""); //OP
optregname_optregnumber, -[variable.A+8-8](SP)
}
@@ -425,12 +433,12 @@
} else { //Local
temp = libgogo.StringLength(variable.LinkerInformation);
if temp != 0 {
- GenerateComment(variable.LinkerInformation);
+ GenerateLinkerComment(variable.LinkerInformation);
}
retVal = PrintInstruction_Reg_Reg(op, opsize, "SP", 0, 1,
variable.A + 8, 1, "", regname, regnumber, 0, 0, 0, ""); //OP
-[variable.A+8](SP), regname_regnumber
if retVal != 0 { //Handle operands > 8 byte
if temp != 0 {
- GenerateComment(variable.LinkerInformation);
+ GenerateLinkerComment(variable.LinkerInformation);
}
PrintInstruction_Reg_Reg(op, retVal, "SP", 0, 1,
variable.A, 1, "", optregname, optregnumber, 0, 0, 0, ""); //OP
-[variable.A+8-8](SP), optregname_optregnumber
}
@@ -461,7 +469,7 @@
libgogo.StringAppend(&comment, "·");
libgogo.StringAppend(&comment, label);
libgogo.StringAppend(&comment, "##");
- GenerateComment(comment);
+ GenerateLinkerComment(comment);
}
PrintInstruction_Imm_Reg("SUB", 8, stackoffset, "SP", 0, 0, 0, 0, "");
//SUBQ $stackoffset, SP
GenerateComment("Stack pointer offset before function call for local
variables end");
=======================================
--- /src/compile_all Sun Jun 20 08:36:58 2010
+++ /src/compile_all Mon Jun 21 10:56:01 2010
@@ -24,6 +24,7 @@
parser.go \
gogo.go \
asm_out.go \
+inspector.go \
codegen.go \
gen-arith.go \
gen-assign.go \

go...@googlecode.com

unread,
Aug 17, 2010, 11:35:52 PM8/17/10
to go...@googlegroups.com
2 new revisions:

Revision: 173a01c4bd
Author: Michael Lippautz <michael....@gmail.com>
Date: Mon Jun 21 13:00:46 2010
Log: gogo: Self-compiling works! ;)
http://code.google.com/p/gogc/source/detail?r=173a01c4bd

Revision: c69c0edcfa
Author: Andreas Unterweger <and...@gmx.at>
Date: Mon Jun 21 13:22:56 2010
Log: asm_out.go: Fix debug level < 10 bug => SC is now also possible
withou...
http://code.google.com/p/gogc/source/detail?r=c69c0edcfa

==============================================================================
Revision: 173a01c4bd
Author: Michael Lippautz <michael....@gmail.com>
Date: Mon Jun 21 13:00:46 2010
Log: gogo: Self-compiling works! ;)
http://code.google.com/p/gogc/source/detail?r=173a01c4bd

Deleted:
/src/_gogo_.sog
Modified:
/src/linker.go
/src/token.go

=======================================
--- /src/_gogo_.sog Mon Jun 21 10:56:01 2010
+++ /dev/null
@@ -1,11172 +0,0 @@
-//
-// --------------------
-// GoGo compiler output
-// --------------------
-//
-
-// Syntax: Plan-9 assembler
-//
-// This code is automatically generated. DO NOT EDIT IT!
-//
-// .........................,,,,,,,,,,,,,,,,,,,,,,,..,..........................
-// ..................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,.....................
-// .............,,,,,,,,,,,,,,,,,,,,,,,,,:,,,..=,..,:,,,,,,,,,,.................
-// ...........,,,,,,,,,,,,,,,,,,,,,::,:::,,D$?IMIIZ.,:,,,,,,,,,,................
-// .......,,,,,,,,,,,,:,::::::::::::::::,.8III?OIIIOM.,,,,,,,,,,,,,,............
-// ......,,...,,,,,,,,,,,:::::::::::::::.MMDZ?+II?IZZM.:,,,,,,,,,,,,,,..........
-// ...,,,,,MNN,,:,::::::::::::::::::::,,8~~~=::INDDZ$8.::,,,,,,,,,,,,,,,........
-// ,,,,,,,,ZMMM.::,:::::::::::::~:~:,,8MM87::~~::~7?7M,::::::,,,,,,,,,,,,,......
-// ,,,,,,,,.ZNM.,:::::::::::::::~:MI?IIIII7???ZM=,7IIM::::::::::,,,,,,,,,,,,....
-// ,,,,,,::,.MN$:::::::::~~:~,~~~~?M??777??7?I7II?8MID::::::::::::,,,,,,,,,,,,,.
-// ,,,,,,:::.MNM::::::::~~~,7M8??7MMMMMM.M$MM7?7I?OZOM::::::::::::::::,,,,,,,,,.
-// ,,,::::::,MMMD$.~~~:~~~~MMMMMMMMMMMM.+::,M..:MNIZOD,:~~:::::::::::::,,,,,,,,,
-// ,:::::::,,MNNZ8M=:::~~~=+MMMMMMMMMMZ~D:::=.Z:..8+MZD,~::~~::::::::::::,,,,,,,
-// :::::::,.+OO8NMDOM:=~~~~::MMMMMNOMM,,~:~::M..MD:?MMMM+,,=~:~:::::::::::,,,,,,
-// ::::::::MN888NDO8M~===~=~+MMMMZ.Z:M,M~:::::~:~::NMMMMMMZ:~~:~~~:::::::::,,,,,
-// :::::::,M8O88DNMN=~===~===~MMM7:~=,N,~::::::~::?8++MMMMM$,~~~~~~~::::::::,,,,
-// :::::~:~ZM8NDONOO$=~======+:NMM::Z.~:~:::::~:~::+N?MMMMZ7~~~~~~~~:::::::::,,,
-// ::::~~~~NDNONDD88Z=~=======+==:MIDM:::~::::::~~::D+MMMMD~=~~~~~~~~~:::::::,,,
-// ::~~~~~~=MO888OD8=====++=++=+=+?::Z:~:~~~~:::~::+OMMMMM:===~~~~~~~~~~:::::::,
-// :::::~~~,78888ONM:====++++++++++D,7:~~:~:~~:~:~INMM=~:~====~~~~~~~~~~::::::::
-// :~~~~~~~=MN888NMM=+=+++++++++++=M~~N8ZM~:::~~:~~+=+++==+=====~~~~~~~~~:::::::
-// :~~~~~~:ON888DMM:+===+++++++++?+D:~::,:~:::~~,M++++==++======~~~~~~~~~:::::::
-//
~~~:=:M,MMM7++=MIM=+=++?++?++?+=Z~::::~::::~:N:++==+=+==========~~~~~~~~:::::
-//
~~~~~,~8.ODNM8O?IM=+++++++?????=+:~,7.+I.7,:7I??DM~++++++========~~~~~~~:::::
-//
~~~=,M,N~~~~~~+IIO+++??+???????N+:::,?MMMM:,DM?II?7++++===========~~~~~~~~:::
-//
~~~=:.:$:~=~~~~ID~++??+????OM?=+?~~~:,MMMM,++D$II?IN+~++++=+=======~~~~~~~:::
-//
~~~~:N$=.~:~~~~I=?+?++~N8OM~?M7:N:~::,MM,Z:M=?N=~Z?I?7M=+=++=======~~~~~~~:::
-//
~~~=~N,N~~~~~~~?==?+=M~8~:::=+:=$,~:~,M$7N,88.MI=~III77D=:~+=======~~~~~~~~::
-//
~~~~=:7~~~~~~~~?$N??M:~:NZNM:~~=~N:~,ZMM,:,.I=:~~~=II7?~8..D+========~~~~~~::
-//
~=~~=,?~~~~~=~:?Z:+:~~~:~~8:~~~~~,:::,::~~+7~~~~~~~7N,~~:?I+:$==~==~=~~~~~~::
-//
~===~~~~~~~~~~~?7:$~~~~~:O:~~~~~~,:~::~::?==~=~~~~:?::~$OI,~:MMMMI~==~~~~~~~~
-//
~====Z:~~~~~=~I8,+:~~~~=D,:~~~=~~~M,,:ON+,~~~~~:=:Z~~~~~~$:~~~~:I?=~=~~~~~~~:
-//
~~==~M~~~~~~:?IO~M:~~~~:M8NM8I::~~~D?,.N:=~~~~~:~N:~~~~~=:~==~==?IZ~==~~~~~~:
-//
~~=~=:~~~~~~:MD~:~~~~~:O:=~:~D=~~~~::.O:=::::7DD::~~~~~~~~~~~~=:IMIDM:~~~~~~:
-//
~==~M~~~~~~~7ID~~~~~~=+:~~~?~==~~~::=?~~~~~8Z,~~~=~~~~~~~~~~~~~=IDI7?D,~:~~~~
-//
~==NI~~~~~~~~~=:~~~~~:M~~~$.~:~~~~~N==~~==:~~,:M~~~~~~~~~~~~~:~?IIIIII7==:~~:
-//
~~~Z$~~~~~~~~~~~~~~::=$+N::,:?M+~:8:~~:,$NN?~::,:~~=:~=~~~~~~~~~~?7IIII?D,~~:
-//
~~~:=+=~~~~=~~~~=I7IIIM=O8,~7=~:+I~::D=:M8:=~=~~~~~~~8~~~~~~~~~~~~=:=7II?D,~~
-//
~~===?O~::~?ZMMN8DMMN?D,7MO??7D=D::MI~~=,=$N~~~~~~~=~M~~~~~~~~~~~~~=~~7III,~~
-//
~~=========+++++++????D:+~~:~~,I:8~~~~~~+Z$+O=,ONNMMMM:~:~:=~~~~~~~~~~~I?N:~~
-//
~~~=======+++++++++??II:~~~=~=NN,=,~:~~:Z.?::$I=::~+78O+,:~~~~~~~~~~~~+7M~:::
-//
~~~~~=======+++++++???7,Z~~~:M8~M.M+~~~=~=:~:~:~~~~7?D~+D$:~~~~~~~~~~:7M~:~::
-//
~~~~~=======++++++++?+M:~=~~+:=~~:=~=~:+8~M:=~~~~~~7?M=+=~M,:,,,::~:~7N,~~:::
-//
~~~~~========+++++++++8~~~~~D:~8M,.:~~:~DZZ~~:~~~~~IIM=++=M~~+?$$NN:=I7~:~:::
-//
~~~~~========++++++++$O8DNO:D??8~7DI=?I7ZMO:=~,~~=:7IN=+~O:~~=~:D$,7I$:::~:::
-//
~~~~~=~~=======+=++++MIII?I,OI7~ZIM~~8IIII?+,OI?IM+7IIM~N~~~=:=I:77M$~~~~~:::
-//
~~~~~~~~=========+++=MIIII?,II?=M7$N:I??III~N?I7I?7?NMNNMD:~~M:~M.?D$~~~:::::
-// :~~~~~~~=~=======+++=N7DMDI:D7?IMMMD?:,~:+8,M7I?IIIZM888N=+M::O~?DO,:~~~:::::
-// :~~~~~~~~~===========M~~~,=,+O?.O:~~~~~Z..M~~::::88DN8OD8N=?IZ:,N8~:=~:::::::
-// :~~~~~~~~~~~========~I~~~:~::+N?7:~=~~~IO78~:~~~~??8NZD88DDNNMMM:::=:::::::::
-// :::~~~~~~~~~~=======~MI~~::~~~~~~~~~~~~~~:~~~~~~~~I$M8N88NNNN8:==~:~::::::::,
-// ::::~~~~~~~~~~~=====~N~~~,,~~~~~~~~~~~~~~~~~~~~~~:IZMDOD8DNMNN.:~~~::::::::,,
-// ::::::~~~~~~~~~~~===:Z=~~,,~~~~~~~~~~~~~~~~~~~~~~~7$N8888DNMMNM$:::::::::,,,,
-// :::::::~~~~~~~~~~~=~,=~~~,,~~~~~~~~~~~~~~~~~~~~~~~7IN888ODNNNMO,::::::::,,,,,
-// ::::::::~~~~~~~~~~~~::~~:+,~~~~~~~~~~~~~~~~~~~~~~:II?N888NNMO,~,::::::::,,,,,
-// ,::::::::::~~~~~~~~:$:~~:8:~~~~~~~~~~~~~~~~~~~~~~:77IM:O8Z,:~:~~::::::,,,,,,,
-// ,,:::::::::::::::~~:M~~~=N~~~~~~~~~~~~~~~~~~~~~~~~IIIM~~~:::::::::::::,,,,,,,
-// ,,,:::::::::::::::~=M~~~8I~~~~~~~~~~~~~~~~~~~~~~~~?IIM:~~::::::::::::,,,,,,,,
-// ,,,,,,:::::::::::::D?~~~N:~~~~~~~~~~~~~~~~~~~~~~~~=IIN,:::::::::,:,,,,,,,,,..
-// ,,,,,,,,,::::::::::M:~~:O:~~~~~~~~~~~~~~~~~~~~~~~~~IIN,::::::::,,,,,,,,,,,,..
-// ,,,,,,,,,:::::::::,8,~~:?:~~~~~~~~~~~~~~~~~~~~~~~~~II8.::::::::,,,,,,,,,.....
-// ,,,,,,,,,,,,::::,:.$:~~,:~~~~~~~~~~~~~~~~~~~~~~~~~:IIZ,::::,,,,,,,,,,,,,.....
-// .,,,,,,,,,,,,,,,::.7:~~:,~~~~~~~~~~~~~~~~~~~~~~~~~:II?.:,,,,,,,,,,,,,........
-// ......,,,,,,,,,,,:.?~~~::~~~~~~~~~~~~~~~~~~~~~~~~~:I7??:,,,,,,,,,,...........
-// ........,,,,,,,,,,.:~~~::~~~~~~~~~~~~~~~~~~~~~~~~~:7II7,,,,,,,...............
-// ........,,,,,,,,,,~~~~~+~~~~~~~~~~~~~~~~~~~~~~~~~~~III7,,,,,,,,..............
-
-__UNLINKED_CODE
-//Symbol table:
-//TYPE,0,·uint64,8,8
-//TYPE,0,·byte,1,8
-//TYPE,0,·string,16,16
-//TYPE,0,·bool,8,8
-//TYPE,0,main·FibHolder,24,24
-//TYPE,0,libgogo·List,32,32
-//TYPE,0,libgogo·StringList,32,32
-//TYPE,0,libgogo·TypeDesc,80,80
-//TYPE,0,libgogo·ObjectDesc,64,64
-//TYPE,0,libgogo·Item,72,72
-//FUNC,0,main·init
-//FUNC,0,main·main,return value:·uint64
-//FUNC,0,main·fib1,i:·uint64,return value:·uint64
-//FUNC,0,main·fib2,n:·uint64,return value:·uint64
-//FUNC,0,libgogo·PrintString,msg:·string
-//FUNC,0,libgogo·IntToString,num:·uint64,return value:·string
-//FUNC,0,libgogo·ToIntFromByte,b:·byte,return value:·uint64
-//FUNC,0,libgogo·ToByteFromInt,i:·uint64,return value:·byte
-//FUNC,0,libgogo·ToUint64FromBytePtr,char:*·byte,return value:·uint64
-//FUNC,0,libgogo·ToUint64FromUint64Ptr,value:*·uint64,return value:·uint64
-//FUNC,0,libgogo·ToUint64PtrFromUint64,value:·uint64,return value:*·uint64
-//FUNC,0,libgogo·ToUint64FromStringPtr,value:*·string,return value:·uint64
-//FUNC,0,libgogo·GetStringFromAddress,addr:·uint64,return value:*·string
-//FUNC,0,libgogo·StringToInt,str:·string,return value:·uint64
-//FUNC,0,libgogo·StringLength,str:·string,return value:·uint64
-//FUNC,0,libgogo·CharAppend,str:*·string,char:·byte
-//FUNC,0,libgogo·Write,fd:·uint64,text:·string,length:·uint64,return
value:·uint64
-//FUNC,0,libgogo·WriteString,fd:·uint64,msg:·string
-//FUNC,0,libgogo·PrintChar,char:·byte
-//FUNC,0,libgogo·PrintNumber,num:·uint64
-//FUNC,0,libgogo·Read,fd:·uint64,buffer:·string,buffer_size:·uint64,return
value:·uint64
-//FUNC,0,libgogo·GetChar,fd:·uint64,return value:·byte
-//FUNC,0,libgogo·FileOpen,filename:·string,flags:·uint64,return
value:·uint64
-//FUNC,0,libgogo·FileOpen2,filename:·string,flags:·uint64,mode:·uint64,return
value:·uint64
-//FUNC,0,libgogo·FileClose,fd:·uint64,return value:·uint64
-//FUNC,0,libgogo·InitializeList,uninitializedList:*libgogo·List,itemSize:·uint64
-//FUNC,0,libgogo·Alloc,size:·uint64,return value:·uint64
-//FUNC,0,libgogo·AddItem,list:*libgogo·List,valuePtr:*·uint64
-//FUNC,0,libgogo·CopyMem,source:·uint64,dest:·uint64,size:·uint64
-//FUNC,0,libgogo·RemoveItemAt,list:*libgogo·List,index:·uint64,return
value:*·uint64
-//FUNC,0,libgogo·GetItemAt,list:*libgogo·List,index:·uint64,return
value:*·uint64
-//FUNC,0,libgogo·ExitError,msg:·string,code:·uint64
-//FUNC,0,libgogo·GetListItemCount,list:*libgogo·List,return value:·uint64
-//FUNC,0,libgogo·GetListCapacity,list:*libgogo·List,return value:·uint64
-//FUNC,0,libgogo·Brk,brk:·uint64,return value:·uint64
-//FUNC,0,libgogo·GetBrk,return value:·uint64
-//FUNC,0,libgogo·TestMem,address:·uint64,return value:·uint64
-//FUNC,0,libgogo·InitMemoryManager
-//FUNC,0,libgogo·MoreMemory
-//FUNC,0,libgogo·GetFreeMemory,return value:·uint64
-//FUNC,0,libgogo·InitializeStringList,uninitializedList:*libgogo·StringList
-//FUNC,0,libgogo·AddStringItem,list:*libgogo·StringList,value:·string
-//FUNC,0,libgogo·GetStringItemAt,list:*libgogo·StringList,index:·uint64,return
value:·string
-//FUNC,0,libgogo·GetStringListItemCount,list:*libgogo·StringList,return
value:·uint64
-//FUNC,0,libgogo·GetStringListCapacity,list:*libgogo·StringList,return
value:·uint64
-//FUNC,0,libgogo·Uint64ToObjectDescPtr,adr:·uint64,return
value:*libgogo·ObjectDesc
-//FUNC,0,libgogo·Uint64ToTypeDescPtr,adr:·uint64,return
value:*libgogo·TypeDesc
-//FUNC,0,libgogo·AppendObject,object:*libgogo·ObjectDesc,list:*libgogo·ObjectDesc,return
value:*libgogo·ObjectDesc
-//FUNC,0,libgogo·AppendType,objtype:*libgogo·TypeDesc,list:*libgogo·TypeDesc,return
value:*libgogo·TypeDesc
-//FUNC,0,libgogo·AddFields,object:*libgogo·ObjectDesc,objtype:*libgogo·TypeDesc
-//FUNC,0,libgogo·HasField,name:·string,objtype:*libgogo·TypeDesc,return
value:·uint64
-//FUNC,0,libgogo·GetField,name:·string,objtype:*libgogo·TypeDesc,return
value:*libgogo·ObjectDesc
-//FUNC,0,libgogo·GetObject,name:·string,packagename:·string,list:*libgogo·ObjectDesc,return
value:*libgogo·ObjectDesc
-//FUNC,0,libgogo·AddParameters,object:*libgogo·ObjectDesc,fcn:*libgogo·TypeDesc
-//FUNC,0,libgogo·GetTypeSize,objtype:*libgogo·TypeDesc,return value:·uint64
-//FUNC,0,libgogo·GetObjectSizeAligned,obj:*libgogo·ObjectDesc,return
value:·uint64
-//FUNC,0,libgogo·AlignTo64Bit,adr:·uint64,return value:·uint64
-//FUNC,0,libgogo·GetTypeSizeAligned,objtype:*libgogo·TypeDesc,return
value:·uint64
-//FUNC,0,libgogo·GetObjectSize,obj:*libgogo·ObjectDesc,return value:·uint64
-//FUNC,0,libgogo·GetObjectOffset,obj:*libgogo·ObjectDesc,list:*libgogo·ObjectDesc,return
value:·uint64
-//FUNC,0,libgogo·GetFieldOffset,obj:*libgogo·ObjectDesc,objtype:*libgogo·TypeDesc,return
value:·uint64
-//FUNC,0,libgogo·GetAlignedObjectListSize,objList:*libgogo·ObjectDesc,return
value:·uint64
-//FUNC,0,libgogo·StringCompare,str1:·string,str2:·string,return
value:·uint64
-//FUNC,0,libgogo·GetType,name:·string,packagename:·string,list:*libgogo·TypeDesc,includeforward:·uint64,return
value:*libgogo·TypeDesc
-//FUNC,0,libgogo·FindPackageName,packagename:·string,list:*libgogo·ObjectDesc,return
value:·uint64
-//FUNC,0,libgogo·FindTypePackageName,packagename:·string,list:*libgogo·TypeDesc,return
value:·uint64
-//FUNC,0,libgogo·GetParameterAt,index:·uint64,list:*libgogo·TypeDesc,return
value:*libgogo·ObjectDesc
-//FUNC,0,libgogo·NewObject,name:·string,packagename:·string,class:·uint64,return
value:*libgogo·ObjectDesc
-//FUNC,0,libgogo·NewType,name:·string,packagename:·string,forwarddecl:·uint64,len:·uint64,basetype:*libgogo·TypeDesc,return
value:*libgogo·TypeDesc
-//FUNC,0,libgogo·PrintObjects,list:*libgogo·ObjectDesc
-//FUNC,0,libgogo·PrintTypes,list:*libgogo·TypeDesc
-//FUNC,0,libgogo·PrintFunctions,list:*libgogo·TypeDesc
-//FUNC,0,libgogo·SymbolTableFunctionsToStringList,list:*libgogo·TypeDesc,result:*libgogo·StringList
-//FUNC,0,libgogo·StringAppend,str:*·string,append_str:·string
-//FUNC,0,libgogo·SymbolTableTypesToStringList,list:*libgogo·TypeDesc,result:*libgogo·StringList
-//FUNC,0,libgogo·StringLength2,str:*·string,return value:·uint64
-//FUNC,0,libgogo·GetStringAddress,str:*·string,return value:·uint64
-//FUNC,0,libgogo·ResetString,str:*·string
-//FUNC,0,libgogo·SetStringAddressAndLength,str:*·string,new_addr:·uint64,new_length:·uint64
-//FUNC,0,libgogo·GetMaxStringLength,length:·uint64,return value:·uint64
-//FUNC,0,libgogo·Uint64ToItemPtr,adr:·uint64,return value:*libgogo·Item
-//FUNC,0,libgogo·ItemPtrToUint64,item:*libgogo·Item,return value:·uint64
-//FUNC,0,libgogo·NewItem,return value:*libgogo·Item
-//FUNC,0,libgogo·SetItem,item:*libgogo·Item,mode:·uint64,itemtype:*libgogo·TypeDesc,ptrtype:·uint64,a:·uint64,r:·uint64,global:·uint64
-//FUNC,0,libgogo·GetArgv
-//FUNC,0,libgogo·Exit,code:·uint64
-//End Symbol table
-
-//--- String buffer start ('Fibonacci\n') at fib.go:21:38
-DATA data+8(SB)/1, $70
-DATA data+9(SB)/1, $105
-DATA data+10(SB)/1, $98
-DATA data+11(SB)/1, $111
-DATA data+12(SB)/1, $110
-DATA data+13(SB)/1, $97
-DATA data+14(SB)/1, $99
-DATA data+15(SB)/1, $99
-DATA data+16(SB)/1, $105
-DATA data+17(SB)/1, $10
-DATA data+18(SB)/1, $0
-//--- String buffer end at fib.go:21:38
-//--- String buffer start ('=========\n') at fib.go:22:38
-DATA data+40(SB)/1, $61
-DATA data+41(SB)/1, $61
-DATA data+42(SB)/1, $61
-DATA data+43(SB)/1, $61
-DATA data+44(SB)/1, $61
-DATA data+45(SB)/1, $61
-DATA data+46(SB)/1, $61
-DATA data+47(SB)/1, $61
-DATA data+48(SB)/1, $61
-DATA data+49(SB)/1, $10
-DATA data+50(SB)/1, $0
-//--- String buffer end at fib.go:22:38
-//--- String buffer start ('Rekursiv(11): ') at fib.go:23:41
-DATA data+72(SB)/1, $82
-DATA data+73(SB)/1, $101
-DATA data+74(SB)/1, $107
-DATA data+75(SB)/1, $117
-DATA data+76(SB)/1, $114
-DATA data+77(SB)/1, $115
-DATA data+78(SB)/1, $105
-DATA data+79(SB)/1, $118
-DATA data+80(SB)/1, $40
-DATA data+81(SB)/1, $49
-DATA data+82(SB)/1, $49
-DATA data+83(SB)/1, $41
-DATA data+84(SB)/1, $58
-DATA data+85(SB)/1, $32
-DATA data+86(SB)/1, $0
-//--- String buffer end at fib.go:23:41
-//--- String buffer start ('\n') at fib.go:26:29
-DATA data+104(SB)/1, $10
-DATA data+105(SB)/1, $0
-//--- String buffer end at fib.go:26:29
-//--- String buffer start ('Iterativ(93): ') at fib.go:27:41
-DATA data+128(SB)/1, $73
-DATA data+129(SB)/1, $116
-DATA data+130(SB)/1, $101
-DATA data+131(SB)/1, $114
-DATA data+132(SB)/1, $97
-DATA data+133(SB)/1, $116
-DATA data+134(SB)/1, $105
-DATA data+135(SB)/1, $118
-DATA data+136(SB)/1, $40
-DATA data+137(SB)/1, $57
-DATA data+138(SB)/1, $51
-DATA data+139(SB)/1, $41
-DATA data+140(SB)/1, $58
-DATA data+141(SB)/1, $32
-DATA data+142(SB)/1, $0
-//--- String buffer end at fib.go:27:41
-//--- String buffer start ('\n') at fib.go:30:29
-DATA data+160(SB)/1, $10
-DATA data+161(SB)/1, $0
-//--- String buffer end at fib.go:30:29
-//--- String buffer start ('') at libgogo/convert.go:74:24
-DATA data+184(SB)/1, $0
-//--- String buffer end at libgogo/convert.go:74:24
-//--- String buffer start ('Tried to GetItemAt(') at libgogo/list.go:77:42
-DATA data+208(SB)/1, $84
-DATA data+209(SB)/1, $114
-DATA data+210(SB)/1, $105
-DATA data+211(SB)/1, $101
-DATA data+212(SB)/1, $100
-DATA data+213(SB)/1, $32
-DATA data+214(SB)/1, $116
-DATA data+215(SB)/1, $111
-DATA data+216(SB)/1, $32
-DATA data+217(SB)/1, $71
-DATA data+218(SB)/1, $101
-DATA data+219(SB)/1, $116
-DATA data+220(SB)/1, $73
-DATA data+221(SB)/1, $116
-DATA data+222(SB)/1, $101
-DATA data+223(SB)/1, $109
-DATA data+224(SB)/1, $65
-DATA data+225(SB)/1, $116
-DATA data+226(SB)/1, $40
-DATA data+227(SB)/1, $0
-//--- String buffer end at libgogo/list.go:77:42
-//--- String buffer start (') from a list with only ') at
libgogo/list.go:79:47
-DATA data+248(SB)/1, $41
-DATA data+249(SB)/1, $32
-DATA data+250(SB)/1, $102
-DATA data+251(SB)/1, $114
-DATA data+252(SB)/1, $111
-DATA data+253(SB)/1, $109
-DATA data+254(SB)/1, $32
-DATA data+255(SB)/1, $97
-DATA data+256(SB)/1, $32
-DATA data+257(SB)/1, $108
-DATA data+258(SB)/1, $105
-DATA data+259(SB)/1, $115
-DATA data+260(SB)/1, $116
-DATA data+261(SB)/1, $32
-DATA data+262(SB)/1, $119
-DATA data+263(SB)/1, $105
-DATA data+264(SB)/1, $116
-DATA data+265(SB)/1, $104
-DATA data+266(SB)/1, $32
-DATA data+267(SB)/1, $111
-DATA data+268(SB)/1, $110
-DATA data+269(SB)/1, $108
-DATA data+270(SB)/1, $121
-DATA data+271(SB)/1, $32
-DATA data+272(SB)/1, $0
-//--- String buffer end at libgogo/list.go:79:47
-//--- String buffer start (' items - out of bounds error') at
libgogo/list.go:81:49
-DATA data+296(SB)/1, $32
-DATA data+297(SB)/1, $105
-DATA data+298(SB)/1, $116
-DATA data+299(SB)/1, $101
-DATA data+300(SB)/1, $109
-DATA data+301(SB)/1, $115
-DATA data+302(SB)/1, $32
-DATA data+303(SB)/1, $45
-DATA data+304(SB)/1, $32
-DATA data+305(SB)/1, $111
-DATA data+306(SB)/1, $117
-DATA data+307(SB)/1, $116
-DATA data+308(SB)/1, $32
-DATA data+309(SB)/1, $111
-DATA data+310(SB)/1, $102
-DATA data+311(SB)/1, $32
-DATA data+312(SB)/1, $98
-DATA data+313(SB)/1, $111
-DATA data+314(SB)/1, $117
-DATA data+315(SB)/1, $110
-DATA data+316(SB)/1, $100
-DATA data+317(SB)/1, $115
-DATA data+318(SB)/1, $32
-DATA data+319(SB)/1, $101
-DATA data+320(SB)/1, $114
-DATA data+321(SB)/1, $114
-DATA data+322(SB)/1, $111
-DATA data+323(SB)/1, $114
-DATA data+324(SB)/1, $0
-//--- String buffer end at libgogo/list.go:81:49
-//--- String buffer start ('GetBrk failed\n') at libgogo/memmgr.go:53:36
-DATA data+376(SB)/1, $71
-DATA data+377(SB)/1, $101
-DATA data+378(SB)/1, $116
-DATA data+379(SB)/1, $66
-DATA data+380(SB)/1, $114
-DATA data+381(SB)/1, $107
-DATA data+382(SB)/1, $32
-DATA data+383(SB)/1, $102
-DATA data+384(SB)/1, $97
-DATA data+385(SB)/1, $105
-DATA data+386(SB)/1, $108
-DATA data+387(SB)/1, $101
-DATA data+388(SB)/1, $100
-DATA data+389(SB)/1, $10
-DATA data+390(SB)/1, $0
-//--- String buffer end at libgogo/memmgr.go:53:36
-//--- String buffer start ('Brk failed while allocating ') at
libgogo/memmgr.go:70:51
-DATA data+408(SB)/1, $66
-DATA data+409(SB)/1, $114
-DATA data+410(SB)/1, $107
-DATA data+411(SB)/1, $32
-DATA data+412(SB)/1, $102
-DATA data+413(SB)/1, $97
-DATA data+414(SB)/1, $105
-DATA data+415(SB)/1, $108
-DATA data+416(SB)/1, $101
-DATA data+417(SB)/1, $100
-DATA data+418(SB)/1, $32
-DATA data+419(SB)/1, $119
-DATA data+420(SB)/1, $104
-DATA data+421(SB)/1, $105
-DATA data+422(SB)/1, $108
-DATA data+423(SB)/1, $101
-DATA data+424(SB)/1, $32
-DATA data+425(SB)/1, $97
-DATA data+426(SB)/1, $108
-DATA data+427(SB)/1, $108
-DATA data+428(SB)/1, $111
-DATA data+429(SB)/1, $99
-DATA data+430(SB)/1, $97
-DATA data+431(SB)/1, $116
-DATA data+432(SB)/1, $105
-DATA data+433(SB)/1, $110
-DATA data+434(SB)/1, $103
-DATA data+435(SB)/1, $32
-DATA data+436(SB)/1, $0
-//--- String buffer end at libgogo/memmgr.go:70:51
-//--- String buffer start (' bytes. Errno: ') at libgogo/memmgr.go:72:38
-DATA data+456(SB)/1, $32
-DATA data+457(SB)/1, $98
-DATA data+458(SB)/1, $121
-DATA data+459(SB)/1, $116
-DATA data+460(SB)/1, $101
-DATA data+461(SB)/1, $115
-DATA data+462(SB)/1, $46
-DATA data+463(SB)/1, $32
-DATA data+464(SB)/1, $69
-DATA data+465(SB)/1, $114
-DATA data+466(SB)/1, $114
-DATA data+467(SB)/1, $110
-DATA data+468(SB)/1, $111
-DATA data+469(SB)/1, $58
-DATA data+470(SB)/1, $32
-DATA data+471(SB)/1, $0
-//--- String buffer end at libgogo/memmgr.go:72:38
-//--- String buffer start ('\n') at libgogo/memmgr.go:74:23
-DATA data+488(SB)/1, $10
-DATA data+489(SB)/1, $0
-//--- String buffer end at libgogo/memmgr.go:74:23
-//--- String buffer start ('Failed to write to newly allocated memory
at ') at libgogo/memmgr.go:78:68
-DATA data+512(SB)/1, $70
-DATA data+513(SB)/1, $97
-DATA data+514(SB)/1, $105
-DATA data+515(SB)/1, $108
-DATA data+516(SB)/1, $101
-DATA data+517(SB)/1, $100
-DATA data+518(SB)/1, $32
-DATA data+519(SB)/1, $116
-DATA data+520(SB)/1, $111
-DATA data+521(SB)/1, $32
-DATA data+522(SB)/1, $119
-DATA data+523(SB)/1, $114
-DATA data+524(SB)/1, $105
-DATA data+525(SB)/1, $116
-DATA data+526(SB)/1, $101
-DATA data+527(SB)/1, $32
-DATA data+528(SB)/1, $116
-DATA data+529(SB)/1, $111
-DATA data+530(SB)/1, $32
-DATA data+531(SB)/1, $110
-DATA data+532(SB)/1, $101
-DATA data+533(SB)/1, $119
-DATA data+534(SB)/1, $108
-DATA data+535(SB)/1, $121
-DATA data+536(SB)/1, $32
-DATA data+537(SB)/1, $97
-DATA data+538(SB)/1, $108
-DATA data+539(SB)/1, $108
-DATA data+540(SB)/1, $111
-DATA data+541(SB)/1, $99
-DATA data+542(SB)/1, $97
-DATA data+543(SB)/1, $116
-DATA data+544(SB)/1, $101
-DATA data+545(SB)/1, $100
-DATA data+546(SB)/1, $32
-DATA data+547(SB)/1, $109
-DATA data+548(SB)/1, $101
-DATA data+549(SB)/1, $109
-DATA data+550(SB)/1, $111
-DATA data+551(SB)/1, $114
-DATA data+552(SB)/1, $121
-DATA data+553(SB)/1, $32
-DATA data+554(SB)/1, $97
-DATA data+555(SB)/1, $116
-DATA data+556(SB)/1, $32
-DATA data+557(SB)/1, $0
-//--- String buffer end at libgogo/memmgr.go:78:68
-//--- String buffer start ('\n') at libgogo/memmgr.go:80:23
-DATA data+576(SB)/1, $10
-DATA data+577(SB)/1, $0
-//--- String buffer end at libgogo/memmgr.go:80:23
-//--- String buffer start ('') at libgogo/symbol.go:120:32
-DATA data+672(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:120:32
-//--- String buffer start ('Object ') at libgogo/symbol.go:402:30
-DATA data+696(SB)/1, $79
-DATA data+697(SB)/1, $98
-DATA data+698(SB)/1, $106
-DATA data+699(SB)/1, $101
-DATA data+700(SB)/1, $99
-DATA data+701(SB)/1, $116
-DATA data+702(SB)/1, $32
-DATA data+703(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:402:30
-//--- String buffer start (' (type: ') at libgogo/symbol.go:409:31
-DATA data+720(SB)/1, $32
-DATA data+721(SB)/1, $40
-DATA data+722(SB)/1, $116
-DATA data+723(SB)/1, $121
-DATA data+724(SB)/1, $112
-DATA data+725(SB)/1, $101
-DATA data+726(SB)/1, $58
-DATA data+727(SB)/1, $32
-DATA data+728(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:409:31
-//--- String buffer start ('pointer to ') at libgogo/symbol.go:411:38
-DATA data+752(SB)/1, $112
-DATA data+753(SB)/1, $111
-DATA data+754(SB)/1, $105
-DATA data+755(SB)/1, $110
-DATA data+756(SB)/1, $116
-DATA data+757(SB)/1, $101
-DATA data+758(SB)/1, $114
-DATA data+759(SB)/1, $32
-DATA data+760(SB)/1, $116
-DATA data+761(SB)/1, $111
-DATA data+762(SB)/1, $32
-DATA data+763(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:411:38
-//--- String buffer start ('array of ') at libgogo/symbol.go:415:40
-DATA data+784(SB)/1, $97
-DATA data+785(SB)/1, $114
-DATA data+786(SB)/1, $114
-DATA data+787(SB)/1, $97
-DATA data+788(SB)/1, $121
-DATA data+789(SB)/1, $32
-DATA data+790(SB)/1, $111
-DATA data+791(SB)/1, $102
-DATA data+792(SB)/1, $32
-DATA data+793(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:415:40
-//--- String buffer start (' of length ') at libgogo/symbol.go:417:42
-DATA data+816(SB)/1, $32
-DATA data+817(SB)/1, $111
-DATA data+818(SB)/1, $102
-DATA data+819(SB)/1, $32
-DATA data+820(SB)/1, $108
-DATA data+821(SB)/1, $101
-DATA data+822(SB)/1, $110
-DATA data+823(SB)/1, $103
-DATA data+824(SB)/1, $116
-DATA data+825(SB)/1, $104
-DATA data+826(SB)/1, $32
-DATA data+827(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:417:42
-//--- String buffer start (', internally named ') at
libgogo/symbol.go:419:50
-DATA data+848(SB)/1, $44
-DATA data+849(SB)/1, $32
-DATA data+850(SB)/1, $105
-DATA data+851(SB)/1, $110
-DATA data+852(SB)/1, $116
-DATA data+853(SB)/1, $101
-DATA data+854(SB)/1, $114
-DATA data+855(SB)/1, $110
-DATA data+856(SB)/1, $97
-DATA data+857(SB)/1, $108
-DATA data+858(SB)/1, $108
-DATA data+859(SB)/1, $121
-DATA data+860(SB)/1, $32
-DATA data+861(SB)/1, $110
-DATA data+862(SB)/1, $97
-DATA data+863(SB)/1, $109
-DATA data+864(SB)/1, $101
-DATA data+865(SB)/1, $100
-DATA data+866(SB)/1, $32
-DATA data+867(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:419:50
-//--- String buffer start ('<unknown>') at libgogo/symbol.go:428:36
-DATA data+888(SB)/1, $60
-DATA data+889(SB)/1, $117
-DATA data+890(SB)/1, $110
-DATA data+891(SB)/1, $107
-DATA data+892(SB)/1, $110
-DATA data+893(SB)/1, $111
-DATA data+894(SB)/1, $119
-DATA data+895(SB)/1, $110
-DATA data+896(SB)/1, $62
-DATA data+897(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:428:36
-//--- String buffer start (', size: ') at libgogo/symbol.go:430:31
-DATA data+920(SB)/1, $44
-DATA data+921(SB)/1, $32
-DATA data+922(SB)/1, $115
-DATA data+923(SB)/1, $105
-DATA data+924(SB)/1, $122
-DATA data+925(SB)/1, $101
-DATA data+926(SB)/1, $58
-DATA data+927(SB)/1, $32
-DATA data+928(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:430:31
-//--- String buffer start (', offset: ') at libgogo/symbol.go:433:33
-DATA data+952(SB)/1, $44
-DATA data+953(SB)/1, $32
-DATA data+954(SB)/1, $111
-DATA data+955(SB)/1, $102
-DATA data+956(SB)/1, $102
-DATA data+957(SB)/1, $115
-DATA data+958(SB)/1, $101
-DATA data+959(SB)/1, $116
-DATA data+960(SB)/1, $58
-DATA data+961(SB)/1, $32
-DATA data+962(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:433:33
-//--- String buffer start (')\n') at libgogo/symbol.go:436:26
-DATA data+984(SB)/1, $41
-DATA data+985(SB)/1, $10
-DATA data+986(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:436:26
-//--- String buffer start ('Type ') at libgogo/symbol.go:449:28
-DATA data+1008(SB)/1, $84
-DATA data+1009(SB)/1, $121
-DATA data+1010(SB)/1, $112
-DATA data+1011(SB)/1, $101
-DATA data+1012(SB)/1, $32
-DATA data+1013(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:449:28
-//--- String buffer start (' (size: ') at libgogo/symbol.go:456:31
-DATA data+1032(SB)/1, $32
-DATA data+1033(SB)/1, $40
-DATA data+1034(SB)/1, $115
-DATA data+1035(SB)/1, $105
-DATA data+1036(SB)/1, $122
-DATA data+1037(SB)/1, $101
-DATA data+1038(SB)/1, $58
-DATA data+1039(SB)/1, $32
-DATA data+1040(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:456:31
-//--- String buffer start (')\n') at libgogo/symbol.go:459:26
-DATA data+1064(SB)/1, $41
-DATA data+1065(SB)/1, $10
-DATA data+1066(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:459:26
-//--- String buffer start (' ') at libgogo/symbol.go:461:29
-DATA data+1088(SB)/1, $32
-DATA data+1089(SB)/1, $32
-DATA data+1090(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:461:29
-//--- String buffer start (' (type: ') at libgogo/symbol.go:463:35
-DATA data+1112(SB)/1, $32
-DATA data+1113(SB)/1, $40
-DATA data+1114(SB)/1, $116
-DATA data+1115(SB)/1, $121
-DATA data+1116(SB)/1, $112
-DATA data+1117(SB)/1, $101
-DATA data+1118(SB)/1, $58
-DATA data+1119(SB)/1, $32
-DATA data+1120(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:463:35
-//--- String buffer start ('pointer to ') at libgogo/symbol.go:465:42
-DATA data+1144(SB)/1, $112
-DATA data+1145(SB)/1, $111
-DATA data+1146(SB)/1, $105
-DATA data+1147(SB)/1, $110
-DATA data+1148(SB)/1, $116
-DATA data+1149(SB)/1, $101
-DATA data+1150(SB)/1, $114
-DATA data+1151(SB)/1, $32
-DATA data+1152(SB)/1, $116
-DATA data+1153(SB)/1, $111
-DATA data+1154(SB)/1, $32
-DATA data+1155(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:465:42
-//--- String buffer start ('array of ') at libgogo/symbol.go:469:44
-DATA data+1176(SB)/1, $97
-DATA data+1177(SB)/1, $114
-DATA data+1178(SB)/1, $114
-DATA data+1179(SB)/1, $97
-DATA data+1180(SB)/1, $121
-DATA data+1181(SB)/1, $32
-DATA data+1182(SB)/1, $111
-DATA data+1183(SB)/1, $102
-DATA data+1184(SB)/1, $32
-DATA data+1185(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:469:44
-//--- String buffer start (' of length ') at libgogo/symbol.go:471:46
-DATA data+1208(SB)/1, $32
-DATA data+1209(SB)/1, $111
-DATA data+1210(SB)/1, $102
-DATA data+1211(SB)/1, $32
-DATA data+1212(SB)/1, $108
-DATA data+1213(SB)/1, $101
-DATA data+1214(SB)/1, $110
-DATA data+1215(SB)/1, $103
-DATA data+1216(SB)/1, $116
-DATA data+1217(SB)/1, $104
-DATA data+1218(SB)/1, $32
-DATA data+1219(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:471:46
-//--- String buffer start (', internally named ') at
libgogo/symbol.go:473:54
-DATA data+1240(SB)/1, $44
-DATA data+1241(SB)/1, $32
-DATA data+1242(SB)/1, $105
-DATA data+1243(SB)/1, $110
-DATA data+1244(SB)/1, $116
-DATA data+1245(SB)/1, $101
-DATA data+1246(SB)/1, $114
-DATA data+1247(SB)/1, $110
-DATA data+1248(SB)/1, $97
-DATA data+1249(SB)/1, $108
-DATA data+1250(SB)/1, $108
-DATA data+1251(SB)/1, $121
-DATA data+1252(SB)/1, $32
-DATA data+1253(SB)/1, $110
-DATA data+1254(SB)/1, $97
-DATA data+1255(SB)/1, $109
-DATA data+1256(SB)/1, $101
-DATA data+1257(SB)/1, $100
-DATA data+1258(SB)/1, $32
-DATA data+1259(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:473:54
-//--- String buffer start ('<unknown>') at libgogo/symbol.go:482:40
-DATA data+1280(SB)/1, $60
-DATA data+1281(SB)/1, $117
-DATA data+1282(SB)/1, $110
-DATA data+1283(SB)/1, $107
-DATA data+1284(SB)/1, $110
-DATA data+1285(SB)/1, $111
-DATA data+1286(SB)/1, $119
-DATA data+1287(SB)/1, $110
-DATA data+1288(SB)/1, $62
-DATA data+1289(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:482:40
-//--- String buffer start (', size: ') at libgogo/symbol.go:484:35
-DATA data+1312(SB)/1, $44
-DATA data+1313(SB)/1, $32
-DATA data+1314(SB)/1, $115
-DATA data+1315(SB)/1, $105
-DATA data+1316(SB)/1, $122
-DATA data+1317(SB)/1, $101
-DATA data+1318(SB)/1, $58
-DATA data+1319(SB)/1, $32
-DATA data+1320(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:484:35
-//--- String buffer start (', offset: ') at libgogo/symbol.go:487:37
-DATA data+1344(SB)/1, $44
-DATA data+1345(SB)/1, $32
-DATA data+1346(SB)/1, $111
-DATA data+1347(SB)/1, $102
-DATA data+1348(SB)/1, $102
-DATA data+1349(SB)/1, $115
-DATA data+1350(SB)/1, $101
-DATA data+1351(SB)/1, $116
-DATA data+1352(SB)/1, $58
-DATA data+1353(SB)/1, $32
-DATA data+1354(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:487:37
-//--- String buffer start (')\n') at libgogo/symbol.go:490:30
-DATA data+1376(SB)/1, $41
-DATA data+1377(SB)/1, $10
-DATA data+1378(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:490:30
-//--- String buffer start ('Function ') at libgogo/symbol.go:504:32
-DATA data+1400(SB)/1, $70
-DATA data+1401(SB)/1, $117
-DATA data+1402(SB)/1, $110
-DATA data+1403(SB)/1, $99
-DATA data+1404(SB)/1, $116
-DATA data+1405(SB)/1, $105
-DATA data+1406(SB)/1, $111
-DATA data+1407(SB)/1, $110
-DATA data+1408(SB)/1, $32
-DATA data+1409(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:504:32
-//--- String buffer start (' (number of parameters: ') at
libgogo/symbol.go:508:47
-DATA data+1432(SB)/1, $32
-DATA data+1433(SB)/1, $40
-DATA data+1434(SB)/1, $110
-DATA data+1435(SB)/1, $117
-DATA data+1436(SB)/1, $109
-DATA data+1437(SB)/1, $98
-DATA data+1438(SB)/1, $101
-DATA data+1439(SB)/1, $114
-DATA data+1440(SB)/1, $32
-DATA data+1441(SB)/1, $111
-DATA data+1442(SB)/1, $102
-DATA data+1443(SB)/1, $32
-DATA data+1444(SB)/1, $112
-DATA data+1445(SB)/1, $97
-DATA data+1446(SB)/1, $114
-DATA data+1447(SB)/1, $97
-DATA data+1448(SB)/1, $109
-DATA data+1449(SB)/1, $101
-DATA data+1450(SB)/1, $116
-DATA data+1451(SB)/1, $101
-DATA data+1452(SB)/1, $114
-DATA data+1453(SB)/1, $115
-DATA data+1454(SB)/1, $58
-DATA data+1455(SB)/1, $32
-DATA data+1456(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:508:47
-//--- String buffer start (')\n') at libgogo/symbol.go:510:26
-DATA data+1480(SB)/1, $41
-DATA data+1481(SB)/1, $10
-DATA data+1482(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:510:26
-//--- String buffer start (' ') at libgogo/symbol.go:512:29
-DATA data+1504(SB)/1, $32
-DATA data+1505(SB)/1, $32
-DATA data+1506(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:512:29
-//--- String buffer start (' (type: ') at libgogo/symbol.go:514:35
-DATA data+1528(SB)/1, $32
-DATA data+1529(SB)/1, $40
-DATA data+1530(SB)/1, $116
-DATA data+1531(SB)/1, $121
-DATA data+1532(SB)/1, $112
-DATA data+1533(SB)/1, $101
-DATA data+1534(SB)/1, $58
-DATA data+1535(SB)/1, $32
-DATA data+1536(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:514:35
-//--- String buffer start ('pointer to ') at libgogo/symbol.go:516:42
-DATA data+1560(SB)/1, $112
-DATA data+1561(SB)/1, $111
-DATA data+1562(SB)/1, $105
-DATA data+1563(SB)/1, $110
-DATA data+1564(SB)/1, $116
-DATA data+1565(SB)/1, $101
-DATA data+1566(SB)/1, $114
-DATA data+1567(SB)/1, $32
-DATA data+1568(SB)/1, $116
-DATA data+1569(SB)/1, $111
-DATA data+1570(SB)/1, $32
-DATA data+1571(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:516:42
-//--- String buffer start ('array of ') at libgogo/symbol.go:520:44
-DATA data+1592(SB)/1, $97
-DATA data+1593(SB)/1, $114
-DATA data+1594(SB)/1, $114
-DATA data+1595(SB)/1, $97
-DATA data+1596(SB)/1, $121
-DATA data+1597(SB)/1, $32
-DATA data+1598(SB)/1, $111
-DATA data+1599(SB)/1, $102
-DATA data+1600(SB)/1, $32
-DATA data+1601(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:520:44
-//--- String buffer start (' of length ') at libgogo/symbol.go:522:46
-DATA data+1624(SB)/1, $32
-DATA data+1625(SB)/1, $111
-DATA data+1626(SB)/1, $102
-DATA data+1627(SB)/1, $32
-DATA data+1628(SB)/1, $108
-DATA data+1629(SB)/1, $101
-DATA data+1630(SB)/1, $110
-DATA data+1631(SB)/1, $103
-DATA data+1632(SB)/1, $116
-DATA data+1633(SB)/1, $104
-DATA data+1634(SB)/1, $32
-DATA data+1635(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:522:46
-//--- String buffer start (', internally named ') at
libgogo/symbol.go:524:54
-DATA data+1656(SB)/1, $44
-DATA data+1657(SB)/1, $32
-DATA data+1658(SB)/1, $105
-DATA data+1659(SB)/1, $110
-DATA data+1660(SB)/1, $116
-DATA data+1661(SB)/1, $101
-DATA data+1662(SB)/1, $114
-DATA data+1663(SB)/1, $110
-DATA data+1664(SB)/1, $97
-DATA data+1665(SB)/1, $108
-DATA data+1666(SB)/1, $108
-DATA data+1667(SB)/1, $121
-DATA data+1668(SB)/1, $32
-DATA data+1669(SB)/1, $110
-DATA data+1670(SB)/1, $97
-DATA data+1671(SB)/1, $109
-DATA data+1672(SB)/1, $101
-DATA data+1673(SB)/1, $100
-DATA data+1674(SB)/1, $32
-DATA data+1675(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:524:54
-//--- String buffer start ('<unknown>') at libgogo/symbol.go:533:40
-DATA data+1696(SB)/1, $60
-DATA data+1697(SB)/1, $117
-DATA data+1698(SB)/1, $110
-DATA data+1699(SB)/1, $107
-DATA data+1700(SB)/1, $110
-DATA data+1701(SB)/1, $111
-DATA data+1702(SB)/1, $119
-DATA data+1703(SB)/1, $110
-DATA data+1704(SB)/1, $62
-DATA data+1705(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:533:40
-//--- String buffer start (', size: ') at libgogo/symbol.go:535:35
-DATA data+1728(SB)/1, $44
-DATA data+1729(SB)/1, $32
-DATA data+1730(SB)/1, $115
-DATA data+1731(SB)/1, $105
-DATA data+1732(SB)/1, $122
-DATA data+1733(SB)/1, $101
-DATA data+1734(SB)/1, $58
-DATA data+1735(SB)/1, $32
-DATA data+1736(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:535:35
-//--- String buffer start (', offset: ') at libgogo/symbol.go:538:37
-DATA data+1760(SB)/1, $44
-DATA data+1761(SB)/1, $32
-DATA data+1762(SB)/1, $111
-DATA data+1763(SB)/1, $102
-DATA data+1764(SB)/1, $102
-DATA data+1765(SB)/1, $115
-DATA data+1766(SB)/1, $101
-DATA data+1767(SB)/1, $116
-DATA data+1768(SB)/1, $58
-DATA data+1769(SB)/1, $32
-DATA data+1770(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:538:37
-//--- String buffer start (')\n') at libgogo/symbol.go:541:30
-DATA data+1792(SB)/1, $41
-DATA data+1793(SB)/1, $10
-DATA data+1794(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:541:30
-//--- String buffer start ('FUNC,') at libgogo/symbol.go:556:23
-DATA data+1816(SB)/1, $70
-DATA data+1817(SB)/1, $85
-DATA data+1818(SB)/1, $78
-DATA data+1819(SB)/1, $67
-DATA data+1820(SB)/1, $44
-DATA data+1821(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:556:23
-//--- String buffer start (',') at libgogo/symbol.go:559:32
-DATA data+1840(SB)/1, $44
-DATA data+1841(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:559:32
-//--- String buffer start ('·') at libgogo/symbol.go:561:33
-DATA data+1864(SB)/1, $194
-DATA data+1865(SB)/1, $183
-DATA data+1866(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:561:33
-//--- String buffer start (',') at libgogo/symbol.go:565:36
-DATA data+1888(SB)/1, $44
-DATA data+1889(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:565:36
-//--- String buffer start (':') at libgogo/symbol.go:569:36
-DATA data+1912(SB)/1, $58
-DATA data+1913(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:569:36
-//--- String buffer start ('·') at libgogo/symbol.go:575:41
-DATA data+1936(SB)/1, $194
-DATA data+1937(SB)/1, $183
-DATA data+1938(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:575:41
-//--- String buffer start (',') at libgogo/symbol.go:579:40
-DATA data+1960(SB)/1, $44
-DATA data+1961(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:579:40
-//--- String buffer start ('TYPE,') at libgogo/symbol.go:596:23
-DATA data+1984(SB)/1, $84
-DATA data+1985(SB)/1, $89
-DATA data+1986(SB)/1, $80
-DATA data+1987(SB)/1, $69
-DATA data+1988(SB)/1, $44
-DATA data+1989(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:596:23
-//--- String buffer start (',') at libgogo/symbol.go:599:32
-DATA data+2008(SB)/1, $44
-DATA data+2009(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:599:32
-//--- String buffer start ('·') at libgogo/symbol.go:601:33
-DATA data+2032(SB)/1, $194
-DATA data+2033(SB)/1, $183
-DATA data+2034(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:601:33
-//--- String buffer start (',') at libgogo/symbol.go:603:32
-DATA data+2056(SB)/1, $44
-DATA data+2057(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:603:32
-//--- String buffer start (',') at libgogo/symbol.go:607:32
-DATA data+2080(SB)/1, $44
-DATA data+2081(SB)/1, $0
-//--- String buffer end at libgogo/symbol.go:607:32
-//--- String buffer start ('') at libgogo/item.go:75:32
-DATA data+2200(SB)/1, $0
-//--- String buffer end at libgogo/item.go:75:32
-//--- String buffer start ('/proc/self/cmdline') at
libgogo/libgogo.go:28:39
-DATA data+6312(SB)/1, $47
-DATA data+6313(SB)/1, $112
-DATA data+6314(SB)/1, $114
-DATA data+6315(SB)/1, $111
-DATA data+6316(SB)/1, $99
-DATA data+6317(SB)/1, $47
-DATA data+6318(SB)/1, $115
-DATA data+6319(SB)/1, $101
-DATA data+6320(SB)/1, $108
-DATA data+6321(SB)/1, $102
-DATA data+6322(SB)/1, $47
-DATA data+6323(SB)/1, $99
-DATA data+6324(SB)/1, $109
-DATA data+6325(SB)/1, $100
-DATA data+6326(SB)/1, $108
-DATA data+6327(SB)/1, $105
-DATA data+6328(SB)/1, $110
-DATA data+6329(SB)/1, $101
-DATA data+6330(SB)/1, $0
-//--- String buffer end at libgogo/libgogo.go:28:39
-//--- String buffer start ('Error opening /proc/self/cmdline. Currently
GoGo is only supported on systems with /proc enabled.') at
libgogo/libgogo.go:30:118
-DATA data+6352(SB)/1, $69
-DATA data+6353(SB)/1, $114
-DATA data+6354(SB)/1, $114
-DATA data+6355(SB)/1, $111
-DATA data+6356(SB)/1, $114
-DATA data+6357(SB)/1, $32
-DATA data+6358(SB)/1, $111
-DATA data+6359(SB)/1, $112
-DATA data+6360(SB)/1, $101
-DATA data+6361(SB)/1, $110
-DATA data+6362(SB)/1, $105
-DATA data+6363(SB)/1, $110
-DATA data+6364(SB)/1, $103
-DATA data+6365(SB)/1, $32
-DATA data+6366(SB)/1, $47
-DATA data+6367(SB)/1, $112
-DATA data+6368(SB)/1, $114
-DATA data+6369(SB)/1, $111
-DATA data+6370(SB)/1, $99
-DATA data+6371(SB)/1, $47
-DATA data+6372(SB)/1, $115
-DATA data+6373(SB)/1, $101
-DATA data+6374(SB)/1, $108
-DATA data+6375(SB)/1, $102
-DATA data+6376(SB)/1, $47
-DATA data+6377(SB)/1, $99
-DATA data+6378(SB)/1, $109
-DATA data+6379(SB)/1, $100
-DATA data+6380(SB)/1, $108
-DATA data+6381(SB)/1, $105
-DATA data+6382(SB)/1, $110
***The diff for this file has been truncated for email.***
=======================================
--- /src/linker.go Mon Jun 21 09:48:13 2010
+++ /src/linker.go Mon Jun 21 13:00:46 2010
@@ -28,7 +28,7 @@
//
func GetLine(ld *LineDesc) {
var line string = "";
- var i uint64 =0;
+ var i uint64 = 0;
var singleChar byte;
var cmp uint64;

@@ -74,7 +74,6 @@
}
ld.Line = line;
ld.Offset = 0;
-
}

func GetNextSymToken(ld *LineDesc) string {
@@ -197,6 +196,8 @@
var paramType string;
var tmpParam *libgogo.ObjectDesc;

+ InitParamDesc(&pd);
+
fwdStr = GetNextSymToken(ld);
fwdNum = libgogo.StringToInt(fwdStr);
pkgFunc = GetNextSymToken(ld);
@@ -313,7 +314,7 @@
var strLen uint64;
var size uint64;
var oldsize uint64;
- var numstr string;
+ var numstr string = "";
var newLine string = "";
var strCmp uint64;
var fixedAdr string = "-";
@@ -339,6 +340,7 @@
if ld.NeedsFix == 1 { // Type 1 fix of offsets
strLen = libgogo.StringLength(ld.Line);
size = GetParameterSize(ld.PackageName, ld.FunctionName);
+
for i = 6; ld.Line[i] != '-' ; i = i +1 {
libgogo.CharAppend(&newLine, ld.Line[i]);
}
@@ -408,6 +410,8 @@
var symtable uint64 = 0;
var ld LineDesc;

+ InitLineDesc(&ld);
+
for
curFileIndex=0;curFileIndex<fileInfoLen;curFileIndex=curFileIndex+1 {

ResetToken();
@@ -438,8 +442,26 @@
}

}
- GetLine(&ld);
+ if ld.NeedsFix == 0 { // fetch a new line if currently no fix
needed
+ GetLine(&ld);
+ }
}

}
}
+
+func InitLineDesc(ld *LineDesc) {
+ ld.Line = "";
+ ld.Offset = 0;
+ ld.NeedsFix = 0;
+ ld.NeedsByteFix = 0;
+ ld.PackageName = "";
+ ld.FunctionName = "";
+}
+
+func InitParamDesc(pd *ParamDesc) {
+ pd.Name = "";
+ pd.TypePackage = "";
+ pd.TypeName = "";
+ pd.Ptr = 0;
+}
=======================================
--- /src/token.go Tue Jun 8 08:51:26 2010
+++ /src/token.go Mon Jun 21 13:00:46 2010
@@ -94,6 +94,9 @@
tok.nextChar = 0;
tok.nextToken = 0;
tok.llCnt = 0;
+ tok.intValue = 0;
+ tok.strValue = "";
+ tok.toRead = 0;
}

//

==============================================================================
Revision: c69c0edcfa
Author: Andreas Unterweger <and...@gmx.at>
Date: Mon Jun 21 13:22:56 2010
Log: asm_out.go: Fix debug level < 10 bug => SC is now also possible
without any assembly comments :)
http://code.google.com/p/gogc/source/detail?r=c69c0edcfa

Modified:
/src/asm_out.go

=======================================
--- /src/asm_out.go Mon Jun 21 10:56:01 2010
+++ /src/asm_out.go Mon Jun 21 13:22:56 2010
@@ -481,7 +481,7 @@
PrintInstructionEnd();
GenerateComment("Stack pointer offset after function call for local
variables start");
if unknownoffset != 0 { //Output linker information
- GenerateComment(comment);
+ GenerateLinkerComment(comment);
}
PrintInstruction_Imm_Reg("ADD", 8, stackoffset, "SP", 0, 0, 0, 0, "");
//ADDQ $stackoffset, SP
GenerateComment("Stack pointer offset after function call for local
variables end");
Reply all
Reply to author
Forward
0 new messages