From 7185bdd88302a67618b2edf51c499d647e5ff492 Mon Sep 17 00:00:00 2001 From: Kai Nacke Date: Sun, 15 Sep 2013 17:46:46 +0000 Subject: 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 --- test/tools/llvm-objdump/win64-unwind-data.s | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'test/tools') diff --git a/test/tools/llvm-objdump/win64-unwind-data.s b/test/tools/llvm-objdump/win64-unwind-data.s index a172bfca6b..f8463fb062 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 -- cgit v1.2.3