Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Non-bootstrapping Go, COMPAT options



Thu, 11 Jan 2018 19:52:31 +0000 (UTC)
christos%astron.com@localhost (Christos Zoulas) wrote:

> In article <20180111.234339.1337957993283560813.oshimaya%yagoto-urayama.jp@localhost>,
> Yasushi Oshima  <oshima-ya%yagoto-urayama.jp@localhost> wrote:
>> And more, in newer kernel(ex. 20180108 for netbsd-8),
>> another problem appears,
>> During to build go1.9.2, sometimes a kernel hangup occurs.
>> I have not examined anything about this yet.
> 
> Yes, for me it does not hang up, but it livelocks all the time.
> I.e. I can get into the debugger, but none of the userland processes
> make progress. This is on a shark.

Are you using go1.4 applied my local-patch?
If not, this will be caused by some problems from the original
go1.4 and a loader of NetBSD.

In my previous message in PR pkg/51653:

| 3. Problem of linker. Go ELF linker sets p_align of ELF Header
|    to 4K somehow.
|    In Pagesize 8K kernel, this will cause problems when loading binary.

When p_align of ELF header in an executable binary is smaller
than the size of kernel page, the loader of NetBSD kernel seems
to behave something strange. Sometimes it becomes 'Abort Trap',
or sometimes the kernel loader does not return, in this case,
the execve(2) cannot complete. So the process will be still
a shell, 'bash' in the case of building go.

I think this will be a problem of kernel loader, but I've
not examined it after that.

And now the default p_align is bigger than the page size,
it is 64k on arm platform in go1.8 or lator.

Thanks.

--
Yasushi Oshima


Home | Main Index | Thread Index | Old Index