Change the default of -relax-relocations.
authorRafael Espindola <rafael.espindola@gmail.com>
Fri, 17 Jun 2016 17:04:56 +0000 (17:04 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Fri, 17 Jun 2016 17:04:56 +0000 (17:04 +0000)
llvm-mc is a developer tool, as such it make sense for it to use new
features by default.

This doesn't change the user facing clang, which still defaults to non
relaxable relocations.

llvm-svn: 273014

llvm/test/ExecutionEngine/RuntimeDyld/X86/ELF-relaxed.s
llvm/test/MC/ELF/got-relaxed-no-relax.s
llvm/test/MC/ELF/got-relaxed-rex.s
llvm/test/MC/ELF/got-relaxed.s
llvm/tools/llvm-mc/llvm-mc.cpp

index c065830..4eae72b 100644 (file)
@@ -1,5 +1,5 @@
 # RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj -o %T/file.o %p/Inputs/ELF_STT_FILE_GLOBAL.s
-# RUN: llvm-mc -triple=x86_64-pc-linux -relax-relocations -filetype=obj -o %T/relaxed.o %s
+# RUN: llvm-mc -triple=x86_64-pc-linux -filetype=obj -o %T/relaxed.o %s
 # RUN: llvm-rtdyld -triple=x86_64-pc-linux -verify %T/file.o %T/relaxed.o
 
 # Test that RTDyldELF does not crash with 'unimplemented relocation'
index 008481a..69511cd 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: llvm-mc -filetype=obj -relax-relocations -triple x86_64-pc-linux %s -o - | llvm-readobj -r | FileCheck %s
+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux %s -o - | llvm-readobj -r | FileCheck %s
 
 // these should not produce relaxable relocations
 
index 7ea3ba0..d35afaa 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: llvm-mc -filetype=obj -relax-relocations -triple x86_64-pc-linux %s -o - | llvm-readobj -r | FileCheck %s
+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux %s -o - | llvm-readobj -r | FileCheck %s
 
 // these should produce R_X86_64_REX_GOTPCRELX
 
index 89b2265..c89e462 100644 (file)
@@ -1,4 +1,5 @@
-// RUN: llvm-mc -filetype=obj -relax-relocations -triple x86_64-pc-linux %s -o - | llvm-readobj -r | FileCheck %s
+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux %s -o - | llvm-readobj -r | FileCheck %s
+// RUN: llvm-mc -filetype=obj -relax-relocations=false -triple x86_64-pc-linux %s -o - | llvm-readobj -r | FileCheck --check-prefix=OLD %s
 
 // these should produce R_X86_64_GOTPCRELX
 
 // CHECK-NEXT:     R_X86_64_GOTPCRELX jmp
 // CHECK-NEXT:   }
 // CHECK-NEXT: ]
+
+// OLD:      Relocations [
+// OLD-NEXT:   Section ({{.*}}) .rela.text {
+// OLD-NEXT:     R_X86_64_GOTPCREL call
+// OLD-NEXT:     R_X86_64_GOTPCREL jmp
+// OLD-NEXT:   }
+// OLD-NEXT: ]
index d75e24f..ad3a9d0 100644 (file)
@@ -52,9 +52,9 @@ OutputFilename("o", cl::desc("Output filename"),
 static cl::opt<bool>
 ShowEncoding("show-encoding", cl::desc("Show instruction encodings"));
 
-static cl::opt<bool>
-RelaxELFRel("relax-relocations", cl::init(false),
-  cl::desc("Emit R_X86_64_GOTPCRELX instead of R_X86_64_GOTPCREL"));
+static cl::opt<bool> RelaxELFRel(
+    "relax-relocations", cl::init(true),
+    cl::desc("Emit R_X86_64_GOTPCRELX instead of R_X86_64_GOTPCREL"));
 
 static cl::opt<DebugCompressionType>
 CompressDebugSections("compress-debug-sections", cl::ValueOptional,