diff options
author | Kai Nacke <kai.nacke@redstar.de> | 2013-09-15 17:46:46 +0000 |
---|---|---|
committer | Kai Nacke <kai.nacke@redstar.de> | 2013-09-15 17:46:46 +0000 |
commit | 7185bdd88302a67618b2edf51c499d647e5ff492 (patch) | |
tree | 632edb0e5efbff00ac26a421aa166e84665ce0ae /test/tools | |
parent | 19b59e66afa8d19c35444e0a739b467d368725d3 (diff) | |
download | external_llvm-7185bdd88302a67618b2edf51c499d647e5ff492.zip external_llvm-7185bdd88302a67618b2edf51c499d647e5ff492.tar.gz external_llvm-7185bdd88302a67618b2edf51c499d647e5ff492.tar.bz2 |
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
Diffstat (limited to 'test/tools')
-rw-r--r-- | test/tools/llvm-objdump/win64-unwind-data.s | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/test/tools/llvm-objdump/win64-unwind-data.s b/test/tools/llvm-objdump/win64-unwind-data.s index a172bfc..f8463fb 100644 --- a/test/tools/llvm-objdump/win64-unwind-data.s +++ b/test/tools/llvm-objdump/win64-unwind-data.s @@ -3,8 +3,8 @@ // CHECK: Unwind info: // CHECK: Function Table: -// CHECK-NEXT: Start Address: .text -// CHECK-NEXT: End Address: .text + 0x001b +// CHECK-NEXT: Start Address: func +// CHECK-NEXT: End Address: func + 0x001b // CHECK-NEXT: Unwind Info Address: .xdata // CHECK-NEXT: Version: 1 // CHECK-NEXT: Flags: 1 UNW_ExceptionHandler @@ -20,8 +20,8 @@ // CHECK-NEXT: 0x04: UOP_AllocSmall 24 // CHECK-NEXT: 0x00: UOP_PushMachFrame w/o error code // CHECK: Function Table: -// CHECK-NEXT: Start Address: .text + 0x0012 -// CHECK-NEXT: End Address: .text + 0x0012 +// CHECK-NEXT: Start Address: func + 0x0012 +// CHECK-NEXT: End Address: func + 0x0012 // CHECK-NEXT: Unwind Info Address: .xdata + 0x001c // CHECK-NEXT: Version: 1 // CHECK-NEXT: Flags: 4 UNW_ChainInfo @@ -29,8 +29,8 @@ // CHECK-NEXT: Number of Codes: 0 // CHECK-NEXT: No frame pointer used // CHECK: Function Table: -// CHECK-NEXT: Start Address: .text + 0x001b -// CHECK-NEXT: End Address: .text + 0x001c +// CHECK-NEXT: Start Address: smallFunc +// CHECK-NEXT: End Address: smallFunc + 0x0001 // CHECK-NEXT: Unwind Info Address: .xdata + 0x002c // CHECK-NEXT: Version: 1 // CHECK-NEXT: Flags: 0 @@ -38,8 +38,8 @@ // CHECK-NEXT: Number of Codes: 0 // CHECK-NEXT: No frame pointer used // CHECK: Function Table: -// CHECK-NEXT: Start Address: .text + 0x001c -// CHECK-NEXT: End Address: .text + 0x0039 +// CHECK-NEXT: Start Address: allocFunc +// CHECK-NEXT: End Address: allocFunc + 0x001d // CHECK-NEXT: Unwind Info Address: .xdata + 0x0034 // CHECK-NEXT: Version: 1 // CHECK-NEXT: Flags: 0 @@ -90,9 +90,9 @@ smallFunc: .seh_endproc // Function with big stack allocation. - .globl smallFunc + .globl allocFunc .def allocFunc; .scl 2; .type 32; .endef - .seh_proc smallFunc + .seh_proc allocFunc allocFunc: .seh_pushframe @code subq $65520, %rsp |