Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Jul 2024 07:46:57 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        Philip Paeps <philip@freebsd.org>, FreeBSD ARM List <freebsd-arm@freebsd.org>, FreeBSD Mailing List <freebsd-ports@freebsd.org>, Current FreeBSD <freebsd-current@freebsd.org>
Subject:   Re: [main has a fix for] armv7-on-aarch64 stuck at urdlck: I got a replication of the "ampere2" bulk build hangup problem on a Windows DevKit 2023
Message-ID:  <E91E066B-D9D3-4218-BA03-589408051763@yahoo.com>
In-Reply-To: <561E4947-6D56-4431-AE08-C843FF232066@yahoo.com>
References:  <A3BBDBA3-FF7E-47B8-8B45-C3351918FC08@yahoo.com> <8214703E-AB28-4FB3-A3DD-03C87363D8C6@yahoo.com> <E40B106D-30B7-49DC-8540-911A56E53FCA@yahoo.com> <BFCA474F-78D4-4E98-8A9B-B92C2DB6B0DE@yahoo.com> <E40627DC-35A2-4D5E-A85C-73D7FFD426DF@yahoo.com> <A208F7C8-0D9E-402C-BB85-A5022B37E3EC@yahoo.com> <561E4947-6D56-4431-AE08-C843FF232066@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Jul 25, 2024, at 09:48, Mark Millard <marklmi@yahoo.com> wrote:

> Michal Meloun <mmel_at_FreeBSD.org> has committed a fix in main:
>=20
> See:
> =
https://lists.freebsd.org/archives/dev-commits-src-main/2024-July/025399.h=
tml
>=20
> that starts with:
>=20
> From: Michal Meloun <mmel_at_FreeBSD.org>
> Date: Thu, 25 Jul 2024 16:25:09 UTC=20
> The branch main has been updated by mmel:
>=20
> URL: =
https://cgit.FreeBSD.org/src/commit/?id=3D5670b8cc3672d5a6bc2c41eb48d7d013=
43c43ad0
>=20
> commit 5670b8cc3672d5a6bc2c41eb48d7d01343c43ad0
> Author: Michal Meloun <mmel@FreeBSD.org>
> AuthorDate: 2024-07-24 15:11:27 +0000
> Commit: Michal Meloun <mmel@FreeBSD.org>
> CommitDate: 2024-07-25 16:24:22 +0000
>=20
> libthr: Preresolve selected EABI symbols on arm.
>=20
> Add the ability to pre-resolve architecture-specific EABI symbols and
> use it on arm for selected EABI functions. These functions can be =
called
> with rtld bind lock write-locked, so they should be resolved in =
forward.
>=20
> Reported by: Mark Millard <marklmi@yahoo.com>, John F Carr =
<jfc@mit.edu>
> Reviewed by: kib, imp
> MFC after: 1 week
> Differential Revision: https://reviews.freebsd.org/D46104
> ---
> lib/libthr/arch/aarch64/include/pthread_md.h | 5 +++
> lib/libthr/arch/amd64/include/pthread_md.h | 5 +++
> lib/libthr/arch/arm/Makefile.inc | 3 ++
> lib/libthr/arch/arm/thr_rtld_arm.c | 67 ++++++++++++++++++++++++++++
> lib/libthr/arch/i386/include/pthread_md.h | 5 +++
> lib/libthr/arch/powerpc/include/pthread_md.h | 5 +++
> lib/libthr/arch/riscv/include/pthread_md.h | 5 +++
> lib/libthr/thread/thr_private.h | 1 +
> lib/libthr/thread/thr_rtld.c | 3 ++
> 9 files changed, 99 insertions(+)
>=20
> . . .

https://pkg.freebsd.org/FreeBSD:15:armv7/base_latest/ has =
15.snap20240726110821
and updating to it leads to avoiding the hang-up in my dlopen_test.c =
testing.
It is based on:

126	static inline size_t
127	round_up(size_t size)
128	{
129		if (size % _thr_page_size !=3D 0)
130			size =3D ((size / _thr_page_size) + 1) *
131			    _thr_page_size;
132		return size;
133	}

that uses the _aeabi_* routine(s) in standard armv7 builds.

But that no longer causes the recursive locking deadlock
problem.

So, it looks like updating the kernel and world on ampere2 and
enabling builds of main-armv7-default should no longer have
main-armv7-default hang-up during graphviz installation (or
analogous contexts). Hopefully, that means that
main-armv7-default builds will then complete and be distributed.

=3D=3D=3D
Mark Millard
marklmi at yahoo.com




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E91E066B-D9D3-4218-BA03-589408051763>