Generate IMAGE_REL_AMD64_ADDR32NB relocations for SEH
authorKai Nacke <kai.nacke@redstar.de>
Sat, 6 Jul 2013 17:16:12 +0000 (17:16 +0000)
committerKai Nacke <kai.nacke@redstar.de>
Sat, 6 Jul 2013 17:16:12 +0000 (17:16 +0000)
commiteececbc7d3d420a27f9e1f9e11cce1b9bbff953f
tree05254ca1077ea0517b410f38a3f9aac4d87c57e1
parentea434e4bca15383418ac65788fdb8bc3b5725fe2
Generate IMAGE_REL_AMD64_ADDR32NB relocations for SEH
 data structures.

The Win64 EH data structures must be of type IMAGE_REL_AMD64_ADDR32NB
instead of IMAGE_REL_AMD64_ADDR32. This is easiely achieved by adding
the VK_COFF_IMGREL32 modifier to the symbol reference.
Change also references to start and end of the SEH range of a function
as offsets to start of the function.

Reviewed by Charles Davis and Nico Rieck.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185759 91177308-0d34-0410-b5e6-96231b3b80d8
lib/MC/MCWin64EH.cpp
test/MC/COFF/seh.s
test/tools/llvm-objdump/win64-unwind-data.s