On 7/28/23 5:08 AM, Andrew Turner wrote:
The branch main has been updated by andrew:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=c65679143f82e28b3aa078f16311350c31a33776

commit c65679143f82e28b3aa078f16311350c31a33776
Author:     Andrew Turner <[email protected]>
AuthorDate: 2023-07-06 13:28:23 +0000
Commit:     Andrew Turner <[email protected]>
CommitDate: 2023-07-28 11:53:02 +0000

     arm64: Decode the ID_AA64MMFR3_EL1 register
Sponsored by: Arm Ltd
     Differential Revision:  https://reviews.freebsd.org/D40893

This (and some following commits) broke the aarch64 build jobs on GitHub.
I wonder if these registers are unknown by clang versions older than LLVM16
or LLVM15?  The cross-build jobs use clang 12/13/14.

The errors:

bmake[2]: 
"/home/runner/work/freebsd-src/build/home/runner/work/freebsd-src/freebsd-src/arm64.aarch64/sys/GENERIC/Makefile"
 line 47: warning: "Compiler is too old to support PERTHREAD_SSP"
/home/runner/work/freebsd-src/freebsd-src/sys/arm64/arm64/identcpu.c:2707:23: 
error: expected readable system register
        desc->id_aa64mmfr3 = READ_SPECIALREG(id_aa64mmfr3_el1);
                             ^
./machine/armreg.h:74:19: note: expanded from macro 'READ_SPECIALREG'
        __asm __volatile("mrs   %0, " __STRING(reg) : "=&r" (_val));    \
                         ^
<inline asm>:1:10: note: instantiated into assembly here
        mrs     x9, id_aa64mmfr3_el1
                    ^
/home/runner/work/freebsd-src/freebsd-src/sys/arm64/arm64/identcpu.c:2708:23: 
error: expected readable system register
        desc->id_aa64mmfr4 = READ_SPECIALREG(id_aa64mmfr4_el1);
                             ^
./machine/armreg.h:74:19: note: expanded from macro 'READ_SPECIALREG'
        __asm __volatile("mrs   %0, " __STRING(reg) : "=&r" (_val));    \
                         ^
<inline asm>:1:10: note: instantiated into assembly here
        mrs     x9, id_aa64mmfr4_el1
                    ^
/home/runner/work/freebsd-src/freebsd-src/sys/arm64/arm64/identcpu.c:2711:22: 
error: expected readable system register
        desc->id_aa64pfr2 = READ_SPECIALREG(id_aa64pfr2_el1);
                            ^
./machine/armreg.h:74:19: note: expanded from macro 'READ_SPECIALREG'
        __asm __volatile("mrs   %0, " __STRING(reg) : "=&r" (_val));    \
                         ^
<inline asm>:1:10: note: instantiated into assembly here
        mrs     x9, id_aa64pfr2_el1
                    ^
3 errors generated.
--- identcpu.o ---
*** [identcpu.o] Error code 1

bmake[2]: stopped in 
/home/runner/work/freebsd-src/build/home/runner/work/freebsd-src/freebsd-src/arm64.aarch64/sys/GENERIC
1 error

--
John Baldwin


Reply via email to