shim fails to build with qemux86
WenzongFan opened this issue · 4 comments
I got the build error even build it with:
setarch linux32 ${MAKE} ${EXTRA_OEMAKE} ARCH=ia32
Looks the shim can't be built with i586-poky-linux-gcc. Any suggestion to fix it? Or just update the COMPATIBLE_HOST to support x86-64 only?
oky-linux/shim/12+gitAUTOINC+5202f80c32-r0/vendor_cert.cer" -c -o security_policy.o security_policy.c
| /tmp/ccvE99ZV.s: Assembler messages:
| /tmp/ccvE99ZV.s:268: Error: bad register name %rsp)' | /tmp/ccvE99ZV.s:269: Error: bad register name
%rdi'
| /tmp/ccvE99ZV.s:270: Error: bad register name %rsi' | /tmp/ccvE99ZV.s:271: Error: bad register name
%r10'
| /tmp/ccvE99ZV.s:272: Error: bad register name %rsp' | /tmp/ccvE99ZV.s:273: Error: bad register name
%rax'
| /tmp/ccvE99ZV.s:274: Error: bad register name %r10' | /tmp/ccvE99ZV.s:275: Error: bad register name
%rsp'
| /tmp/ccvE99ZV.s:276: Error: bad register name %rax' | /tmp/ccvE99ZV.s:277: Error: bad register name
%r10'
| /tmp/ccvE99ZV.s:278: Error: bad register name %r11' | /tmp/ccvE99ZV.s:279: Error: bad register name
%r11'
| /tmp/ccvE99ZV.s:280: Error: bad register name %r11' | /tmp/ccvE99ZV.s:282: Error: bad register name
%rdi'
| /tmp/ccvE99ZV.s:283: Error: bad register name %rcx' | /tmp/ccvE99ZV.s:284: Error: bad register name
%rdx'
| /tmp/ccvE99ZV.s:285: Error: bad register name %r8' | /tmp/ccvE99ZV.s:286: Error: bad register name
%r9'
| /tmp/ccvE99ZV.s:287: Error: bad register name %r10' | /tmp/ccvE99ZV.s:288: Error: invalid instruction suffix for
call'
| /tmp/ccvE99ZV.s:289: Error: bad register name %rsp)' | /tmp/ccvE99ZV.s:290: Error: bad register name
%r11'
| /tmp/ccvE99ZV.s:291: Error: bad register name %rsi' | /tmp/ccvE99ZV.s:292: Error: bad register name
%rdi'
| /tmp/ccvE99ZV.s:297: Error: bad register name %rdi' | /tmp/ccvE99ZV.s:298: Error: bad register name
%rsi'
| /tmp/ccvE99ZV.s:299: Error: bad register name %rsp' | /tmp/ccvE99ZV.s:300: Error: bad register name
%rax'
| /tmp/ccvE99ZV.s:301: Error: bad register name %r10' | /tmp/ccvE99ZV.s:302: Error: bad register name
%rsp'
| /tmp/ccvE99ZV.s:303: Error: bad register name %rax' | /tmp/ccvE99ZV.s:304: Error: bad register name
%r10'
| /tmp/ccvE99ZV.s:305: Error: bad register name %r11' | /tmp/ccvE99ZV.s:306: Error: bad register name
%r11'
| /tmp/ccvE99ZV.s:307: Error: bad register name %r11' | /tmp/ccvE99ZV.s:309: Error: bad register name
%rcx'
| /tmp/ccvE99ZV.s:310: Error: bad register name %rdx' | /tmp/ccvE99ZV.s:311: Error: bad register name
%r8'
| /tmp/ccvE99ZV.s:312: Error: invalid instruction suffix for call' | /tmp/ccvE99ZV.s:313: Error: bad register name
%rsp)'
| /tmp/ccvE99ZV.s:314: Error: bad register name %r11' | /tmp/ccvE99ZV.s:315: Error: bad register name
%rsi'
| /tmp/ccvE99ZV.s:316: Error: bad register name `%rdi'
| make[1]: *** [security_policy.o] Error 1
Seems like the mok secure boot patch for 32-bit was dropped.
The qemux86 build could be fixed with:
--- a/meta-efi-secure-boot/recipes-bsp/shim/shim_git.bb +++ b/meta-efi-secure-boot/recipes-bsp/shim/shim_git.bb @@ -64,10 +64,11 @@ EXTRA_OEMAKE = "\ ${@'VENDOR_DBX_FILE=${WORKDIR}/vendor_dbx.esl' \ if uks_signing_model(d) == 'user' else ''} \ ENABLE_HTTPBOOT=1 \ - OVERRIDE_SECURITY_POLICY=1 \ ENABLE_SBSIGN=1 \ " +EXTRA_OEMAKE_append_x86-64 = " OVERRIDE_SECURITY_POLICY=1"
I wonder if this will impact fallback functions on 32bit host?
@WenzongFan Sorry for the too late reply.
Currently, fallback is completely dropped. Could you use the latest meta-secure-core to see whether this issue still happens?
Reopen this if happen again.