Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 31 Dec 2018 00:05:31 -0800
From:      Mark Millard <marklmi@yahoo.com>
To:        Jonathan Chen <jonc@chen.org.nz>
Cc:        mmel@freebsd.org, freebsd-emulation@freebsd.org, FreeBSD Current <freebsd-current@freebsd.org>, freebsd-arm <freebsd-arm@freebsd.org>, ports-list freebsd <freebsd-ports@freebsd.org>, FreeBSD Toolchain <freebsd-toolchain@freebsd.org>
Subject:   Re: A reliable port cross-build failure (hangup) in my context (amd64->armv7 cross build, with native-tool speedup involved) [details of a specific qemu-arm-static source code problem]
Message-ID:  <82478A45-7D15-4995-B333-FC42B39E5345@yahoo.com>
In-Reply-To: <CAJuc1zMu-y9EceOT1fbM0fQyCWx0qM9us-MBY0VzrTLwnREM7w@mail.gmail.com>
References:  <FF9B4284-4E6B-4D36-86A0-18861B527AC0@yahoo.com> <865A13C8-9749-486E-9F79-5EEDDECBE621@yahoo.com> <0154C3AC-D85B-4FCF-BA63-454BC26BC1A2@yahoo.com> <A6A58CE3-062B-4B79-A8C2-ADFDAA04C6AF@yahoo.com> <13f5e4dd-33fb-2170-e31a-1b5d5f155869@freebsd.org> <ABA957EA-B8EE-4B8C-9C2F-B745BA652BF6@yahoo.com> <2E3F6196-4652-40D2-937F-8860B6005A35@yahoo.com> <CD78D55F-9B73-4914-9E7A-41590F058B03@yahoo.com> <A6CDEEBE-1753-4D28-9F9C-90E7789BB7D2@yahoo.com> <CAJuc1zMu-y9EceOT1fbM0fQyCWx0qM9us-MBY0VzrTLwnREM7w@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2018-Dec-30, at 21:01, Jonathan Chen <jonc at chen.org.nz> wrote:

> On Mon, 31 Dec 2018 at 14:34, Mark Millard via freebsd-ports
> <freebsd-ports@freebsd.org> wrote:
>> 
>> [Removing __packed did make the size and offsets match armv7
>> and the build worked based on the reconstructed qemu-arm-static.]
> 
> Thanks for the analysis Mark! I've been suffering quite a few hangups
> with my ports crossbuilds on amd64->armv7 on 12-STABLE, and I'll be
> trying your suggestions to see whether it resolves the issue.

If you have something like a kqread state for a hang-up consistently
in the same place, then Mikael Urankar 's fix (or any other
way of getting the right sizes and field offsets for kevent) has a
chance of fixing what you have observed.

But if you have a form of hang-up that shows no sign of being tied
to kevent or hangs-up only sometimes, I'd be surprised if the __packed
change(s) would fix the issue.

I've seen such racy hang-ups from lld's creation of (#cpu)+2 threads,
as FreeBSD counts cpus. I've selectively forced -Wl,--no-threads at
times in specific contexts to avoid that. binutils ld does not tolerate
the option. ports does not appear to have an equivalent of:

LDFLAGS.lld+= -Wl,--no-threads

that would be lld specific.


===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?82478A45-7D15-4995-B333-FC42B39E5345>