Skip to content
Snippets Groups Projects
Commit 98e55f97 authored by Marek Behún's avatar Marek Behún Committed by Tom Rini
Browse files

lib: crc32: put the crc_table variable into efi_runtime_rodata section


When compiling with LTO, the compiler fails with an error saying that
`crc_table` causes a section type conflict with `efi_var_buf`.

This is because both are declared to be in the same section (via macro
`__efi_runtime_data`), but one is const while the other is not.

Put this variable into the section .rodata.efi_runtime, instead of
.data.efi_runtime, via macro __efi_runtime_rodata.

Signed-off-by: default avatarMarek Behún <marek.behun@nic.cz>
Reviewed-by: default avatarMarek Vasut <marex@denx.de>
Reviewed-by: default avatarHeinrich Schuchardt <xypron.gpk@gmx.de>
parent ead698ac
No related branches found
No related tags found
No related merge requests found
......@@ -26,6 +26,7 @@
#ifdef USE_HOSTCC
#define __efi_runtime
#define __efi_runtime_data
#define __efi_runtime_rodata
#endif
#define tole(x) cpu_to_le32(x)
......@@ -88,7 +89,7 @@ static void __efi_runtime make_crc_table(void)
* Table of CRC-32's of all single-byte values (made by make_crc_table)
*/
static const uint32_t __efi_runtime_data crc_table[256] = {
static const uint32_t __efi_runtime_rodata crc_table[256] = {
tole(0x00000000L), tole(0x77073096L), tole(0xee0e612cL), tole(0x990951baL),
tole(0x076dc419L), tole(0x706af48fL), tole(0xe963a535L), tole(0x9e6495a3L),
tole(0x0edb8832L), tole(0x79dcb8a4L), tole(0xe0d5e91eL), tole(0x97d2d988L),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment