.eh_frame section should probably have type @unwind

(i.e., SHT_X86_64_UNWIND) rather than @progbits (i.e., SHT_PROGBITS).
Discussion at <https://groups.google.com/forum/#!topic/x86-64-abi/uVATLOU5PQA>
"SHT_X86_64_UNWIND" sounds like both @unwind and @progbits are used in practice,
but Clang/LLVM now started to fail with

> /home/sbergman/lo/core/bridges/source/cpp_uno/gcc3_linux_x86-64/call.s:79:2: error: changed section type for .eh_frame, expected: 0x70000001
>  .section .eh_frame,"a",@progbits
>  ^

after <https://github.com/llvm/llvm-project/commit/
75af9da755721123e62b45cd0bc0c5e688a9722a> "[MC][ELF] Error for sh_type, sh_flags
or sh_entsize change".

Change-Id: I07cae987f7449c526a7130beee7a71d01afc457e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89305
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
This commit is contained in:
Stephan Bergmann 2020-02-23 19:02:45 +01:00
parent abf44a9ddd
commit b5b4f3153f

View file

@ -76,7 +76,7 @@ privateSnippetExecutor:
# see http://refspecs.linuxfoundation.org/LSB_3.0.0/LSB-Core-generic/LSB-Core-generic/ehframechpt.html
# for details of the .eh_frame, the "Common Information Entry" and "Frame Description Entry" formats
# and http://mentorembedded.github.io/cxx-abi/exceptions.pdf for more info
.section .eh_frame,"a",@progbits
.section .eh_frame,"a",@unwind
.Lframe1:
.long .LECIE1-.LSCIE1
.LSCIE1: