Re: [9fans] Busy mouse WAS: Re: Making read(1) an rc(1) builtin?

2011-04-09 Thread erik quanstrom
 My load is also close to zero, when just moving the mouse.  If, for
 example, I do a du -a in an Acme win window, the mouse disappears
 and/or becomes unusuably slow until Acme finishes.

sounds like a video issue, rather than a mouse issue.  i imagine
that your machine is just slow.

 Acme also hangs for me while retrieving files and directory listings on
 /n/sources.  Although the mouse remains responsive during that time,
 Acme becomes unresponsive... not even selecting text with the button1
 works.

that's how it works.  acme's threading model means that everything
comes to a screeching halt when you load a file.  you just don't
notice the delay when it's local.

  the mouse, the i would think that the fact that your machine
  is doing 8259-style interrupts has something to do with it.
 
 No hablo 8259. ??

http://en.wikipedia.org/wiki/Intel_8259

like the reptilian part of your brain, it proves that evolution is a
bad housekeeper.

- erik



Re: [9fans] Plan 9 port of the Go toolchain

2011-04-09 Thread Russ Cox
 .../src/cmd/8a/asm.c, around line #900:

                /* This null SHdr must appear before all others */
                sh = newElfShdr(elfstr[ElfStrEmpty]);

 My guess is that this needs to be followed by an instruction to write
 out the header, which in fact does not take place.

The code is corect.  newElfShdr updates a global table.
You can delete the sh =  but not the whole line.

        308c308
         archreloc(Reloc *r, Sym *s, vlong *val)
        ---
         archreloc(Reloc *r, Sym *, vlong *val)

If you insert USED(s) as a statement in the body of the
function, we can take back the change.

Russ



Re: [9fans] Go Plan 9

2011-04-09 Thread Sergey Kish
Hello,

I'm unable to make go plan9 crosscompiler.
Can you help me?

# I use patched repo
hg qclone https://bitbucket.org/paulzhol/golang-plan9-runtime-patches go
cd go
hg qpush -a

# build as usual
export GOROOT=`pwd`
export GOOS=linux
export GOBIN=$GOROOT/bin
export PATH=$GOBIN:$PATH

mkdir -p $GOROOT/bin
cd $GOROOT/src
. ./make.bash

# prepare pkgs
cd $GOROOT/src/pkg
make clean
export GOOS=plan9
make

# and get
make -C net install
make[1]: Entering directory `/home/sergeykish/abs/go/src/go-build/src/pkg/net'
make[1]: *** No rule to make target `fd_plan9.go', needed by `_go_.8'.  Stop.
make[1]: Leaving directory `/home/sergeykish/abs/go/src/go-build/src/pkg/net'

What now?



Re: [9fans] Go Plan 9

2011-04-09 Thread Skip Tavakkolian
is there a reason you didn't build it from the official Go sources?
i only needed to make a couple of tweaks (see the patch below) to
build it.  a couple of things to watch out for:

- make sure you have two different GOBIN's; one for your local Linux
box and the other for making the Plan 9 binaries
- be sure to have the right GOBIN in the first part of your PATH for
your target environment

i use drawterm from the build box and then i can execute Plan 9
binaries produced by 8[gl] from /mnt/term/whatever

-Skip

$ hg diff
diff -r b002b8e25d25 src/pkg/Makefile
--- a/src/pkg/Makefile  Tue Apr 05 18:07:01 2011 -0400
+++ b/src/pkg/Makefile  Sat Apr 09 11:18:04 2011 -0700
@@ -106,7 +106,6 @@
image/png\
index/suffixarray\
io\
-   io/ioutil\
json\
log\
math\
@@ -139,7 +138,6 @@
sync/atomic\
syscall\
syslog\
-   tabwriter\
template\
testing\
testing/iotest\
@@ -206,6 +204,14 @@
 NOTEST+=net syslog
 endif

+# Disable packages that plan9 doesn't support yet
+ifneq ($(GOOS),plan9)
+DIRS+=\
+   tabwriter\
+   io/ioutil\
+
+endif
+
 # Disable tests that windows cannot run yet.
 ifeq ($(GOOS),windows)
 NOTEST+=os/signal# no signals
diff -r b002b8e25d25 src/pkg/path/filepath/Makefile
--- a/src/pkg/path/filepath/MakefileTue Apr 05 18:07:01 2011 -0400
+++ b/src/pkg/path/filepath/MakefileSat Apr 09 11:18:04 2011 -0700
@@ -15,6 +15,9 @@
 GOFILES_darwin=\
path_unix.go

+GOFILES_plan9=\
+   path_unix.go
+
 GOFILES_linux=\
path_unix.go

diff -r b002b8e25d25 src/pkg/time/Makefile
--- a/src/pkg/time/Makefile Tue Apr 05 18:07:01 2011 -0400
+++ b/src/pkg/time/Makefile Sat Apr 09 11:18:04 2011 -0700
@@ -21,6 +21,9 @@
 GOFILES_linux=\
zoneinfo_unix.go\

+GOFILES_plan9=\
+   zoneinfo_unix.go\
+
 GOFILES_windows=\
zoneinfo_windows.go\



On Sat, Apr 9, 2011 at 10:51 AM, Sergey Kish sergey.k...@gmail.com wrote:
 Hello,

 I'm unable to make go plan9 crosscompiler.
 Can you help me?

 # I use patched repo
 hg qclone https://bitbucket.org/paulzhol/golang-plan9-runtime-patches go
 cd go
 hg qpush -a

 # build as usual
 export GOROOT=`pwd`
 export GOOS=linux
 export GOBIN=$GOROOT/bin
 export PATH=$GOBIN:$PATH

 mkdir -p $GOROOT/bin
 cd $GOROOT/src
 . ./make.bash

 # prepare pkgs
 cd $GOROOT/src/pkg
 make clean
 export GOOS=plan9
 make

 # and get
 make -C net install
 make[1]: Entering directory `/home/sergeykish/abs/go/src/go-build/src/pkg/net'
 make[1]: *** No rule to make target `fd_plan9.go', needed by `_go_.8'.  Stop.
 make[1]: Leaving directory `/home/sergeykish/abs/go/src/go-build/src/pkg/net'

 What now?





Re: [9fans] Go Plan 9

2011-04-09 Thread Pavel Zholkover
Try make -k install like in the wiki instructions. This should continue
building packages even if some fail to compile.
 On Apr 9, 2011 8:53 PM, Sergey Kish sergey.k...@gmail.com wrote:
 Hello,

 I'm unable to make go plan9 crosscompiler.
 Can you help me?

 # I use patched repo
 hg qclone https://bitbucket.org/paulzhol/golang-plan9-runtime-patches go
 cd go
 hg qpush -a

 # build as usual
 export GOROOT=`pwd`
 export GOOS=linux
 export GOBIN=$GOROOT/bin
 export PATH=$GOBIN:$PATH

 mkdir -p $GOROOT/bin
 cd $GOROOT/src
 . ./make.bash

 # prepare pkgs
 cd $GOROOT/src/pkg
 make clean
 export GOOS=plan9
 make

 # and get
 make -C net install
 make[1]: Entering directory
`/home/sergeykish/abs/go/src/go-build/src/pkg/net'
 make[1]: *** No rule to make target `fd_plan9.go', needed by `_go_.8'.
Stop.
 make[1]: Leaving directory
`/home/sergeykish/abs/go/src/go-build/src/pkg/net'

 What now?



Re: [9fans] Go Plan 9

2011-04-09 Thread Pavel Zholkover
The mainline go will not compile syscall after the last post-weekly tag due
to the mmap support.
Russ wrote he'll look into it next week.

I try to maintain the bitbucket patch que with CLs still being reviewed
(Anthony's time changes for example) so people can test them as a whole.

There is no need for two different GOBINs, the same 8g/8l you built for eg.
Linux are able to produce Linux ELFs and Plan 9 a.out simply by changing to
GOOS environment variable.

Pavel
On Apr 9, 2011 9:26 PM, Skip Tavakkolian skip.tavakkol...@gmail.com
wrote:


Re: [9fans] Go Plan 9

2011-04-09 Thread Skip Tavakkolian
Great info! thanks.
-Skip

On Sat, Apr 9, 2011 at 11:53 AM, Pavel Zholkover paulz...@gmail.com wrote:
 The mainline go will not compile syscall after the last post-weekly tag due
 to the mmap support.
 Russ wrote he'll look into it next week.

 I try to maintain the bitbucket patch que with CLs still being reviewed
 (Anthony's time changes for example) so people can test them as a whole.

 There is no need for two different GOBINs, the same 8g/8l you built for eg.
 Linux are able to produce Linux ELFs and Plan 9 a.out simply by changing to
 GOOS environment variable.

 Pavel

 On Apr 9, 2011 9:26 PM, Skip Tavakkolian skip.tavakkol...@gmail.com
 wrote:




[9fans] Go Plan 9

2011-04-09 Thread Pavel Zholkover
Sorry, Skip was right.. It looks like make install in src/pkg will
also build and overwrite some of the cmd tools already in your GOBIN
with Plan 9 a.out. This is probably not what you were looking for.
The new build incantation is:

cd $GOROOT/src/pkg
make clean
mkdir -p $GROOT/bin/plan9
GOOS=plan9 GOBIN=$GOROOT/bin/plan9 make -k install

Pavel

On Sat, Apr 9, 2011 at 10:04 PM, Skip Tavakkolian
skip.tavakkol...@gmail.com wrote:
 Great info! thanks.
 -Skip

 On Sat, Apr 9, 2011 at 11:53 AM, Pavel Zholkover paulz...@gmail.com wrote:
 The mainline go will not compile syscall after the last post-weekly tag due
 to the mmap support.
 Russ wrote he'll look into it next week.

 I try to maintain the bitbucket patch que with CLs still being reviewed
 (Anthony's time changes for example) so people can test them as a whole.

 There is no need for two different GOBINs, the same 8g/8l you built for eg.
 Linux are able to produce Linux ELFs and Plan 9 a.out simply by changing to
 GOOS environment variable.

 Pavel

 On Apr 9, 2011 9:26 PM, Skip Tavakkolian skip.tavakkol...@gmail.com
 wrote:





Re: [9fans] Go Plan 9

2011-04-09 Thread Lucio De Re
 The new build incantation is:
 
 cd $GOROOT/src/pkg
 make clean
 mkdir -p $GROOT/bin/plan9
 GOOS=plan9 GOBIN=$GOROOT/bin/plan9 make -k install

I won't try this until the mmap problem you refer to is resolved, so a
question is in order: are the plan 9 tools essential to the operation
of 8l with GOOS=plan9 and will they be found by default or will one
need to make sure that the PATH is set to find them ahead of the Linux
ones?

Wait.  You are talking about a.out executables, these are specifically
for the Plan 9 environment, aren't they?  I guess I need to look for
myself :-)

Alternatively, is it sufficient to specify a different GOBIN or does
the PATH need to be changed?  I think I know the answer to this
question is that the PATH needs changing, but I am normally wrong in
these matters.

++L