Generate IMAGE_REL_AMD64_ADDR32NB relocations for SEH
authorKai Nacke <kai.nacke@redstar.de>
Sun, 15 Sep 2013 17:46:46 +0000 (17:46 +0000)
committerKai Nacke <kai.nacke@redstar.de>
Sun, 15 Sep 2013 17:46:46 +0000 (17:46 +0000)
commit7185bdd88302a67618b2edf51c499d647e5ff492
tree632edb0e5efbff00ac26a421aa166e84665ce0ae
parent19b59e66afa8d19c35444e0a739b467d368725d3
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 Jim Grosbach, Charles Davis and Nico Rieck.

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