mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
x86: add support for crash dump analysis with xen.efi
Today it is not possible to analyse crash dumps of a system in hypervisor mode when it had been booted via EFI, as the crash utility doesn't understand the file format of xen.efi. This can easily be solved by creating an ELF file from xen.efi via objcopy. Using that file as name list for crash enables the user to analyse the dump in hypervisor mode. Note that crash isn't happy with a file containing no text and data, so using --only-keep-debug is not an option. Signed-off-by: Juergen Gross <jgross@suse.com> Reviewed-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
1 parent
7c3e99b642
commit
f514bab30e
2 files changed
+10
-4
No files matched your search
+7
-4
@@ -502,9 +502,11 @@ _install: $(TARGET)$(CONFIG_XEN_INSTALL_SUFFIX)
|
||||
if [ -r $(TARGET).efi -a -n '$(EFI_DIR)' ]; then \
|
||||
[ -d $(D)$(EFI_DIR) ] || $(INSTALL_DIR) $(D)$(EFI_DIR); \
|
||||
$(INSTALL_DATA) $(TARGET).efi $(D)$(EFI_DIR)/$(T)-$(XEN_FULLVERSION).efi; \
|
||||
if [ -e $(TARGET).efi.map ]; then \
|
||||
$(INSTALL_DATA) $(TARGET).efi.map $(D)$(DEBUG_DIR)/$(T)-$(XEN_FULLVERSION).efi.map; \
|
||||
fi; \
|
||||
for x in map elf; do \
|
||||
if [ -e $(TARGET).efi.$$x ]; then \
|
||||
$(INSTALL_DATA) $(TARGET).efi.$$x $(D)$(DEBUG_DIR)/$(T)-$(XEN_FULLVERSION).efi.$$x; \
|
||||
fi; \
|
||||
done; \
|
||||
ln -sf $(T)-$(XEN_FULLVERSION).efi $(D)$(EFI_DIR)/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION).efi; \
|
||||
ln -sf $(T)-$(XEN_FULLVERSION).efi $(D)$(EFI_DIR)/$(T)-$(XEN_VERSION).efi; \
|
||||
ln -sf $(T)-$(XEN_FULLVERSION).efi $(D)$(EFI_DIR)/$(T).efi; \
|
||||
@@ -539,6 +541,7 @@ _uninstall:
|
||||
rm -f $(D)$(DEBUG_DIR)/$(T)-syms-$(XEN_FULLVERSION).map
|
||||
rm -f $(D)$(EFI_DIR)/$(T)-$(XEN_FULLVERSION).efi
|
||||
rm -f $(D)$(EFI_DIR)/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION).efi
|
||||
rm -f $(D)$(DEBUG_DIR)/$(T)-$(XEN_FULLVERSION).efi.elf
|
||||
rm -f $(D)$(DEBUG_DIR)/$(T)-$(XEN_FULLVERSION).efi.map
|
||||
rm -f $(D)$(EFI_DIR)/$(T)-$(XEN_VERSION).efi
|
||||
rm -f $(D)$(EFI_DIR)/$(T).efi
|
||||
@@ -569,7 +572,7 @@ _clean:
|
||||
-o -name '*.lex.c' -o -name '*.tab.[ch]' -o -name "*.gcno" \
|
||||
-o -name ".*.cmd" -o -name "lib.a" \) -exec rm -f {} \;
|
||||
rm -f include/asm $(TARGET) $(TARGET).gz $(TARGET)-syms $(TARGET)-syms.map
|
||||
rm -f $(TARGET).efi $(TARGET).efi.map $(TARGET).efi.stripped
|
||||
rm -f $(TARGET).efi $(TARGET).efi.map $(TARGET).efi.elf $(TARGET).efi.stripped
|
||||
rm -f asm-offsets.s arch/*/include/asm/asm-offsets.h
|
||||
rm -f .banner .allconfig.tmp include/xen/compile.h
|
||||
|
||||
|
||||
@@ -226,6 +226,9 @@ endif
|
||||
$(@D)/.$(@F).1r.o $(@D)/.$(@F).1s.o $(orphan-handling-y) $(note_file_option) -o $@
|
||||
$(NM) -pa --format=sysv $(@D)/$(@F) \
|
||||
| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort >$(@D)/$(@F).map
|
||||
ifeq ($(CONFIG_DEBUG_INFO),y)
|
||||
$(if $(filter --strip-debug,$(EFI_LDFLAGS)),:$(space))$(OBJCOPY) -O elf64-x86-64 $@ $@.elf
|
||||
endif
|
||||
rm -f $(@D)/.$(@F).[0-9]* $(@D)/..$(@F).[0-9]*
|
||||
ifeq ($(CONFIG_XEN_IBT),y)
|
||||
$(SHELL) $(srctree)/tools/check-endbr.sh $@
|
||||
|
||||