[llvm-branch-commits] [llvm-branch] r331714 - Merging r328400:

Tom Stellard via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Mon May 7 19:41:18 PDT 2018


Author: tstellar
Date: Mon May  7 19:41:18 2018
New Revision: 331714

URL: http://llvm.org/viewvc/llvm-project?rev=331714&view=rev
Log:
Merging r328400:

------------------------------------------------------------------------
r328400 | echristo | 2018-03-23 17:07:38 -0700 (Fri, 23 Mar 2018) | 6 lines

Allow FDE references outside the +/-2GB range supported by PC relative
offsets for code models other than small/medium. For JIT application,
memory layout is less controlled and can result in truncations
otherwise.

Patch based on one by Olexa Bilaniuk!
------------------------------------------------------------------------

Modified:
    llvm/branches/release_60/lib/MC/MCObjectFileInfo.cpp
    llvm/branches/release_60/test/MC/ELF/cfi-large-model.s

Modified: llvm/branches/release_60/lib/MC/MCObjectFileInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_60/lib/MC/MCObjectFileInfo.cpp?rev=331714&r1=331713&r2=331714&view=diff
==============================================================================
--- llvm/branches/release_60/lib/MC/MCObjectFileInfo.cpp (original)
+++ llvm/branches/release_60/lib/MC/MCObjectFileInfo.cpp Mon May  7 19:41:18 2018
@@ -289,6 +289,8 @@ void MCObjectFileInfo::initELFMCObjectFi
   case Triple::mips64el:
     FDECFIEncoding = dwarf::DW_EH_PE_sdata8;
     break;
+  case Triple::ppc64:
+  case Triple::ppc64le:
   case Triple::x86_64:
     FDECFIEncoding = dwarf::DW_EH_PE_pcrel |
                      (Large ? dwarf::DW_EH_PE_sdata8 : dwarf::DW_EH_PE_sdata4);

Modified: llvm/branches/release_60/test/MC/ELF/cfi-large-model.s
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_60/test/MC/ELF/cfi-large-model.s?rev=331714&r1=331713&r2=331714&view=diff
==============================================================================
--- llvm/branches/release_60/test/MC/ELF/cfi-large-model.s (original)
+++ llvm/branches/release_60/test/MC/ELF/cfi-large-model.s Mon May  7 19:41:18 2018
@@ -1,26 +1,49 @@
 // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu -large-code-model %s \
-// RUN:   -o - | llvm-readobj -s -sd | FileCheck %s
+// RUN:   -o - | llvm-readobj -s -sd | FileCheck --check-prefix=CHECK-X86 %s
+// RUN: llvm-mc -filetype=obj -triple powerpc64le-linux-gnu -large-code-model %s \
+// RUN:   -o - | llvm-readobj -s -sd | FileCheck --check-prefix=CHECK-PPC %s
 
-// CHECK:      Section {
-// CHECK:        Index: 
-// CHECK:        Name: .eh_frame
-// CHECK-NEXT:   Type: SHT_X86_64_UNWIND
-// CHECK-NEXT:   Flags [
-// CHECK-NEXT:     SHF_ALLOC
-// CHECK-NEXT:   ]
-// CHECK-NEXT:   Address: 0x0
-// CHECK-NEXT:   Offset: 0x40
-// CHECK-NEXT:   Size: 56
-// CHECK-NEXT:   Link: 0
-// CHECK-NEXT:   Info: 0
-// CHECK-NEXT:   AddressAlignment: 8
-// CHECK-NEXT:   EntrySize: 0
-// CHECK-NEXT:   SectionData (
-// CHECK-NEXT:     0000: 14000000 00000000 017A5200 01781001  |.........zR..x..|
-// CHECK-NEXT:     0010: 1C0C0708 90010000 1C000000 1C000000  |................|
-// CHECK-NEXT:     0020: 00000000 00000000 00000000 00000000  |................|
-// CHECK-NEXT:     0030: 00000000 00000000                    |........|
-// CHECK-NEXT:   )
+// CHECK-X86:      Section {
+// CHECK-X86:        Index:
+// CHECK-X86:        Name: .eh_frame
+// CHECK-X86-NEXT:   Type: SHT_X86_64_UNWIND
+// CHECK-X86-NEXT:   Flags [
+// CHECK-X86-NEXT:     SHF_ALLOC
+// CHECK-X86-NEXT:   ]
+// CHECK-X86-NEXT:   Address: 0x0
+// CHECK-X86-NEXT:   Offset: 0x40
+// CHECK-X86-NEXT:   Size: 56
+// CHECK-X86-NEXT:   Link: 0
+// CHECK-X86-NEXT:   Info: 0
+// CHECK-X86-NEXT:   AddressAlignment: 8
+// CHECK-X86-NEXT:   EntrySize: 0
+// CHECK-X86-NEXT:   SectionData (
+// CHECK-X86-NEXT:     0000: 14000000 00000000 017A5200 01781001  |.........zR..x..|
+// CHECK-X86-NEXT:     0010: 1C0C0708 90010000 1C000000 1C000000  |................|
+// CHECK-X86-NEXT:     0020: 00000000 00000000 00000000 00000000  |................|
+// CHECK-X86-NEXT:     0030: 00000000 00000000                    |........|
+// CHECK-X86-NEXT:   )
+
+// CHECK-PPC: Section {
+// CHECK-PPC:  Index:
+// CHECK-PPC:  Name: .eh_frame
+// CHECK-PPC-NEXT:   Type: SHT_PROGBITS
+// CHECK-PPC-NEXT:   Flags [
+// CHECK-PPC-NEXT:     SHF_ALLOC
+// CHECK-PPC-NEXT:   ]
+// CHECK-PPC-NEXT:   Address: 0x0
+// CHECK-PPC-NEXT:   Offset: 0x40
+// CHECK-PPC-NEXT:   Size: 48
+// CHECK-PPC-NEXT:   Link: 0
+// CHECK-PPC-NEXT:   Info: 0
+// CHECK-PPC-NEXT:   AddressAlignment: 8
+// CHECK-PPC-NEXT:   EntrySize: 0
+// CHECK-PPC-NEXT:   SectionData (
+// CHECK-PPC-NEXT:     0000: 10000000 00000000 017A5200 04784101  |.........zR..xA.|
+// CHECK-PPC-NEXT:     0010: 1C0C0100 18000000 18000000 00000000  |................|
+// CHECK-PPC-NEXT:     0020: 00000000 00000000 00000000 00000000  |................|
+// CHECK-PPC-NEXT:   )
+// CHECK-PPC-NEXT: }
 
 f:
     .cfi_startproc




More information about the llvm-branch-commits mailing list