[PATCH v2 2/3] efi/libstub: add random.c to ARM build
Arnd Bergmann
arnd at arndb.de
Tue Nov 15 07:11:03 PST 2016
On Wednesday, November 2, 2016 9:37:13 AM CET Ard Biesheuvel wrote:
> @@ -98,7 +100,7 @@
> efi_memory_desc_t *md = (void *)memory_map + map_offset;
> unsigned long slots;
>
> - slots = get_entry_num_slots(md, size, align);
> + slots = get_entry_num_slots(md, size, ilog2(align));
> MD_NUM_SLOTS(md) = slots;
> total_slots += slots;
> }
> """
>
> This is because ARM does not have a division routine in the
> decompressor, and the fact that the division by 'align' should always
> involve a power of 2 is not visible to the compiler.
>
> If nobody objects, I will fold this in when applying
>
>
I'm getting a link error here when building with -Os:
drivers/firmware/efi/libstub/random.stub.o: In function `efi_random_alloc':
random.c:(.text.efi_random_alloc+0x264): undefined reference to `__aeabi_llsr'
If I compile this with -O2, the ilog2 gets inlined and everything
works.
Arnd
More information about the linux-arm-kernel
mailing list