aarch64 contexts: devel/libunwind builds broken --"error: no member named 'regs' in 'struct __mcontext'" (and more)

From: Mark Millard <marklmi_at_yahoo.com>
Date: Tue, 15 Mar 2022 20:53:39 UTC
Context: I'm using poudriere-devel for port builds.

http://ampere2.nyi.freebsd.org/build.html?mastername=main-arm64-default&build=p422f190aeba4_s23210c9f42

from "build started at Tue Mar  8 01:55:26 UTC 2022" shows the same
sorts errors I'm getting trying to build updated ports. So do
later builds there. An example:

. . . error: no member named 'regs' in 'struct __mcontext'
      unw_getcontext (&uc);
      ^~~~~~~~~~~~~~~~~~~~
../include/libunwind-common.h:127:29: note: expanded from macro 'unw_getcontext'
#define unw_getcontext(uc)              unw_tdep_getcontext(uc)
                                        ^~~~~~~~~~~~~~~~~~~~~~~
../include/libunwind-aarch64.h:237:79: note: expanded from macro 'unw_tdep_getcontext'
  register uint64_t unw_base __asm__ ("x0") = (uint64_t) unw_ctx->uc_mcontext.regs; \
                                                         ~~~~~~~~~~~~~~~~~~~~ ^
1 error generated.

I also get such when attempting building for releng/13.0
(13.0-RELEASE-p7) , not just when building for main [so: 14].

I'll note that it looks like:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=262257

was reopened on 2022-Mar-12 because of these types of problems
on aarch64. (The problem reported there on 2002-Mar-09.) No
news after that (yet), but it has been only a couple more days.


So, a question on tier-1 related procedures:

It looks like having an "exp-run" before the associated commit
did not include doing so on aarch64. Are all tier 1 architectures
generally supposed to get an exp-run when exp-runs are requested?
Or is it only amd64 that is supposed to get such unless explicitly
requested?

===
Mark Millard
marklmi at yahoo.com