u-boot-brain/lib/efi_loader
Alexander Graf afdc4fcc89 efi_loader: Handle RELA absolute relocations properly
With RELA absolute relocations, the relocation target contains our link
offset which we need to remove from the equation again. We did this
properly in the relative relocation path, but not in the absolute one.

So let's do this for the absolute one as well. That way, u-boot can have
a TEXT_OFFSET of != 0 and still relocate itself properly.

This fixes a bug where efi_loader did not work on the RISC-V QEMU port.
With this patch, I can successfully run UEFI applications on the RISC-V
QEMU port.

Reported-by: Auer, Lukas <lukas.auer@aisec.fraunhofer.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
2018-12-02 21:59:37 +01:00
..
.gitignore lib: gitignore *.elf and *.so generated by efi_loader 2017-01-09 10:30:24 -05:00
efi_acpi.c efi_loader: Install ACPI configuration tables 2018-07-02 09:23:28 +08:00
efi_bootmgr.c efi_loader: fix typos 2018-12-02 21:59:37 +01:00
efi_boottime.c efi_loader: UninstallMultipleProtocolInterfaces error code 2018-12-02 21:59:36 +01:00
efi_console.c efi_loader: fix typos 2018-12-02 21:59:37 +01:00
efi_device_path_to_text.c efi_loader: fix typos 2018-12-02 21:59:37 +01:00
efi_device_path_utilities.c SPDX: Convert a few files that were missed before 2018-05-10 20:38:35 -04:00
efi_device_path.c efi_loader: fix typos in efi_device_path.c 2018-12-02 21:59:36 +01:00
efi_disk.c efi_loader: rename parent to header 2018-12-02 21:59:36 +01:00
efi_file.c efi_loader: superfluous statement in is_dir() 2018-10-16 16:39:57 +02:00
efi_gop.c efi_loader: fix typos 2018-12-02 21:59:37 +01:00
efi_image_loader.c efi_loader: refactor efi_setup_loaded_image() 2018-09-23 21:55:31 +02:00
efi_memory.c efi_loader: Merge memory map entries 2018-09-23 21:55:30 +02:00
efi_net.c efi_loader: fix typos 2018-12-02 21:59:37 +01:00
efi_root_node.c efi_loader: create root node 2018-09-23 21:55:31 +02:00
efi_runtime.c efi_loader: Handle RELA absolute relocations properly 2018-12-02 21:59:37 +01:00
efi_smbios.c Remove <inttypes.h> includes and PRI* usages in printf() entirely 2018-09-10 20:48:17 -04:00
efi_unicode_collation.c efi_loader: EFI_UNICODE_COLLATION_PROTOCOL 2018-09-23 21:55:29 +02:00
efi_variable.c efi_loader: memory leak in efi_set_variable() 2018-10-16 16:40:11 +02:00
efi_watchdog.c SPDX: Convert a few files that were missed before 2018-05-10 20:38:35 -04:00
helloworld.c efi_selftest: use CR LF in helloworld 2018-12-02 21:59:36 +01:00
Kconfig efi: sandbox: Enable EFI loader build for sandbox 2018-09-23 21:55:30 +02:00
Makefile efi_loader: create root node 2018-09-23 21:55:31 +02:00