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)
commit2a933a65491ff9958a1e13e0dbc4596436967a95
tree9645452533c8119229c0bf31728f7b0a9a044d8a
parent66bfdb8354ccb24ded9ecee0ac80aa7c103c2fa4
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.

llvm-svn: 185759
llvm/lib/MC/MCWin64EH.cpp
llvm/test/MC/COFF/seh.s
llvm/test/tools/llvm-objdump/win64-unwind-data.s