9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] More on the GO toolchain
@ 2010-01-08  4:17 lucio
  2010-01-08 21:09 ` James Tomaschke
  0 siblings, 1 reply; 7+ messages in thread
From: lucio @ 2010-01-08  4:17 UTC (permalink / raw)
  To: 9fans

Let me bore most of you in the hope that there are interested
parties...

So far I have compiled the assemblers, linkers and compilers for 386,
amd64 and arm from the GO toolchain, seemingly successfully.  I have
used the freshly acquired sheevaplug to check, at least to some
extent, that this applies to the arm and, naturally, most of the work
is being done on 386 equipment.

I have then compiled the native Plan 9 libraries, libc and libbio,
using the freshly generated tools.  I have had a bit of a setback in
this compilation and I'm writing this while taking a breather, I'll be
going back to fix this last problem next.

One of the issue I need to fix, further, is that the 386 linker (at
least) demands to access the runtime module (runtime.a - I am not yet
ready to build this library) and I wonder if there are any suggestions
here on how best to eliminate this mandatory requirements without
jeopardising compatibility between the GO toolchain and its ability to
"replace" the native Plan 9 toolchain - which is my primary objective
at this point.

Mail me off list if you are interested in the details.  I have
submitted some GO source changes to Russ personally, but I have a
feeling he has overlooked them, maybe this will remind him.  I have
more changes I would like to see incorporated in the GO sources to
save me laborious adjustments every time a new release takes place.

++L




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [9fans] More on the GO toolchain
  2010-01-08  4:17 [9fans] More on the GO toolchain lucio
@ 2010-01-08 21:09 ` James Tomaschke
  2010-01-08 21:49   ` erik quanstrom
  2010-01-09  3:42   ` lucio
  0 siblings, 2 replies; 7+ messages in thread
From: James Tomaschke @ 2010-01-08 21:09 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

lucio@proxima.alt.za wrote:
> One of the issue I need to fix, further, is that the 386 linker (at
> least) demands to access the runtime module (runtime.a - I am not yet
> ready to build this library) and I wonder if there are any suggestions
> here on how best to eliminate this mandatory requirements without
> jeopardising compatibility between the GO toolchain and its ability to
> "replace" the native Plan 9 toolchain - which is my primary objective
> at this point.

Perhaps the go 8l is not honoring the "-l " option?  I just tried to
create a mbr from assembly and it reported the same runtime
requirements.  A diff between the various sources might be useful since
they are similar.




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [9fans] More on the GO toolchain
  2010-01-08 21:09 ` James Tomaschke
@ 2010-01-08 21:49   ` erik quanstrom
  2010-01-09  0:10     ` James Tomaschke
  2010-01-09  3:42   ` lucio
  1 sibling, 1 reply; 7+ messages in thread
From: erik quanstrom @ 2010-01-08 21:49 UTC (permalink / raw)
  To: 9fans

> Perhaps the go 8l is not honoring the "-l " option?  I just tried to
> create a mbr from assembly and it reported the same runtime
> requirements.  A diff between the various sources might be useful since
> they are similar.

see /sys/src/boot/pc*.

; mk -n mbr.install
8l -o mbr -H3 -T0x0600 -l mbr.8
ls -l mbr
cp mbr /386/mbr

- erik



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [9fans] More on the GO toolchain
  2010-01-08 21:49   ` erik quanstrom
@ 2010-01-09  0:10     ` James Tomaschke
  2010-01-09  3:55       ` lucio
  0 siblings, 1 reply; 7+ messages in thread
From: James Tomaschke @ 2010-01-09  0:10 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

erik quanstrom wrote:
> ; mk -n mbr.install
> 8l -o mbr -H3 -T0x0600 -l mbr.8
> ls -l mbr
> cp mbr /386/mbr

The go toolchain yields:
$ 8l -o mbr -H3 -T0x0600 -l mbr.8
confidence: runtime·morestack not defined
??none??: _rt0_386_plan9: not defined

src/cmd/8l/pass.c:
symmorestack = lookup("runtime·morestack", 0);
....
if(pmorestack == P)
  diag("runtime·morestack not defined");

src/cmd/ld/lib.c: void libinit(void)
sprint(INITENTRY, "_rt0_%s_%s", goarch, goos);

If you can address these two, I think you can use 8l without the runtime.




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [9fans] More on the GO toolchain
  2010-01-08 21:09 ` James Tomaschke
  2010-01-08 21:49   ` erik quanstrom
@ 2010-01-09  3:42   ` lucio
  1 sibling, 0 replies; 7+ messages in thread
From: lucio @ 2010-01-09  3:42 UTC (permalink / raw)
  To: 9fans

> Perhaps the go 8l is not honoring the "-l " option?  I just tried to
> create a mbr from assembly and it reported the same runtime
> requirements.  A diff between the various sources might be useful since
> they are similar.

It was easy enough to turn that off, I'm not sure how to do it
selectively and at the same time retain portability across both
architectures and target purposes (Plan 9, GO and also Inferno - this
last I have not given any attention to yet).

++L




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [9fans] More on the GO toolchain
  2010-01-09  0:10     ` James Tomaschke
@ 2010-01-09  3:55       ` lucio
  2010-01-09  3:59         ` erik quanstrom
  0 siblings, 1 reply; 7+ messages in thread
From: lucio @ 2010-01-09  3:55 UTC (permalink / raw)
  To: 9fans

> If you can address these two, I think you can use 8l without the runtime.

I did: the -E option allows me to define an entry point other than
_rt0_386_plan9 (if memory serves), which is helpful, but
"runtime·morestack" (how does one compose that "dot" on the
conventional Plan 9 keyboard?) is taking back seat to fixing the
TEXT/GLOBL problem I am battling with now.  But the outlook for making
the GO toolchain compatible with Plan 9 is pretty good at this stage.

++L




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [9fans] More on the GO toolchain
  2010-01-09  3:55       ` lucio
@ 2010-01-09  3:59         ` erik quanstrom
  0 siblings, 0 replies; 7+ messages in thread
From: erik quanstrom @ 2010-01-09  3:59 UTC (permalink / raw)
  To: lucio, 9fans

> "runtime·morestack" (how does one compose that "dot" on the
> conventional Plan 9 keyboard?)

compose+..

- erik



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2010-01-09  3:59 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-01-08  4:17 [9fans] More on the GO toolchain lucio
2010-01-08 21:09 ` James Tomaschke
2010-01-08 21:49   ` erik quanstrom
2010-01-09  0:10     ` James Tomaschke
2010-01-09  3:55       ` lucio
2010-01-09  3:59         ` erik quanstrom
2010-01-09  3:42   ` lucio

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).