diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2017-05-02 15:45:31 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2017-05-02 15:45:31 +0000 |
commit | a8a1a4fc3006dfcac8c15d17ab978286c122462f (patch) | |
tree | 9eb1eba8808bf0a8bc33f66979192dc27a8f4343 /llvm/lib/DebugInfo/PDB/Native | |
parent | a302a736ec350867ce5304ace421c290dcce8504 (diff) | |
download | bcm5719-llvm-a8a1a4fc3006dfcac8c15d17ab978286c122462f.tar.gz bcm5719-llvm-a8a1a4fc3006dfcac8c15d17ab978286c122462f.zip |
Avoid empty .eh_frame sections.
Strip on OpenBSD does not correctly handle an empty .eh_frame section
and produces broken binaries in that case. Currently lld creates such
an empty .eh_frame section, despite the fact that the OpenBSD crtend.o
explicitly inserts a terminator. The Linux LSB "standard":
https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/ehframechpt.html#EHFRAME
explicitly says that
The .eh_frame section shall contain 1 or more Call Frame Information (CFI) records.
This diff includes a test that specifically tests the issue I'm seeing
on OpenBSD.
Patch by Mark Kettenis!
llvm-svn: 301931
Diffstat (limited to 'llvm/lib/DebugInfo/PDB/Native')
0 files changed, 0 insertions, 0 deletions