mirror of
https://github.com/golang/go
synced 2024-11-21 16:24:40 -07:00
nacl: fix build, finally fixed 8l convergence bug
R=r CC=golang-dev https://golang.org/cl/199042
This commit is contained in:
parent
0141fd3b65
commit
1f11ece67f
@ -18,18 +18,22 @@ xcd() {
|
||||
}
|
||||
|
||||
(xcd pkg/exp/nacl/srpc
|
||||
make clean
|
||||
make install
|
||||
) || exit $?
|
||||
|
||||
(xcd pkg/exp/nacl/av
|
||||
make clean
|
||||
make install
|
||||
) || exit $?
|
||||
|
||||
(xcd pkg/exp/4s
|
||||
make clean
|
||||
make
|
||||
) || exit $?
|
||||
|
||||
(xcd pkg/exp/spacewar
|
||||
make clean
|
||||
make
|
||||
) || exit $?
|
||||
|
||||
|
@ -102,6 +102,7 @@ struct Prog
|
||||
char tt;
|
||||
uchar mark; /* work on these */
|
||||
uchar back;
|
||||
uchar bigjmp;
|
||||
|
||||
};
|
||||
struct Auto
|
||||
|
@ -73,8 +73,7 @@ start:
|
||||
if(debug['v'])
|
||||
Bprint(&bso, "%5.2f span %d\n", cputime(), n);
|
||||
Bflush(&bso);
|
||||
if(n > 500) {
|
||||
// TODO(rsc): figure out why nacl takes so long to converge.
|
||||
if(n > 50) {
|
||||
print("span must be looping - %d\n", textsize);
|
||||
errorexit();
|
||||
}
|
||||
@ -1183,10 +1182,13 @@ found:
|
||||
q = p->pcond;
|
||||
if(q) {
|
||||
v = q->pc - p->pc - 2;
|
||||
if(v >= -128 && v <= 127) {
|
||||
if(q->pc == 0)
|
||||
v = 0;
|
||||
if(v >= -128 && v <= 127 && !p->bigjmp) {
|
||||
*andptr++ = op;
|
||||
*andptr++ = v;
|
||||
} else {
|
||||
p->bigjmp = 1;
|
||||
v -= 6-2;
|
||||
*andptr++ = 0x0f;
|
||||
*andptr++ = o->op[z+1];
|
||||
@ -1230,10 +1232,13 @@ found:
|
||||
q = p->pcond;
|
||||
if(q) {
|
||||
v = q->pc - p->pc - 2;
|
||||
if(v >= -128 && v <= 127) {
|
||||
if(q->pc == 0)
|
||||
v = 0;
|
||||
if(v >= -128 && v <= 127 && !p->bigjmp) {
|
||||
*andptr++ = op;
|
||||
*andptr++ = v;
|
||||
} else {
|
||||
p->bigjmp = 1;
|
||||
v -= 5-2;
|
||||
*andptr++ = o->op[z+1];
|
||||
*andptr++ = v;
|
||||
|
@ -31,7 +31,7 @@ new_section(char *name, int size, int noraw)
|
||||
errorexit();
|
||||
}
|
||||
h = &sh[nsect++];
|
||||
strncpy(h->Name, name, sizeof(h->Name));
|
||||
strncpy((char*)h->Name, name, sizeof(h->Name));
|
||||
h->VirtualSize = size;
|
||||
if(!sect_virt_begin)
|
||||
sect_virt_begin = 0x1000;
|
||||
|
28
src/pkg/runtime/nacl/mem.c
Normal file
28
src/pkg/runtime/nacl/mem.c
Normal file
@ -0,0 +1,28 @@
|
||||
#include "runtime.h"
|
||||
#include "defs.h"
|
||||
#include "os.h"
|
||||
#include "malloc.h"
|
||||
|
||||
void*
|
||||
SysAlloc(uintptr n)
|
||||
{
|
||||
mstats.sys += n;
|
||||
return runtime_mmap(nil, n, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_ANON|MAP_PRIVATE, -1, 0);
|
||||
}
|
||||
|
||||
void
|
||||
SysUnused(void *v, uintptr n)
|
||||
{
|
||||
USED(v);
|
||||
USED(n);
|
||||
// TODO(rsc): call madvise MADV_DONTNEED
|
||||
}
|
||||
|
||||
void
|
||||
SysFree(void *v, uintptr n)
|
||||
{
|
||||
USED(v);
|
||||
USED(n);
|
||||
// TODO(rsc): call munmap
|
||||
}
|
||||
|
@ -18,12 +18,18 @@
|
||||
./convert3.go
|
||||
./convlit.go
|
||||
./convlit1.go
|
||||
./copy.go
|
||||
./ddd1.go
|
||||
./ddd2.go
|
||||
./ddd3.go
|
||||
./decl.go
|
||||
./declbad.go
|
||||
./defer.go
|
||||
./empty.go
|
||||
./escape.go
|
||||
./escape1.go
|
||||
./float_lit.go
|
||||
./floatcmp.go
|
||||
./for.go
|
||||
./func.go
|
||||
./func1.go
|
||||
@ -38,6 +44,8 @@
|
||||
./if1.go
|
||||
./import.go
|
||||
./import1.go
|
||||
./import2.go
|
||||
./import3.go
|
||||
./indirect.go
|
||||
./indirect1.go
|
||||
./initcomma.go
|
||||
@ -54,11 +62,13 @@
|
||||
./method2.go
|
||||
./method3.go
|
||||
./named.go
|
||||
./named1.go
|
||||
./nil.go
|
||||
./parentype.go
|
||||
./range.go
|
||||
./rename.go
|
||||
./rename1.go
|
||||
./runtime.go
|
||||
./sieve.go
|
||||
./simassign.go
|
||||
./string_lit.go
|
||||
@ -68,6 +78,7 @@
|
||||
./test0.go
|
||||
./typeswitch.go
|
||||
./typeswitch1.go
|
||||
./typeswitch2.go
|
||||
./utf.go
|
||||
./varinit.go
|
||||
./vectors.go
|
||||
@ -107,6 +118,8 @@ interface/convert.go
|
||||
interface/convert1.go
|
||||
interface/convert2.go
|
||||
interface/embed.go
|
||||
interface/embed0.go
|
||||
interface/embed1.go
|
||||
interface/explicit.go
|
||||
interface/fake.go
|
||||
interface/pointer.go
|
||||
@ -114,6 +127,17 @@ interface/receiver.go
|
||||
interface/receiver1.go
|
||||
interface/recursive.go
|
||||
interface/struct.go
|
||||
syntax/forvar.go
|
||||
syntax/import.go
|
||||
syntax/interface.go
|
||||
syntax/semi1.go
|
||||
syntax/semi2.go
|
||||
syntax/semi3.go
|
||||
syntax/semi4.go
|
||||
syntax/semi5.go
|
||||
syntax/semi6.go
|
||||
syntax/semi7.go
|
||||
syntax/slice.go
|
||||
fixedbugs/bug000.go
|
||||
fixedbugs/bug001.go
|
||||
fixedbugs/bug002.go
|
||||
@ -156,6 +180,7 @@ fixedbugs/bug051.go
|
||||
fixedbugs/bug052.go
|
||||
fixedbugs/bug053.go
|
||||
fixedbugs/bug054.go
|
||||
fixedbugs/bug055.go
|
||||
fixedbugs/bug056.go
|
||||
fixedbugs/bug057.go
|
||||
fixedbugs/bug058.go
|
||||
@ -215,7 +240,6 @@ fixedbugs/bug120.go
|
||||
fixedbugs/bug121.go
|
||||
fixedbugs/bug122.go
|
||||
fixedbugs/bug123.go
|
||||
fixedbugs/bug125.go
|
||||
fixedbugs/bug126.go
|
||||
fixedbugs/bug127.go
|
||||
fixedbugs/bug128.go
|
||||
@ -225,6 +249,7 @@ fixedbugs/bug131.go
|
||||
fixedbugs/bug132.go
|
||||
fixedbugs/bug133.go
|
||||
fixedbugs/bug135.go
|
||||
fixedbugs/bug136.go
|
||||
fixedbugs/bug137.go
|
||||
fixedbugs/bug139.go
|
||||
fixedbugs/bug140.go
|
||||
@ -249,9 +274,9 @@ fixedbugs/bug161.go
|
||||
fixedbugs/bug163.go
|
||||
fixedbugs/bug164.go
|
||||
fixedbugs/bug165.go
|
||||
fixedbugs/bug166.go
|
||||
fixedbugs/bug167.go
|
||||
fixedbugs/bug168.go
|
||||
fixedbugs/bug169.go
|
||||
fixedbugs/bug170.go
|
||||
fixedbugs/bug171.go
|
||||
fixedbugs/bug172.go
|
||||
@ -272,11 +297,15 @@ fixedbugs/bug186.go
|
||||
fixedbugs/bug187.go
|
||||
fixedbugs/bug188.go
|
||||
fixedbugs/bug189.go
|
||||
fixedbugs/bug190.go
|
||||
fixedbugs/bug191.go
|
||||
fixedbugs/bug192.go
|
||||
fixedbugs/bug193.go
|
||||
fixedbugs/bug194.go
|
||||
fixedbugs/bug195.go
|
||||
fixedbugs/bug196.go
|
||||
fixedbugs/bug197.go
|
||||
fixedbugs/bug198.go
|
||||
fixedbugs/bug199.go
|
||||
fixedbugs/bug200.go
|
||||
fixedbugs/bug201.go
|
||||
@ -285,3 +314,42 @@ fixedbugs/bug203.go
|
||||
fixedbugs/bug204.go
|
||||
fixedbugs/bug205.go
|
||||
fixedbugs/bug206.go
|
||||
fixedbugs/bug207.go
|
||||
fixedbugs/bug208.go
|
||||
fixedbugs/bug209.go
|
||||
fixedbugs/bug211.go
|
||||
fixedbugs/bug212.go
|
||||
fixedbugs/bug213.go
|
||||
fixedbugs/bug214.go
|
||||
fixedbugs/bug215.go
|
||||
fixedbugs/bug216.go
|
||||
fixedbugs/bug217.go
|
||||
fixedbugs/bug218.go
|
||||
fixedbugs/bug219.go
|
||||
fixedbugs/bug220.go
|
||||
fixedbugs/bug221.go
|
||||
fixedbugs/bug222.go
|
||||
fixedbugs/bug223.go
|
||||
fixedbugs/bug224.go
|
||||
fixedbugs/bug225.go
|
||||
fixedbugs/bug226.go
|
||||
fixedbugs/bug227.go
|
||||
fixedbugs/bug228.go
|
||||
fixedbugs/bug229.go
|
||||
fixedbugs/bug230.go
|
||||
fixedbugs/bug231.go
|
||||
fixedbugs/bug232.go
|
||||
fixedbugs/bug233.go
|
||||
fixedbugs/bug234.go
|
||||
fixedbugs/bug235.go
|
||||
fixedbugs/bug236.go
|
||||
fixedbugs/bug237.go
|
||||
fixedbugs/bug238.go
|
||||
fixedbugs/bug239.go
|
||||
fixedbugs/bug240.go
|
||||
fixedbugs/bug241.go
|
||||
fixedbugs/bug244.go
|
||||
fixedbugs/bug245.go
|
||||
fixedbugs/bug247.go
|
||||
fixedbugs/bug248.go
|
||||
fixedbugs/bug249.go
|
||||
|
@ -7,7 +7,12 @@ case X"$GOARCH" in
|
||||
X386)
|
||||
# After downloading the Native Client binary distribution,
|
||||
# copy build/native_client/scons-out/opt-*/obj/src/trusted/service_runtime/sel_ldr
|
||||
# into your path as "nacl"
|
||||
# into your path as "nacl". You might need to wrap it to get rid of the
|
||||
# 'Exit syscall handler' print. To do that, install the binary as nacl.bin and
|
||||
# make this script nacl:
|
||||
# #!/bin/sh
|
||||
# nacl.bin "$@" 2>&1 | grep -v 'Exit syscall handler: 0'
|
||||
# exit 0
|
||||
export A=8
|
||||
export E=nacl
|
||||
;;
|
||||
|
Loading…
Reference in New Issue
Block a user