efi: arm64: Add vmlinux debug link to the Image binary
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Thu, 2 Feb 2017 17:33:19 +0000 (17:33 +0000)
committerWill Deacon <will.deacon@arm.com>
Fri, 3 Feb 2017 15:22:37 +0000 (15:22 +0000)
commit757b435aaabe5e76fc8c85f767061c70a98c0218
treee1643fb64a908e081762ea6094258eeee8cd5ea7
parent965861d66fad6ce07bd5c5ecbe6514bc50b8fc11
efi: arm64: Add vmlinux debug link to the Image binary

When building with debugging symbols, take the absolute path to the
vmlinux binary and add it to the special PE/COFF debug table entry.
This allows a debug EFI build to find the vmlinux binary, which is
very helpful in debugging, given that the offset where the Image is
first loaded by EFI is highly unpredictable.

On implementations of UEFI that choose to implement it, this
information is exposed via the EFI debug support table, which is a UEFI
configuration table that is accessible both by the firmware at boot time
and by the OS at runtime, and lists all PE/COFF images loaded by the
system.

The format of the NB10 Codeview entry is based on the definition used
by EDK2, which is our primary reference when it comes to the use of
PE/COFF in the context of UEFI firmware.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
[will: use realpath instead of shell invocation, as discussed on list]
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/Kconfig.debug
arch/arm64/kernel/Makefile
arch/arm64/kernel/head.S