Title: [176546] trunk/Tools
Revision
176546
Author
[email protected]
Date
2014-11-26 00:08:17 -0800 (Wed, 26 Nov 2014)

Log Message

[EFL][GTK] Bump up FDE relocation fixing patch to version accepted to LLVM trunk.
https://bugs.webkit.org/show_bug.cgi?id=139047

Patch by Akos Kiss <[email protected]> on 2014-11-26
Reviewed by Carlos Garcia Campos.

* efl/jhbuild.modules:
* efl/patches/llvm-elf-allow-fde-references-outside-the-2gb-range.patch: Added.
* efl/patches/llvm-elf-fix-x86_64-fdecfiencoding.patch: Removed.
* gtk/jhbuild-optional.modules:
* gtk/patches/llvm-elf-allow-fde-references-outside-the-2gb-range.patch: Added.
* gtk/patches/llvm-elf-fix-x86_64-fdecfiencoding.patch: Removed.

Modified Paths

Added Paths

Removed Paths

Diff

Modified: trunk/Tools/ChangeLog (176545 => 176546)


--- trunk/Tools/ChangeLog	2014-11-26 00:27:52 UTC (rev 176545)
+++ trunk/Tools/ChangeLog	2014-11-26 08:08:17 UTC (rev 176546)
@@ -1,3 +1,17 @@
+2014-11-26  Akos Kiss  <[email protected]>
+
+        [EFL][GTK] Bump up FDE relocation fixing patch to version accepted to LLVM trunk.
+        https://bugs.webkit.org/show_bug.cgi?id=139047
+
+        Reviewed by Carlos Garcia Campos.
+
+        * efl/jhbuild.modules:
+        * efl/patches/llvm-elf-allow-fde-references-outside-the-2gb-range.patch: Added.
+        * efl/patches/llvm-elf-fix-x86_64-fdecfiencoding.patch: Removed.
+        * gtk/jhbuild-optional.modules:
+        * gtk/patches/llvm-elf-allow-fde-references-outside-the-2gb-range.patch: Added.
+        * gtk/patches/llvm-elf-fix-x86_64-fdecfiencoding.patch: Removed.
+
 2014-11-25  Tanay C  <[email protected]>
 
         [GTK] Minibrowser: Add support for zoom using Control Key + Mouse scroll

Modified: trunk/Tools/efl/jhbuild.modules (176545 => 176546)


--- trunk/Tools/efl/jhbuild.modules	2014-11-26 00:27:52 UTC (rev 176545)
+++ trunk/Tools/efl/jhbuild.modules	2014-11-26 08:08:17 UTC (rev 176546)
@@ -142,7 +142,7 @@
     <branch repo="llvm-tar"
             module="/releases/3.5.0/llvm-3.5.0.src.tar.xz" version="3.5.0" checkoutdir="llvm"
             hash="sha256:28e199f368ef0a4666708f31c7991ad3bcc3a578342b0306526dd35f07595c03">
-      <patch file="llvm-elf-fix-x86_64-fdecfiencoding.patch" strip="1"/>
+      <patch file="llvm-elf-allow-fde-references-outside-the-2gb-range.patch" strip="1"/>
       <patch file="llvm-elf-add-stackmaps.patch" strip="1"/>
     </branch>
   </autotools>

Added: trunk/Tools/efl/patches/llvm-elf-allow-fde-references-outside-the-2gb-range.patch (0 => 176546)


--- trunk/Tools/efl/patches/llvm-elf-allow-fde-references-outside-the-2gb-range.patch	                        (rev 0)
+++ trunk/Tools/efl/patches/llvm-elf-allow-fde-references-outside-the-2gb-range.patch	2014-11-26 08:08:17 UTC (rev 176546)
@@ -0,0 +1,281 @@
+commit 21bcdeb1d65b4be0d716693f3dcabd2e8a7c6386
+Author: Joerg Sonnenberger <[email protected]>
+Date:   Tue Nov 25 13:37:55 2014 +0000
+
+    Reapply 222538 and update tests to explicitly request small code model
+    and PIC:
+    
+    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 from Akos Kiss.
+    
+    Differential Revision: http://reviews.llvm.org/D6079
+    
+    
+    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222760 91177308-0d34-0410-b5e6-96231b3b80d8
+
+diff --git a/lib/MC/MCObjectFileInfo.cpp b/lib/MC/MCObjectFileInfo.cpp
+index 7886ab6..96929e5 100644
+--- a/lib/MC/MCObjectFileInfo.cpp
++++ b/lib/MC/MCObjectFileInfo.cpp
+@@ -273,6 +273,17 @@ void MCObjectFileInfo::InitELFMCObjectFileInfo(Triple T) {
+   case Triple::mips64el:
+     FDECFIEncoding = dwarf::DW_EH_PE_sdata8;
+     break;
++  case Triple::x86_64:
++    if (RelocM == Reloc::PIC_) {
++      FDECFIEncoding = dwarf::DW_EH_PE_pcrel |
++        ((CMModel == CodeModel::Small || CMModel == CodeModel::Medium)
++         ? dwarf::DW_EH_PE_sdata4 : dwarf::DW_EH_PE_sdata8);
++    } else {
++      FDECFIEncoding =
++        (CMModel == CodeModel::Small || CMModel == CodeModel::Medium)
++        ? dwarf::DW_EH_PE_udata4 : dwarf::DW_EH_PE_absptr;
++    }
++    break;
+   default:
+     FDECFIEncoding = dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4;
+     break;
+diff --git a/test/MC/ELF/cfi-adjust-cfa-offset.s b/test/MC/ELF/cfi-adjust-cfa-offset.s
+index 9d639f7..f31a6b0 100644
+--- a/test/MC/ELF/cfi-adjust-cfa-offset.s
++++ b/test/MC/ELF/cfi-adjust-cfa-offset.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f:
+ 	.cfi_startproc
+diff --git a/test/MC/ELF/cfi-advance-loc2.s b/test/MC/ELF/cfi-advance-loc2.s
+index 98caa018..c11ccaf 100644
+--- a/test/MC/ELF/cfi-advance-loc2.s
++++ b/test/MC/ELF/cfi-advance-loc2.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ // test that this produces a correctly encoded cfi_advance_loc2
+ 
+diff --git a/test/MC/ELF/cfi-def-cfa-offset.s b/test/MC/ELF/cfi-def-cfa-offset.s
+index 59f7400..93158ce 100644
+--- a/test/MC/ELF/cfi-def-cfa-offset.s
++++ b/test/MC/ELF/cfi-def-cfa-offset.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f:
+ 	.cfi_startproc
+diff --git a/test/MC/ELF/cfi-def-cfa-register.s b/test/MC/ELF/cfi-def-cfa-register.s
+index 178ba32..8c55053 100644
+--- a/test/MC/ELF/cfi-def-cfa-register.s
++++ b/test/MC/ELF/cfi-def-cfa-register.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f:
+ 	.cfi_startproc
+diff --git a/test/MC/ELF/cfi-def-cfa.s b/test/MC/ELF/cfi-def-cfa.s
+index dfb0d4b..f0b4934 100644
+--- a/test/MC/ELF/cfi-def-cfa.s
++++ b/test/MC/ELF/cfi-def-cfa.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f:
+ 	.cfi_startproc
+diff --git a/test/MC/ELF/cfi-escape.s b/test/MC/ELF/cfi-escape.s
+index 5394ee4..3b76746 100644
+--- a/test/MC/ELF/cfi-escape.s
++++ b/test/MC/ELF/cfi-escape.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f:
+ 	.cfi_startproc
+diff --git a/test/MC/ELF/cfi-offset.s b/test/MC/ELF/cfi-offset.s
+index a65b4fc..02f31ba 100644
+--- a/test/MC/ELF/cfi-offset.s
++++ b/test/MC/ELF/cfi-offset.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f:
+ 	.cfi_startproc
+diff --git a/test/MC/ELF/cfi-register.s b/test/MC/ELF/cfi-register.s
+index 9441770..3433bef 100644
+--- a/test/MC/ELF/cfi-register.s
++++ b/test/MC/ELF/cfi-register.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f:
+ 	.cfi_startproc
+diff --git a/test/MC/ELF/cfi-rel-offset.s b/test/MC/ELF/cfi-rel-offset.s
+index 0dc69c8..f51b2d3 100644
+--- a/test/MC/ELF/cfi-rel-offset.s
++++ b/test/MC/ELF/cfi-rel-offset.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f:
+ 	.cfi_startproc
+diff --git a/test/MC/ELF/cfi-rel-offset2.s b/test/MC/ELF/cfi-rel-offset2.s
+index 360e7b0..0ce8d03 100644
+--- a/test/MC/ELF/cfi-rel-offset2.s
++++ b/test/MC/ELF/cfi-rel-offset2.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f:
+ 	.cfi_startproc
+diff --git a/test/MC/ELF/cfi-remember.s b/test/MC/ELF/cfi-remember.s
+index 3a38948..c98695a 100644
+--- a/test/MC/ELF/cfi-remember.s
++++ b/test/MC/ELF/cfi-remember.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f:
+ 	.cfi_startproc
+diff --git a/test/MC/ELF/cfi-restore.s b/test/MC/ELF/cfi-restore.s
+index e225797..99a74e7 100644
+--- a/test/MC/ELF/cfi-restore.s
++++ b/test/MC/ELF/cfi-restore.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f:
+ 	.cfi_startproc
+diff --git a/test/MC/ELF/cfi-same-value.s b/test/MC/ELF/cfi-same-value.s
+index 2d37f4d..b7329d1 100644
+--- a/test/MC/ELF/cfi-same-value.s
++++ b/test/MC/ELF/cfi-same-value.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f:
+ 	.cfi_startproc
+diff --git a/test/MC/ELF/cfi-signal-frame.s b/test/MC/ELF/cfi-signal-frame.s
+index 98deb0a..9558d7b 100644
+--- a/test/MC/ELF/cfi-signal-frame.s
++++ b/test/MC/ELF/cfi-signal-frame.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sd | FileCheck %s
+ 
+ f:
+         .cfi_startproc
+diff --git a/test/MC/ELF/cfi-undefined.s b/test/MC/ELF/cfi-undefined.s
+index 568b315..09000c9 100644
+--- a/test/MC/ELF/cfi-undefined.s
++++ b/test/MC/ELF/cfi-undefined.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f:
+ 	.cfi_startproc
+diff --git a/test/MC/ELF/cfi-window-save.s b/test/MC/ELF/cfi-window-save.s
+index b083901..dd20164 100644
+--- a/test/MC/ELF/cfi-window-save.s
++++ b/test/MC/ELF/cfi-window-save.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ # Should use SPARC as the target to test this. However, SPARC does not
+ # use MC yet.
+diff --git a/test/MC/ELF/cfi-zero-addr-delta.s b/test/MC/ELF/cfi-zero-addr-delta.s
+index 8662839..61118ec 100644
+--- a/test/MC/ELF/cfi-zero-addr-delta.s
++++ b/test/MC/ELF/cfi-zero-addr-delta.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ // Test that we don't produce a DW_CFA_advance_loc 0
+ 
+diff --git a/test/MC/ELF/cfi.s b/test/MC/ELF/cfi.s
+index 21be615..42b0189 100644
+--- a/test/MC/ELF/cfi.s
++++ b/test/MC/ELF/cfi.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f1:
+         .cfi_startproc
+diff --git a/test/MC/ELF/pr19430.s b/test/MC/ELF/pr19430.s
+index a1e5246..528193d 100644
+--- a/test/MC/ELF/pr19430.s
++++ b/test/MC/ELF/pr19430.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -triple x86_64-pc-linux-gnu %s -filetype=obj -o - | llvm-readobj -r | FileCheck %s
++// RUN: llvm-mc -triple x86_64-pc-linux-gnu %s -filetype=obj -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -r | FileCheck %s
+ 
+ // Test that we can use .cfi_startproc without a global symbol.
+ 
+diff --git a/test/MC/X86/fde-reloc.s b/test/MC/X86/fde-reloc.s
+index 63ac976..9b5de15 100644
+--- a/test/MC/X86/fde-reloc.s
++++ b/test/MC/X86/fde-reloc.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj %s -o - -triple x86_64-pc-linux | llvm-objdump -r - | FileCheck --check-prefix=X86-64 %s
++// RUN: llvm-mc -filetype=obj %s -o - -triple x86_64-pc-linux \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-objdump -r - | FileCheck --check-prefix=X86-64 %s
+ // RUN: llvm-mc -filetype=obj %s -o - -triple i686-pc-linux | llvm-objdump -r - | FileCheck --check-prefix=I686 %s
+ 
+ // PR15448

Deleted: trunk/Tools/efl/patches/llvm-elf-fix-x86_64-fdecfiencoding.patch (176545 => 176546)


--- trunk/Tools/efl/patches/llvm-elf-fix-x86_64-fdecfiencoding.patch	2014-11-26 00:27:52 UTC (rev 176545)
+++ trunk/Tools/efl/patches/llvm-elf-fix-x86_64-fdecfiencoding.patch	2014-11-26 08:08:17 UTC (rev 176546)
@@ -1,13 +0,0 @@
-diff -ru llvm-3.5.0/lib/MC/MCObjectFileInfo.cpp llvm-3.5.0.patched/lib/MC/MCObjectFileInfo.cpp
---- llvm-3.5.0/lib/MC/MCObjectFileInfo.cpp	2014-06-25 14:41:52.000000000 +0200
-+++ llvm-3.5.0.patched/lib/MC/MCObjectFileInfo.cpp	2014-11-02 11:58:39.410521253 +0100
-@@ -274,6 +274,9 @@
-   case Triple::mips64el:
-     FDECFIEncoding = dwarf::DW_EH_PE_sdata8;
-     break;
-+  case Triple::x86_64:
-+    FDECFIEncoding = dwarf::DW_EH_PE_pcrel;
-+    break;
-   default:
-     FDECFIEncoding = dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4;
-     break;

Modified: trunk/Tools/gtk/jhbuild-optional.modules (176545 => 176546)


--- trunk/Tools/gtk/jhbuild-optional.modules	2014-11-26 00:27:52 UTC (rev 176545)
+++ trunk/Tools/gtk/jhbuild-optional.modules	2014-11-26 08:08:17 UTC (rev 176546)
@@ -49,7 +49,7 @@
     <branch repo="llvm.org"
             module="/releases/3.5.0/llvm-3.5.0.src.tar.xz" version="3.5.0" checkoutdir="llvm-3.5.0"
             hash="sha256:28e199f368ef0a4666708f31c7991ad3bcc3a578342b0306526dd35f07595c03">
-      <patch file="llvm-elf-fix-x86_64-fdecfiencoding.patch" strip="1"/>
+      <patch file="llvm-elf-allow-fde-references-outside-the-2gb-range.patch" strip="1"/>
       <patch file="llvm-elf-add-stackmaps.patch" strip="1"/>
     </branch>
   </autotools>

Added: trunk/Tools/gtk/patches/llvm-elf-allow-fde-references-outside-the-2gb-range.patch (0 => 176546)


--- trunk/Tools/gtk/patches/llvm-elf-allow-fde-references-outside-the-2gb-range.patch	                        (rev 0)
+++ trunk/Tools/gtk/patches/llvm-elf-allow-fde-references-outside-the-2gb-range.patch	2014-11-26 08:08:17 UTC (rev 176546)
@@ -0,0 +1,281 @@
+commit 21bcdeb1d65b4be0d716693f3dcabd2e8a7c6386
+Author: Joerg Sonnenberger <[email protected]>
+Date:   Tue Nov 25 13:37:55 2014 +0000
+
+    Reapply 222538 and update tests to explicitly request small code model
+    and PIC:
+    
+    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 from Akos Kiss.
+    
+    Differential Revision: http://reviews.llvm.org/D6079
+    
+    
+    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222760 91177308-0d34-0410-b5e6-96231b3b80d8
+
+diff --git a/lib/MC/MCObjectFileInfo.cpp b/lib/MC/MCObjectFileInfo.cpp
+index 7886ab6..96929e5 100644
+--- a/lib/MC/MCObjectFileInfo.cpp
++++ b/lib/MC/MCObjectFileInfo.cpp
+@@ -273,6 +273,17 @@ void MCObjectFileInfo::InitELFMCObjectFileInfo(Triple T) {
+   case Triple::mips64el:
+     FDECFIEncoding = dwarf::DW_EH_PE_sdata8;
+     break;
++  case Triple::x86_64:
++    if (RelocM == Reloc::PIC_) {
++      FDECFIEncoding = dwarf::DW_EH_PE_pcrel |
++        ((CMModel == CodeModel::Small || CMModel == CodeModel::Medium)
++         ? dwarf::DW_EH_PE_sdata4 : dwarf::DW_EH_PE_sdata8);
++    } else {
++      FDECFIEncoding =
++        (CMModel == CodeModel::Small || CMModel == CodeModel::Medium)
++        ? dwarf::DW_EH_PE_udata4 : dwarf::DW_EH_PE_absptr;
++    }
++    break;
+   default:
+     FDECFIEncoding = dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4;
+     break;
+diff --git a/test/MC/ELF/cfi-adjust-cfa-offset.s b/test/MC/ELF/cfi-adjust-cfa-offset.s
+index 9d639f7..f31a6b0 100644
+--- a/test/MC/ELF/cfi-adjust-cfa-offset.s
++++ b/test/MC/ELF/cfi-adjust-cfa-offset.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f:
+ 	.cfi_startproc
+diff --git a/test/MC/ELF/cfi-advance-loc2.s b/test/MC/ELF/cfi-advance-loc2.s
+index 98caa018..c11ccaf 100644
+--- a/test/MC/ELF/cfi-advance-loc2.s
++++ b/test/MC/ELF/cfi-advance-loc2.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ // test that this produces a correctly encoded cfi_advance_loc2
+ 
+diff --git a/test/MC/ELF/cfi-def-cfa-offset.s b/test/MC/ELF/cfi-def-cfa-offset.s
+index 59f7400..93158ce 100644
+--- a/test/MC/ELF/cfi-def-cfa-offset.s
++++ b/test/MC/ELF/cfi-def-cfa-offset.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f:
+ 	.cfi_startproc
+diff --git a/test/MC/ELF/cfi-def-cfa-register.s b/test/MC/ELF/cfi-def-cfa-register.s
+index 178ba32..8c55053 100644
+--- a/test/MC/ELF/cfi-def-cfa-register.s
++++ b/test/MC/ELF/cfi-def-cfa-register.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f:
+ 	.cfi_startproc
+diff --git a/test/MC/ELF/cfi-def-cfa.s b/test/MC/ELF/cfi-def-cfa.s
+index dfb0d4b..f0b4934 100644
+--- a/test/MC/ELF/cfi-def-cfa.s
++++ b/test/MC/ELF/cfi-def-cfa.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f:
+ 	.cfi_startproc
+diff --git a/test/MC/ELF/cfi-escape.s b/test/MC/ELF/cfi-escape.s
+index 5394ee4..3b76746 100644
+--- a/test/MC/ELF/cfi-escape.s
++++ b/test/MC/ELF/cfi-escape.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f:
+ 	.cfi_startproc
+diff --git a/test/MC/ELF/cfi-offset.s b/test/MC/ELF/cfi-offset.s
+index a65b4fc..02f31ba 100644
+--- a/test/MC/ELF/cfi-offset.s
++++ b/test/MC/ELF/cfi-offset.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f:
+ 	.cfi_startproc
+diff --git a/test/MC/ELF/cfi-register.s b/test/MC/ELF/cfi-register.s
+index 9441770..3433bef 100644
+--- a/test/MC/ELF/cfi-register.s
++++ b/test/MC/ELF/cfi-register.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f:
+ 	.cfi_startproc
+diff --git a/test/MC/ELF/cfi-rel-offset.s b/test/MC/ELF/cfi-rel-offset.s
+index 0dc69c8..f51b2d3 100644
+--- a/test/MC/ELF/cfi-rel-offset.s
++++ b/test/MC/ELF/cfi-rel-offset.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f:
+ 	.cfi_startproc
+diff --git a/test/MC/ELF/cfi-rel-offset2.s b/test/MC/ELF/cfi-rel-offset2.s
+index 360e7b0..0ce8d03 100644
+--- a/test/MC/ELF/cfi-rel-offset2.s
++++ b/test/MC/ELF/cfi-rel-offset2.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f:
+ 	.cfi_startproc
+diff --git a/test/MC/ELF/cfi-remember.s b/test/MC/ELF/cfi-remember.s
+index 3a38948..c98695a 100644
+--- a/test/MC/ELF/cfi-remember.s
++++ b/test/MC/ELF/cfi-remember.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f:
+ 	.cfi_startproc
+diff --git a/test/MC/ELF/cfi-restore.s b/test/MC/ELF/cfi-restore.s
+index e225797..99a74e7 100644
+--- a/test/MC/ELF/cfi-restore.s
++++ b/test/MC/ELF/cfi-restore.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f:
+ 	.cfi_startproc
+diff --git a/test/MC/ELF/cfi-same-value.s b/test/MC/ELF/cfi-same-value.s
+index 2d37f4d..b7329d1 100644
+--- a/test/MC/ELF/cfi-same-value.s
++++ b/test/MC/ELF/cfi-same-value.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f:
+ 	.cfi_startproc
+diff --git a/test/MC/ELF/cfi-signal-frame.s b/test/MC/ELF/cfi-signal-frame.s
+index 98deb0a..9558d7b 100644
+--- a/test/MC/ELF/cfi-signal-frame.s
++++ b/test/MC/ELF/cfi-signal-frame.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sd | FileCheck %s
+ 
+ f:
+         .cfi_startproc
+diff --git a/test/MC/ELF/cfi-undefined.s b/test/MC/ELF/cfi-undefined.s
+index 568b315..09000c9 100644
+--- a/test/MC/ELF/cfi-undefined.s
++++ b/test/MC/ELF/cfi-undefined.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f:
+ 	.cfi_startproc
+diff --git a/test/MC/ELF/cfi-window-save.s b/test/MC/ELF/cfi-window-save.s
+index b083901..dd20164 100644
+--- a/test/MC/ELF/cfi-window-save.s
++++ b/test/MC/ELF/cfi-window-save.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ # Should use SPARC as the target to test this. However, SPARC does not
+ # use MC yet.
+diff --git a/test/MC/ELF/cfi-zero-addr-delta.s b/test/MC/ELF/cfi-zero-addr-delta.s
+index 8662839..61118ec 100644
+--- a/test/MC/ELF/cfi-zero-addr-delta.s
++++ b/test/MC/ELF/cfi-zero-addr-delta.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ // Test that we don't produce a DW_CFA_advance_loc 0
+ 
+diff --git a/test/MC/ELF/cfi.s b/test/MC/ELF/cfi.s
+index 21be615..42b0189 100644
+--- a/test/MC/ELF/cfi.s
++++ b/test/MC/ELF/cfi.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
++// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -s -sr -sd | FileCheck %s
+ 
+ f1:
+         .cfi_startproc
+diff --git a/test/MC/ELF/pr19430.s b/test/MC/ELF/pr19430.s
+index a1e5246..528193d 100644
+--- a/test/MC/ELF/pr19430.s
++++ b/test/MC/ELF/pr19430.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -triple x86_64-pc-linux-gnu %s -filetype=obj -o - | llvm-readobj -r | FileCheck %s
++// RUN: llvm-mc -triple x86_64-pc-linux-gnu %s -filetype=obj -o - \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-readobj -r | FileCheck %s
+ 
+ // Test that we can use .cfi_startproc without a global symbol.
+ 
+diff --git a/test/MC/X86/fde-reloc.s b/test/MC/X86/fde-reloc.s
+index 63ac976..9b5de15 100644
+--- a/test/MC/X86/fde-reloc.s
++++ b/test/MC/X86/fde-reloc.s
+@@ -1,4 +1,6 @@
+-// RUN: llvm-mc -filetype=obj %s -o - -triple x86_64-pc-linux | llvm-objdump -r - | FileCheck --check-prefix=X86-64 %s
++// RUN: llvm-mc -filetype=obj %s -o - -triple x86_64-pc-linux \
++// RUN: -relocation-model=pic -code-model=small \
++// RUN: | llvm-objdump -r - | FileCheck --check-prefix=X86-64 %s
+ // RUN: llvm-mc -filetype=obj %s -o - -triple i686-pc-linux | llvm-objdump -r - | FileCheck --check-prefix=I686 %s
+ 
+ // PR15448

Deleted: trunk/Tools/gtk/patches/llvm-elf-fix-x86_64-fdecfiencoding.patch (176545 => 176546)


--- trunk/Tools/gtk/patches/llvm-elf-fix-x86_64-fdecfiencoding.patch	2014-11-26 00:27:52 UTC (rev 176545)
+++ trunk/Tools/gtk/patches/llvm-elf-fix-x86_64-fdecfiencoding.patch	2014-11-26 08:08:17 UTC (rev 176546)
@@ -1,13 +0,0 @@
-diff -ru llvm-3.5.0/lib/MC/MCObjectFileInfo.cpp llvm-3.5.0.patched/lib/MC/MCObjectFileInfo.cpp
---- llvm-3.5.0/lib/MC/MCObjectFileInfo.cpp	2014-06-25 14:41:52.000000000 +0200
-+++ llvm-3.5.0.patched/lib/MC/MCObjectFileInfo.cpp	2014-11-02 11:58:39.410521253 +0100
-@@ -274,6 +274,9 @@
-   case Triple::mips64el:
-     FDECFIEncoding = dwarf::DW_EH_PE_sdata8;
-     break;
-+  case Triple::x86_64:
-+    FDECFIEncoding = dwarf::DW_EH_PE_pcrel;
-+    break;
-   default:
-     FDECFIEncoding = dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4;
-     break;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to