summaryrefslogtreecommitdiff
path: root/gnu-efi
AgeCommit message (Collapse)Author
2021-09-07Update gnu-efiPeter Jones
This updates gnu-efi to the shim-15.5 tag, with the following minor fixes: 5bd501b7e00 - Add missing EFI_VARIABLE_... definition. 9490cfe5bf2 - Check if we're using clang *before* we check the gcc version 3d2ba813d04 - Use CFLAGS_LTO and CFLAGS_GCOV variables during build 2186b121724 - Add some missing definitions for system table revisions acc5371207f - Make CopyMem() and SetMem() be EFIAPI With the exception of acc5371207f, all of these are needed for patches further along in this patch series. acc5371207f goes with the prior patch in this series ("Make CopyMem() work with EFI's declaration."), but they have to be applied in this order to keep from breaking the build. Signed-off-by: Peter Jones <pjones@redhat.com>
2021-03-30arm/aa64 targets: put .rel* and .dyn* in .rodataPeter Jones
For every problem, there exists a solution which is simple, elegant, and wrong. d74629207188d290810db15dbfe91a89e7751ffb is that solution. This patch leaves that intact, but adds a .rodata section wrapping .rel/.rela and .dynsym/.dynstr., so that they are correctly incorporated into the authenticode hash. Signed-off-by: Peter Jones <pjones@redhat.com>
2021-03-25Make building outside of the top directory work.Peter Jones
This also makes the cross-build targets (and not the others) /use/ this functionality, so we'll catch it if we break it again. This fixes issue #340. Signed-off-by: Peter Jones <pjones@redhat.com>
2021-03-22Fix cross-compilation from x86_64->i686Peter Jones
Signed-off-by: Peter Jones <pjones@redhat.com>
2021-03-18arm and aarch64: include the aligned part in SizeOfRawData of sbatGary Lin
Similar to x86_64, the .sbat section is aligned to 4096, so we should include the aligned part in SizeOfRawData as objcopy does for x86_64. For VirtualSize, _sbat_vsize is used to reflect the actually size of sbat. This also fixes a strange hash mismatching in openSUSE build service when attaching signature to AArch64 EFI images from shim package. Signed-off-by: Gary Lin <glin@suse.com>
2021-03-15arm and aarch64: fix some PE headers.upstream/shim-15.3-rc2shim-15.3-rc2Peter Jones
This fixes the SizeOfImage and SizeOfInitializedData headers on arm and aa64. Signed-off-by: Peter Jones <pjones@redhat.com>
2021-03-12More va_* workPeter Jones
Be much more explicit about exactly which va_* stuff comes from which ABI in both shim and gnu-efi. This fixes the problem where we see: | (null):0:(null)() v->name:"(null)" v->rtname:"(null)" | (null):0:(null)() v->data_size:0 v->data:0x0 and similar messages where everything is NULL. Signed-off-by: Peter Jones <pjones@redhat.com>
2021-03-12arm arches: include .sbat in our section headers.Peter Jones
Signed-off-by: Peter Jones <pjones@redhat.com>
2021-03-10Consolidate most of our standard lib functions to libPeter Jones
Signed-off-by: Peter Jones <pjones@redhat.com>
2021-03-09build: Import gnu-efi as a submodule and build against itMatthew Garrett
Shim is rather more friendly with EFI internals than most code, and as a result can end up making assumptions that are out of step with those made by gnu-efi. Since both projects are developed independently, and since distributions are often trying to build versions of shim against whatever version of gnu-efi they are shipping, this can result in awkward build failures. The easiest way to handle this is to use a git submodule and import a known-good version of shim directly into the build tree. Given static linking, this will also make reproducible builds easier. Plus some changes from pjones: - Fix up some more include paths - more fine grained clean rules - use our make ARCH - use an rhboot/ repo for the gnu-efi remote Signed-off-by: Matthew Garrett <mjg59@google.com>