Mike Karels
2018-May-13 14:58 UTC
11.1-RELEASE-p10 cannot compile freebsd stable/11 kernel?
I attempted a kernel compile from stable/11, as a freebsd-update didn't seem to update /usr/src/sys, and I'm running a custom kernel. I get compile errors like this: ../../../amd64/amd64/support.S:829:2: error: unknown directive .altmacro ^ <instantiation>:1:13: error: invalid register name handle_ibrs_%(ll): ^~ <instantiation>:3:2: note: while in macro instantiation ibrs_seq_label %(ll) ^ <instantiation>:2:2: note: while in macro instantiation .rept 32 ^ ../../../amd64/amd64/support.S:858:2: note: while in macro instantiation ibrs_seq 32 ^ <instantiation>:1:13: error: invalid register name handle_ibrs_%(ll): ^~ <instantiation>:8:2: note: while in macro instantiation ibrs_seq_label %(ll) ^ <instantiation>:2:2: note: while in macro instantiation .rept 32 ^ ../../../amd64/amd64/support.S:858:2: note: while in macro instantiation ibrs_seq 32 ^ <instantiation>:1:13: error: invalid register name handle_ibrs_%(ll): (and this continues) I had just run freebsd-update: pughole# freebsd-version 11.1-RELEASE-p10 pughole# cc --version FreeBSD clang version 4.0.0 (tags/RELEASE_400/final 297347) (based on LLVM 4.0.0) Target: x86_64-unknown-freebsd11.1 Thread model: posix InstalledDir: /usr/bin I know that clang has been updated a lot; has the kernel source gotten ahead of clang on stable/11? Mike
Konstantin Belousov
2018-May-13 18:49 UTC
11.1-RELEASE-p10 cannot compile freebsd stable/11 kernel?
On Sun, May 13, 2018 at 09:58:29AM -0500, Mike Karels wrote:> I attempted a kernel compile from stable/11, as a freebsd-update didn't > seem to update /usr/src/sys, and I'm running a custom kernel. I get > compile errors like this: > > ../../../amd64/amd64/support.S:829:2: error: unknown directive > .altmacro > ^ > <instantiation>:1:13: error: invalid register name > handle_ibrs_%(ll): > ^~ > <instantiation>:3:2: note: while in macro instantiation > ibrs_seq_label %(ll) > ^ > <instantiation>:2:2: note: while in macro instantiation > .rept 32 > ^ > ../../../amd64/amd64/support.S:858:2: note: while in macro instantiation > ibrs_seq 32 > ^ > <instantiation>:1:13: error: invalid register name > handle_ibrs_%(ll): > ^~ > <instantiation>:8:2: note: while in macro instantiation > ibrs_seq_label %(ll) > ^ > <instantiation>:2:2: note: while in macro instantiation > .rept 32 > ^ > ../../../amd64/amd64/support.S:858:2: note: while in macro instantiation > ibrs_seq 32 > ^ > <instantiation>:1:13: error: invalid register name > handle_ibrs_%(ll): > (and this continues) > > I had just run freebsd-update: > > pughole# freebsd-version > 11.1-RELEASE-p10 > > > pughole# cc --version > FreeBSD clang version 4.0.0 (tags/RELEASE_400/final 297347) (based on LLVM 4.0.0) > Target: x86_64-unknown-freebsd11.1 > Thread model: posix > InstalledDir: /usr/bin > > I know that clang has been updated a lot; has the kernel source gotten > ahead of clang on stable/11?On stable/11 they are in sync. The official method of upgrade is make buildworld buildkernel from older version takes care of the compiler version transparently. If you use config/make, ensure that the installed world is at the compatible level for the kernel sources. Another option might be stopping using integrated clang assembler, there is some option in out build system for that, but I do not know it enough to remember.