]> git.proxmox.com Git - mirror_edk2.git/commit
BaseTools: Enhance call stack unwindability for CLANGPDB x64 binary
authorSteven <steven.shi@intel.com>
Fri, 7 Feb 2020 04:02:19 +0000 (12:02 +0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Fri, 7 Feb 2020 05:38:39 +0000 (05:38 +0000)
commit77b738b36f5f19b33a77ff74ce822c9c5a050876
treef4746cc2e4a2a8009184837d58a768dba8951058
parentb5808fe960cf07325f6a621c2e8c1f655c65cd64
BaseTools: Enhance call stack unwindability for CLANGPDB x64 binary

BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2487

The call stack unwindability of the COFF X64 binary requires
the binary to remain the pdata and xdata sections.
Details see the MSVC X64 calling convertion doc in below link:
https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention

Current build options discard or zero the data in pdata and xdata
sections which cause the debugger cannot correctly unwind the
X64 binary call stack in the runtime.
Enhance the build options to force emit the unwind tables and
keep the data of pdata and xdata sections correct in the binary.

Signed-off-by: Steven Shi <steven.shi@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Bob Feng <bob.c.feng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
BaseTools/Conf/tools_def.template