Acidanthera UEFI Development Kit based on EDK II edk2-stable202311
Go to file
Ard Biesheuvel 26ecc55c02 BaseTools IA32/X64: prevent .eh_frame sections from being generated
After the recent GNU linker script changes, the following warning is
emitted many times during the OVMF build:

BFD: <...>: warning: Empty loadable segment detected, is this intentional ?

This is caused by the fact that, now that the section layout has changed
somewhat, the .eh_frame section is assigned an ELF segment of its own,
which ends up with no contents at all after we strip the .eh_frame
section from the output. (Note that the program headers that contain the
segment information are completely irrelevant to us since the PE/COFF
conversion does not rely on them.)

Since we only retain the .eh_frame data for external debugging, and not
for things like stack unwinding or generating backtraces at runtime, we
can remedy the situation by passing -fno-asynchronous-unwind-tables on
the GCC command line. This option instructs the compiler to emit the
unwind data into a debug section called .debug_frame instead of into
.eh_frame.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Build-tested-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18217 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-13 06:02:00 +00:00
AppPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
ArmPkg ArmPkg/GenericWatchdogDxe: add missing VOID* cast 2015-08-10 07:54:47 +00:00
ArmPlatformPkg ArmPlatformPkg: remove mention of ARMGCC and ARMLINUXGCC 2015-08-12 05:25:26 +00:00
ArmVirtPkg ArmVirtPkg: use global section alignment in custom linker script 2015-08-11 12:32:45 +00:00
BaseTools BaseTools IA32/X64: prevent .eh_frame sections from being generated 2015-08-13 06:02:00 +00:00
BeagleBoardPkg BeagleBoardPkg: remove outdated build scripts and instructions 2015-08-12 05:25:41 +00:00
Conf EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
CorebootModulePkg CorebootModulePkg: Get power management register addresses. 2015-07-01 09:41:58 +00:00
CorebootPayloadPkg CorebootPayloadPkgIa32: Don't specify X64 architecture 2015-07-27 06:43:29 +00:00
CryptoPkg CryptoPkg: remove redundant parentheses 2015-07-14 02:57:38 +00:00
DuetPkg DuetPkg: Use the new PCDs defined in MdePkg. 2015-05-06 03:26:49 +00:00
EdkCompatibilityPkg EdkCompatibilityPkg: Remove gZeroGuid def in FrameworkHiiOnUefiHiiThunk 2015-07-07 03:05:18 +00:00
EdkShellBinPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EdkShellPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EmbeddedPkg EmbeddedPkg: remove mention of ARMGCC 2015-08-12 05:25:19 +00:00
EmulatorPkg EmulatorPkg: Update comment for PcdDefaultTerminalType 2015-07-16 08:50:15 +00:00
FatBinPkg FatBinPkg: Update ARM and AArch64 binaries 2015-02-27 17:27:42 +00:00
IntelFrameworkModulePkg IntelFrameworkModulePkg:Refine the code in LegacyBootMaintUiLib 2015-08-13 00:56:09 +00:00
IntelFrameworkPkg IntelFrameworkPkg FrameworkUefiLib: Fix wrong DestMax passed to StrCpyS() 2015-08-05 02:55:05 +00:00
IntelFspPkg IntelFspPkg: Remove the const condition if statement to refine the code. 2015-08-03 02:59:55 +00:00
IntelFspWrapperPkg FspNotifyDxe need handle >4G memory. 2015-07-28 07:26:57 +00:00
MdeModulePkg MdeModulePkg: Refine the code in UiApp 2015-08-13 00:58:56 +00:00
MdePkg MdePkg UefiLib: Fix wrong DestMax passed to StrCpyS() 2015-08-05 02:55:40 +00:00
NetworkPkg NetworkPkg: Change the macro name to fit coding style 2015-08-11 01:11:29 +00:00
Nt32Pkg Nt32Pkg: Platform BDS should test the untested memory 2015-08-06 08:39:30 +00:00
Omap35xxPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
OptionRomPkg OptionRomPkg: Remove redundant included header file defintion in Ax88772.h and Ax88772b.h files 2015-07-08 02:56:54 +00:00
OvmfPkg OvmfPkg/Xen: use lower case x in hex immediate value 2015-08-11 12:32:53 +00:00
PcAtChipsetPkg PcAtChipsetPkg/PciHostBridgeDxe/PciRootBridgeIo.c: rewrap code, strip trailing ws 2015-07-14 12:01:30 +00:00
PerformancePkg PerformancePkg Dp_App: Fix ASSERT in GetNameFromHandle 2015-07-13 01:24:44 +00:00
SecurityPkg SecurityPkg: Update coding style 2015-08-06 08:17:54 +00:00
ShellBinPkg ShellBinPkg: Ia32/X64 Shell binary update. 2015-08-07 06:25:28 +00:00
ShellPkg ShellPkg: Add function comments and refine code format to follow EDKII coding style. 2015-08-07 05:42:02 +00:00
SourceLevelDebugPkg SourceLevelDebugPkg: Add missing PCD usage information in UNI files. 2015-07-28 01:52:33 +00:00
StdLib StdLib: remove mention of ARMGCC 2015-08-12 05:25:12 +00:00
StdLibPrivateInternalFiles */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
UefiCpuPkg UefiCpuPkg CpuDxe: Sync up the settings of Execute Disable to APs 2015-08-08 00:00:36 +00:00
UnixPkg UnixPkg: Remove UnixPkg files (It is replaced by EmulatorPkg) 2013-07-29 21:09:55 +00:00
Vlv2DeviceRefCodePkg Vlv2TbltDevicePkg: Sync the branch changes to trunk. 2015-08-05 07:26:45 +00:00
Vlv2TbltDevicePkg Vlv2TbltDevicePkg: Sync the branch changes to trunk. 2015-08-04 02:55:02 +00:00
.gitignore EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
BuildNotes2.txt Update to new SVN URL in readme.txt 2013-06-08 05:26:39 +00:00
Edk2Setup.bat Edk2: Update Edk2Setup.bat 2015-06-16 07:23:45 +00:00
Maintainers.txt Maintainers.txt: Add Daryl's new email address 2015-07-26 08:06:05 +00:00
edksetup.bat Update edksetup.bat to support Microsoft Visual Studio 2013 when building the Nt32Pkg emulation platform (enabled using the --nt32 flag). 2014-10-30 17:09:25 +00:00
edksetup.sh edksetup.sh: Ensure that WORKSPACE points to the top of an edk2 checkout 2014-07-28 17:37:40 +00:00