diff options
author | Heinrich Schuchardt <xypron.glpk@gmx.de> | 2018-04-03 22:29:31 +0200 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2018-04-04 11:37:34 +0200 |
commit | 84b40b40ad9b95b4680766597c866b604147144c (patch) | |
tree | 2cc7a09e7e737744d42970300b03befb5a9b7cd1 | |
parent | 7fb96a10b31953cde698326a61e963ba9df1dc1f (diff) |
efi_loader: save image relocation address and size
For analyzing crash output the relocation address and size are needed.
Save them in the loaded image info.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
-rw-r--r-- | include/efi_api.h | 2 | ||||
-rw-r--r-- | lib/efi_loader/efi_image_loader.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/include/efi_api.h b/include/efi_api.h index d9a69dbc00..2be470b237 100644 --- a/include/efi_api.h +++ b/include/efi_api.h @@ -331,6 +331,8 @@ struct efi_loaded_image { /* Below are efi loader private fields */ #ifdef CONFIG_EFI_LOADER + void *reloc_base; + aligned_u64 reloc_size; efi_status_t exit_status; struct jmp_buf_data exit_jmp; #endif diff --git a/lib/efi_loader/efi_image_loader.c b/lib/efi_loader/efi_image_loader.c index cac64ba9fe..701387b95f 100644 --- a/lib/efi_loader/efi_image_loader.c +++ b/lib/efi_loader/efi_image_loader.c @@ -221,6 +221,8 @@ void *efi_load_pe(void *efi, struct efi_loaded_image *loaded_image_info) /* Populate the loaded image interface bits */ loaded_image_info->image_base = efi; loaded_image_info->image_size = image_size; + loaded_image_info->reloc_base = efi_reloc; + loaded_image_info->reloc_size = virt_size; return entry; } |