Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
G
golang
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
go
golang
Commits
7d11924c
Commit
7d11924c
authored
Jun 25, 2008
by
Ken Thompson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
middle dot as alpha package separator
SVN=124419
parent
206daeab
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
149 additions
and
103 deletions
+149
-103
gen.c
src/cmd/6g/gen.c
+1
-0
obj.c
src/cmd/6g/obj.c
+8
-1
lexbody
src/cmd/cc/lexbody
+13
-3
walk.c
src/cmd/gc/walk.c
+50
-23
rt0_amd64_darwin.s
src/runtime/rt0_amd64_darwin.s
+8
-8
rt0_amd64_linux.s
src/runtime/rt0_amd64_linux.s
+10
-10
rt1_amd64_darwin.c
src/runtime/rt1_amd64_darwin.c
+26
-26
rt1_amd64_linux.c
src/runtime/rt1_amd64_linux.c
+7
-7
rt2_amd64.c
src/runtime/rt2_amd64.c
+3
-3
runtime.c
src/runtime/runtime.c
+0
-0
runtime.h
src/runtime/runtime.h
+23
-22
No files found.
src/cmd/6g/gen.c
View file @
7d11924c
...
...
@@ -380,6 +380,7 @@ agen_inter(Node *n, Node *res)
if
(
!
n
->
left
->
addable
)
{
agen
(
n
->
left
,
&
nodr
);
gmove
(
&
nodr
,
&
nodo
);
dump
(
"xxx"
,
n
->
left
);
fatal
(
"agen_inter i2s"
);
}
else
{
cgen
(
n
->
left
,
&
nodo
);
...
...
src/cmd/6g/obj.c
View file @
7d11924c
...
...
@@ -165,6 +165,13 @@ return;
Bterm
(
bout
);
}
Bputdot
(
Biobuf
*
b
)
{
// put out middle dot ·
Bputc
(
b
,
0xc2
);
Bputc
(
b
,
0xb7
);
}
void
zname
(
Biobuf
*
b
,
Sym
*
s
,
int
t
)
{
...
...
@@ -177,7 +184,7 @@ zname(Biobuf *b, Sym *s, int t)
for
(
n
=
s
->
opackage
;
*
n
;
n
++
)
Bputc
(
b
,
*
n
);
Bput
c
(
b
,
'_'
);
Bput
dot
(
b
);
for
(
n
=
s
->
name
;
*
n
;
n
++
)
Bputc
(
b
,
*
n
);
Bputc
(
b
,
0
);
...
...
src/cmd/cc/lexbody
View file @
7d11924c
...
...
@@ -232,6 +232,16 @@ lookup(void)
return s;
}
int
ISALPHA(int c)
{
if(isalpha(c))
return 1;
if(c >= Runeself)
return 1;
return 0;
}
long
yylex(void)
{
...
...
@@ -259,7 +269,7 @@ l1:
}
goto l0;
}
if(
isalpha
(c))
if(
ISALPHA
(c))
goto talph;
if(isdigit(c))
goto tnum;
...
...
@@ -275,7 +285,7 @@ l1:
case '.':
c = GETC();
if(
isalpha
(c)) {
if(
ISALPHA
(c)) {
cp = symb;
*cp++ = '.';
goto aloop;
...
...
@@ -296,7 +306,7 @@ l1:
aloop:
*cp++ = c;
c = GETC();
if(
isalpha
(c) || isdigit(c) || c == '_' || c == '$')
if(
ISALPHA
(c) || isdigit(c) || c == '_' || c == '$')
goto aloop;
*cp = 0;
peekc = c;
...
...
src/cmd/gc/walk.c
View file @
7d11924c
...
...
@@ -1789,6 +1789,14 @@ badt:
return
nl
;
}
/*
* from ascompat[te]
* evaluating actual function arguments.
* f(a,b)
* if there is exactly one function expr,
* then it is done first. otherwise must
* make temp variables
*/
Node
*
reorder1
(
Node
*
n
)
{
...
...
@@ -1796,15 +1804,6 @@ reorder1(Node *n)
Node
*
l
,
*
r
,
*
f
,
*
a
,
*
g
;
int
c
,
t
;
/*
* from ascompat[te]
* evaluating actual function arguments.
* f(a,b)
* if there is exactly one function expr,
* then it is done first. otherwise must
* make temp variables
*/
l
=
listfirst
(
&
save
,
&
n
);
c
=
0
;
// function calls
t
=
0
;
// total parameters
...
...
@@ -1874,6 +1873,13 @@ more:
goto
loop2
;
}
/*
* from ascompat[et]
* a,b = f()
* return of a multi.
* there can be no function calls at all,
* or they will over-write the return values.
*/
Node
*
reorder2
(
Node
*
n
)
{
...
...
@@ -1881,14 +1887,6 @@ reorder2(Node *n)
Node
*
l
;
int
c
;
/*
* from ascompat[et]
* a,b = f()
* return of a multi.
* there can be no function calls at all,
* or they will over-write the return values.
*/
l
=
listfirst
(
&
save
,
&
n
);
c
=
0
;
...
...
@@ -1907,15 +1905,44 @@ loop1:
goto
loop1
;
}
/*
* from ascompat[ee]
* a,b = c,d
* simultaneous assignment. there can be
* later use of an earlier lvalue.
*/
int
vmatch
(
Node
*
l
,
Node
*
r
)
{
dump
(
"l"
,
l
);
dump
(
"r"
,
r
);
return
0
;
}
Node
*
reorder3
(
Node
*
n
)
{
/*
* from ascompat[ee]
* a,b = c,d
* simultaneous assignment. there can be
* later use of an earlier lvalue.
*/
Iter
save1
,
save2
;
Node
*
l1
,
*
l2
;
int
c1
,
c2
;
l1
=
listfirst
(
&
save1
,
&
n
);
c1
=
0
;
while
(
l1
!=
N
)
{
l2
=
listfirst
(
&
save1
,
&
n
);
c2
=
0
;
while
(
l2
!=
N
)
{
if
(
c2
>
c1
)
{
if
(
vmatch
(
l1
->
left
,
l2
->
right
))
{
}
}
l2
=
listnext
(
&
save1
);
c2
++
;
}
l1
=
listnext
(
&
save1
);
c1
++
;
}
return
n
;
}
...
...
src/runtime/rt0_amd64_darwin.s
View file @
7d11924c
...
...
@@ -31,7 +31,7 @@ done:
ADDQ $16, SP
CALL check(SB)
CALL main_main(SB)
CALL sys
_
exit(SB)
CALL sys
·
exit(SB)
CALL notok(SB)
POPQ AX
RET
...
...
@@ -39,7 +39,7 @@ done:
TEXT FLUSH(SB),1,$-8
RET
TEXT sys
_
exit(SB),1,$-8
TEXT sys
·
exit(SB),1,$-8
MOVL 8(SP), DI // arg 1 exit status
MOVL $(0x2000000+1), AX
SYSCALL
...
...
@@ -47,7 +47,7 @@ TEXT sys_exit(SB),1,$-8
CALL notok(SB)
RET
TEXT sys
_
write(SB),1,$-8
TEXT sys
·
write(SB),1,$-8
MOVL 8(SP), DI // arg 1 fid
MOVQ 16(SP), SI // arg 2 buf
MOVL 24(SP), DX // arg 3 count
...
...
@@ -57,7 +57,7 @@ TEXT sys_write(SB),1,$-8
CALL notok(SB)
RET
TEXT sys
_
sigaction(SB),1,$-8
TEXT sys
·
sigaction(SB),1,$-8
MOVL 8(SP), DI // arg 1 sig
MOVQ 16(SP), SI // arg 2 act
MOVQ 24(SP), DX // arg 3 oact
...
...
@@ -76,11 +76,11 @@ TEXT sigtramp(SB),1,$24
CALL sighandler(SB)
RET
TEXT sys
_
breakpoint(SB),1,$-8
TEXT sys
·
breakpoint(SB),1,$-8
BYTE $0xcc
RET
TEXT sys
_
mmap(SB),1,$-8
TEXT sys
·
mmap(SB),1,$-8
MOVQ 8(SP), DI // arg 1 addr
MOVL 16(SP), SI // arg 2 len
MOVL 20(SP), DX // arg 3 prot
...
...
@@ -98,7 +98,7 @@ TEXT notok(SB),1,$-8
MOVQ BP, (BP)
RET
TEXT sys
_
memclr(SB),1,$-8
TEXT sys
·
memclr(SB),1,$-8
MOVQ 8(SP), DI // arg 1 addr
MOVL 16(SP), CX // arg 2 count
ADDL $7, CX
...
...
@@ -109,7 +109,7 @@ TEXT sys_memclr(SB),1,$-8
STOSQ
RET
TEXT sys
_
getcallerpc+0(SB),0,$0
TEXT sys
·
getcallerpc+0(SB),0,$0
MOVQ x+0(FP),AX
MOVQ -8(AX),AX
RET
src/runtime/rt0_amd64_linux.s
View file @
7d11924c
...
...
@@ -25,8 +25,8 @@ loop:
done:
ADDQ $8, CX
CALL check(SB)
CALL main
_
main(SB)
CALL sys
_
exit(SB)
CALL main
·
main(SB)
CALL sys
·
exit(SB)
CALL notok(SB)
POPQ AX
RET
...
...
@@ -34,7 +34,7 @@ done:
TEXT FLUSH(SB),1,$-8
RET
TEXT sys
_
exit(SB),1,$-8
TEXT sys
·
exit(SB),1,$-8
MOVL 8(SP), DI
MOVL $60, AX
SYSCALL
...
...
@@ -42,7 +42,7 @@ TEXT sys_exit(SB),1,$-8
CALL notok(SB)
RET
TEXT sys
_
write(SB),1,$-8
TEXT sys
·
write(SB),1,$-8
MOVL 8(SP), DI
MOVQ 16(SP), SI
MOVL 24(SP), DX
...
...
@@ -52,7 +52,7 @@ TEXT sys_write(SB),1,$-8
CALL notok(SB)
RET
TEXT sys
_
rt_sigaction(SB),1,$-8
TEXT sys
·
rt_sigaction(SB),1,$-8
MOVL 8(SP), DI
MOVQ 16(SP), SI
MOVQ 24(SP), DX
...
...
@@ -64,18 +64,18 @@ TEXT sys_rt_sigaction(SB),1,$-8
CALL notok(SB)
RET
TEXT
sigtramp(SB),1,$24
TEXT
sigtramp(SB),1,$24
MOVQ DI,0(SP)
MOVQ SI,8(SP)
MOVQ DX,16(SP)
CALL sighandler(SB)
RET
TEXT sys
_
breakpoint(SB),1,$-8
TEXT sys
·
breakpoint(SB),1,$-8
BYTE $0xcc
RET
TEXT sys
_
mmap(SB),1,$-8
TEXT sys
·
mmap(SB),1,$-8
MOVQ 8(SP), DI
MOVL 16(SP), SI
MOVL 20(SP), DX
...
...
@@ -103,7 +103,7 @@ TEXT notok(SB),1,$-8
MOVQ BP, (BP)
RET
TEXT sys
_
memclr(SB),1,$-8
TEXT sys
·
memclr(SB),1,$-8
MOVQ 8(SP), DI // arg 1 addr
MOVL 16(SP), CX // arg 2 count
ADDL $7, CX
...
...
@@ -114,7 +114,7 @@ TEXT sys_memclr(SB),1,$-8
STOSQ
RET
TEXT sys
_
getcallerpc+0(SB),0,$0
TEXT sys
·
getcallerpc+0(SB),0,$0
MOVQ x+0(FP),AX
MOVQ -8(AX),AX
RET
src/runtime/rt1_amd64_darwin.c
View file @
7d11924c
...
...
@@ -39,27 +39,27 @@ _STRUCT_X86_THREAD_STATE64
void
print_thread_state
(
_STRUCT_X86_THREAD_STATE64
*
ss
)
{
prints
(
"
\n
rax 0x"
);
sys
_
printpointer
((
void
*
)
ss
->
__rax
);
prints
(
"
\n
rbx 0x"
);
sys
_
printpointer
((
void
*
)
ss
->
__rbx
);
prints
(
"
\n
rcx 0x"
);
sys
_
printpointer
((
void
*
)
ss
->
__rcx
);
prints
(
"
\n
rdx 0x"
);
sys
_
printpointer
((
void
*
)
ss
->
__rdx
);
prints
(
"
\n
rdi 0x"
);
sys
_
printpointer
((
void
*
)
ss
->
__rdi
);
prints
(
"
\n
rsi 0x"
);
sys
_
printpointer
((
void
*
)
ss
->
__rsi
);
prints
(
"
\n
rbp 0x"
);
sys
_
printpointer
((
void
*
)
ss
->
__rbp
);
prints
(
"
\n
rsp 0x"
);
sys
_
printpointer
((
void
*
)
ss
->
__rsp
);
prints
(
"
\n
r8 0x"
);
sys
_
printpointer
((
void
*
)
ss
->
__r8
);
prints
(
"
\n
r9 0x"
);
sys
_
printpointer
((
void
*
)
ss
->
__r9
);
prints
(
"
\n
r10 0x"
);
sys
_
printpointer
((
void
*
)
ss
->
__r10
);
prints
(
"
\n
r11 0x"
);
sys
_
printpointer
((
void
*
)
ss
->
__r11
);
prints
(
"
\n
r12 0x"
);
sys
_
printpointer
((
void
*
)
ss
->
__r12
);
prints
(
"
\n
r13 0x"
);
sys
_
printpointer
((
void
*
)
ss
->
__r13
);
prints
(
"
\n
r14 0x"
);
sys
_
printpointer
((
void
*
)
ss
->
__r14
);
prints
(
"
\n
r15 0x"
);
sys
_
printpointer
((
void
*
)
ss
->
__r15
);
prints
(
"
\n
rip 0x"
);
sys
_
printpointer
((
void
*
)
ss
->
__rip
);
prints
(
"
\n
rflags 0x"
);
sys
_
printpointer
((
void
*
)
ss
->
__rflags
);
prints
(
"
\n
cs 0x"
);
sys
_
printpointer
((
void
*
)
ss
->
__cs
);
prints
(
"
\n
fs 0x"
);
sys
_
printpointer
((
void
*
)
ss
->
__fs
);
prints
(
"
\n
gs 0x"
);
sys
_
printpointer
((
void
*
)
ss
->
__gs
);
prints
(
"
\n
rax 0x"
);
sys
·
printpointer
((
void
*
)
ss
->
__rax
);
prints
(
"
\n
rbx 0x"
);
sys
·
printpointer
((
void
*
)
ss
->
__rbx
);
prints
(
"
\n
rcx 0x"
);
sys
·
printpointer
((
void
*
)
ss
->
__rcx
);
prints
(
"
\n
rdx 0x"
);
sys
·
printpointer
((
void
*
)
ss
->
__rdx
);
prints
(
"
\n
rdi 0x"
);
sys
·
printpointer
((
void
*
)
ss
->
__rdi
);
prints
(
"
\n
rsi 0x"
);
sys
·
printpointer
((
void
*
)
ss
->
__rsi
);
prints
(
"
\n
rbp 0x"
);
sys
·
printpointer
((
void
*
)
ss
->
__rbp
);
prints
(
"
\n
rsp 0x"
);
sys
·
printpointer
((
void
*
)
ss
->
__rsp
);
prints
(
"
\n
r8 0x"
);
sys
·
printpointer
((
void
*
)
ss
->
__r8
);
prints
(
"
\n
r9 0x"
);
sys
·
printpointer
((
void
*
)
ss
->
__r9
);
prints
(
"
\n
r10 0x"
);
sys
·
printpointer
((
void
*
)
ss
->
__r10
);
prints
(
"
\n
r11 0x"
);
sys
·
printpointer
((
void
*
)
ss
->
__r11
);
prints
(
"
\n
r12 0x"
);
sys
·
printpointer
((
void
*
)
ss
->
__r12
);
prints
(
"
\n
r13 0x"
);
sys
·
printpointer
((
void
*
)
ss
->
__r13
);
prints
(
"
\n
r14 0x"
);
sys
·
printpointer
((
void
*
)
ss
->
__r14
);
prints
(
"
\n
r15 0x"
);
sys
·
printpointer
((
void
*
)
ss
->
__r15
);
prints
(
"
\n
rip 0x"
);
sys
·
printpointer
((
void
*
)
ss
->
__rip
);
prints
(
"
\n
rflags 0x"
);
sys
·
printpointer
((
void
*
)
ss
->
__rflags
);
prints
(
"
\n
cs 0x"
);
sys
·
printpointer
((
void
*
)
ss
->
__cs
);
prints
(
"
\n
fs 0x"
);
sys
·
printpointer
((
void
*
)
ss
->
__fs
);
prints
(
"
\n
gs 0x"
);
sys
·
printpointer
((
void
*
)
ss
->
__gs
);
prints
(
"
\n
"
);
}
...
...
@@ -134,7 +134,7 @@ sighandler(int32 sig, siginfo *info, void *context)
{
if
(
sig
<
0
||
sig
>=
NSIG
){
prints
(
"Signal "
);
sys
_
printint
(
sig
);
sys
·
printint
(
sig
);
}
else
{
prints
(
sigtab
[
sig
].
name
);
}
...
...
@@ -142,14 +142,14 @@ sighandler(int32 sig, siginfo *info, void *context)
_STRUCT_MCONTEXT64
*
uc_mcontext
=
get_uc_mcontext
(
context
);
_STRUCT_X86_THREAD_STATE64
*
ss
=
get___ss
(
uc_mcontext
);
prints
(
"
\n
Faulting address: 0x"
);
sys
_
printpointer
(
info
->
si_addr
);
prints
(
"
\n
pc: 0x"
);
sys
_
printpointer
((
void
*
)
ss
->
__rip
);
prints
(
"
\n
Faulting address: 0x"
);
sys
·
printpointer
(
info
->
si_addr
);
prints
(
"
\n
pc: 0x"
);
sys
·
printpointer
((
void
*
)
ss
->
__rip
);
prints
(
"
\n\n
"
);
traceback
((
void
*
)
ss
->
__rip
,
(
void
*
)
ss
->
__rsp
);
print_thread_state
(
ss
);
sys
_
exit
(
2
);
sys
·
exit
(
2
);
}
sigaction
a
;
...
...
@@ -167,6 +167,6 @@ initsig(void)
for
(
i
=
0
;
i
<
NSIG
;
i
++
)
if
(
sigtab
[
i
].
catch
){
sys
_
sigaction
(
i
,
&
a
,
(
void
*
)
0
);
sys
·
sigaction
(
i
,
&
a
,
(
void
*
)
0
);
}
}
src/runtime/rt1_amd64_linux.c
View file @
7d11924c
...
...
@@ -40,20 +40,20 @@ sighandler(int32 sig, siginfo* info, void** context) {
if
(
sig
<
0
||
sig
>=
NSIG
){
prints
(
"Signal "
);
sys
_
printint
(
sig
);
sys
·
printint
(
sig
);
}
else
{
prints
(
sigtab
[
sig
].
name
);
}
prints
(
"
\n
Faulting address: 0x"
);
sys
_
printpointer
(
info
->
si_addr
);
sys
·
printpointer
(
info
->
si_addr
);
prints
(
"
\n
PC: 0x"
);
sys
_
printpointer
(
context
[
21
]);
sys
·
printpointer
(
context
[
21
]);
prints
(
"
\n
SP: 0x"
);
sys
_
printpointer
(
context
[
20
]);
sys
·
printpointer
(
context
[
20
]);
prints
(
"
\n
"
);
traceback
(
context
[
21
],
context
[
20
]);
/* empirically discovered locations */
sys
_
breakpoint
();
sys
_
exit
(
2
);
sys
·
breakpoint
();
sys
·
exit
(
2
);
}
sigaction
a
;
...
...
@@ -69,6 +69,6 @@ initsig(void)
for
(
i
=
0
;
i
<
NSIG
;
i
++
)
if
(
sigtab
[
i
].
catch
){
sys
_
rt_sigaction
(
i
,
&
a
,
(
void
*
)
0
,
8
);
sys
·
rt_sigaction
(
i
,
&
a
,
(
void
*
)
0
,
8
);
}
}
src/runtime/rt2_amd64.c
View file @
7d11924c
...
...
@@ -22,7 +22,7 @@ traceback(uint8 *pc, uint8 *sp)
name
=
"panic"
;
for
(;;){
prints
(
"0x"
);
sys
_
printpointer
(
pc
);
sys
·
printpointer
(
pc
);
prints
(
"?zi
\n
"
);
/* find SP offset by stepping back through instructions to SP offset marker */
while
(
pc
>
(
uint8
*
)
0x1000
+
sizeof
spmark
-
1
)
{
...
...
@@ -50,7 +50,7 @@ traceback(uint8 *pc, uint8 *sp)
for
(
i
=
0
;
i
<
3
;
i
++
){
if
(
i
!=
0
)
prints
(
", "
);
sys
_
printint
(((
uint32
*
)
sp
)[
i
]);
sys
·
printint
(((
uint32
*
)
sp
)[
i
]);
}
prints
(
", ...)
\n
"
);
prints
(
"
\t
"
);
...
...
@@ -60,7 +60,7 @@ traceback(uint8 *pc, uint8 *sp)
if
(
i
!=
0
)
prints
(
", "
);
prints
(
"0x"
);
sys
_
printpointer
(((
void
**
)
sp
)[
i
]);
sys
·
printpointer
(((
void
**
)
sp
)[
i
]);
}
prints
(
", ...)
\n
"
);
/* print pc for next frame */
...
...
src/runtime/runtime.c
View file @
7d11924c
This diff is collapsed.
Click to expand it.
src/runtime/runtime.h
View file @
7d11924c
...
...
@@ -90,7 +90,8 @@ void* mal(uint32);
uint32
cmpstring
(
string
,
string
);
void
initsig
(
void
);
void
traceback
(
uint8
*
pc
,
uint8
*
sp
);
struct
SigTab
{
struct
SigTab
{
int32
catch
;
int8
*
name
;
};
...
...
@@ -98,28 +99,28 @@ struct SigTab {
/*
* low level go -called
*/
void
sys
_
exit
(
int32
);
void
sys
_
write
(
int32
,
void
*
,
int32
);
void
sys
_
breakpoint
(
void
);
uint8
*
sys
_
mmap
(
byte
*
,
uint32
,
int32
,
int32
,
int32
,
uint32
);
void
sys
_
memclr
(
byte
*
,
uint32
);
void
*
sys
_
getcallerpc
(
void
*
);
void
sys
_
sigaction
(
int64
,
void
*
,
void
*
);
void
sys
_
rt_sigaction
(
int64
,
void
*
,
void
*
,
uint64
);
void
sys
·
exit
(
int32
);
void
sys
·
write
(
int32
,
void
*
,
int32
);
void
sys
·
breakpoint
(
void
);
uint8
*
sys
·
mmap
(
byte
*
,
uint32
,
int32
,
int32
,
int32
,
uint32
);
void
sys
·
memclr
(
byte
*
,
uint32
);
void
*
sys
·
getcallerpc
(
void
*
);
void
sys
·
sigaction
(
int64
,
void
*
,
void
*
);
void
sys
·
rt_sigaction
(
int64
,
void
*
,
void
*
,
uint64
);
/*
* runtime go-called
*/
void
sys
_
printbool
(
bool
);
void
sys
_
printfloat
(
float64
);
void
sys
_
printint
(
int64
);
void
sys
_
printstring
(
string
);
void
sys
_
printpointer
(
void
*
);
void
sys
_
catstring
(
string
,
string
,
string
);
void
sys
_
cmpstring
(
string
,
string
,
int32
);
void
sys
_
slicestring
(
string
,
int32
,
int32
,
string
);
void
sys
_
indexstring
(
string
,
int32
,
byte
);
void
sys
_
intstring
(
int64
,
string
);
void
sys
_
ifaces2i
(
Sigi
*
,
Sigs
*
,
Map
*
,
void
*
);
void
sys
_
ifacei2i
(
Sigi
*
,
Map
*
,
void
*
);
void
sys
_
ifacei2s
(
Sigs
*
,
Map
*
,
void
*
);
void
sys
·
printbool
(
bool
);
void
sys
·
printfloat
(
float64
);
void
sys
·
printint
(
int64
);
void
sys
·
printstring
(
string
);
void
sys
·
printpointer
(
void
*
);
void
sys
·
catstring
(
string
,
string
,
string
);
void
sys
·
cmpstring
(
string
,
string
,
int32
);
void
sys
·
slicestring
(
string
,
int32
,
int32
,
string
);
void
sys
·
indexstring
(
string
,
int32
,
byte
);
void
sys
·
intstring
(
int64
,
string
);
void
sys
·
ifaces2i
(
Sigi
*
,
Sigs
*
,
Map
*
,
void
*
);
void
sys
·
ifacei2i
(
Sigi
*
,
Map
*
,
void
*
);
void
sys
·
ifacei2s
(
Sigs
*
,
Map
*
,
void
*
);
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment