RE: git: 6926e2699ae5 - main - arm: Add support for using VFP in kernel [vs. devel/libunwind for armv7 package builds]

Mark Millard <[email protected]>
Newsgroups gmane.os.freebsd.devel.toolchain,gmane.os.freebsd.current,gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
https://lists.freebsd.org/archives/dev-commits-src-main/2023-February/012550.html
("git: 6926e2699ae5 - main - arm: Add support for using VFP in kernel")

did not follow a pre-existing naming convention that devel/libunwind depends on,
leading to 6000+ skipped ports on the FreeBSD armv7-package building server.
(No claim that there would not be a next-problem in the way, however.)

The details are . . .

# grep -r "\<fpr_r\>" /usr/main-src/ | more
. . . ignoring debian no such file notices . . .
/usr/main-src/sys/arm/arm/machdep_kdb.c:        memcpy(regs->fpr_r, pcb->pcb_vfpstate.reg,
/usr/main-src/sys/arm/arm/machdep_kdb.c:            sizeof(regs->fpr_r));
/usr/main-src/sys/arm/arm/machdep_kdb.c:        memcpy(pcb->pcb_vfpstate.reg, regs->fpr_r, sizeof(regs->fpr_r));
/usr/main-src/sys/arm/include/reg.h:    __uint64_t      fpr_r[32];

Everything else uses fpr (no _r suffix).

devel/libunwind expects the "fpr" spelling
( from http://ampere2.nyi.freebsd.org/data/main-armv7-default/pb73012d372f5_s91b2da1370/logs/errors/libunwind-20211201_1.log ):

--- ptrace/_UPT_access_fpreg.lo ---
ptrace/_UPT_access_fpreg.c:107:25: error: no member named 'fpr' in 'struct fpreg'
memcpy(&fpreg.fpr[reg], val, sizeof(unw_fpreg_t));
~~~~~ ^
ptrace/_UPT_access_fpreg.c:123:30: error: no member named 'fpr' in 'struct fpreg'
memcpy(val, &fpreg.fpr[reg], sizeof(unw_fpreg_t));
~~~~~ ^
2 errors generated.
*** [ptrace/_UPT_access_fpreg.lo] Error code 1


===
Mark Millard
marklmi at yahoo.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.