Fix couple of bugs connected with eh info:
1. Correct output offsets on Linux
2. Fix "style" of personality function. It shouldn't be indirect.

llvm-svn: 36633
diff --git a/llvm/lib/Target/TargetAsmInfo.cpp b/llvm/lib/Target/TargetAsmInfo.cpp
index 37ab073..b7e3440 100644
--- a/llvm/lib/Target/TargetAsmInfo.cpp
+++ b/llvm/lib/Target/TargetAsmInfo.cpp
@@ -75,7 +75,8 @@
   WeakRefDirective(0),
   HiddenDirective("\t.hidden\t"),
   ProtectedDirective("\t.protected\t"),
-  AbsoluteSectionOffsets(false),
+  AbsoluteDebugSectionOffsets(false),
+  AbsoluteEHSectionOffsets(false),
   HasLEB128(false),
   HasDotLoc(false),
   HasDotFile(false),
diff --git a/llvm/lib/Target/X86/X86TargetAsmInfo.cpp b/llvm/lib/Target/X86/X86TargetAsmInfo.cpp
index 6a27072..85ac7a4 100644
--- a/llvm/lib/Target/X86/X86TargetAsmInfo.cpp
+++ b/llvm/lib/Target/X86/X86TargetAsmInfo.cpp
@@ -99,7 +99,8 @@
   case X86Subtarget::isELF:
     // Set up DWARF directives
     HasLEB128 = true;  // Target asm supports leb128 directives (little-endian)
-    AbsoluteSectionOffsets = true;
+    AbsoluteDebugSectionOffsets = true;
+    AbsoluteEHSectionOffsets = false;
     // bool HasLEB128; // Defaults to false.
     // hasDotLoc - True if target asm supports .loc directives.
     // bool HasDotLoc; // Defaults to false.
@@ -141,7 +142,8 @@
 
     // Set up DWARF directives
     HasLEB128 = true;  // Target asm supports leb128 directives (little-endian)
-    AbsoluteSectionOffsets = true;
+    AbsoluteDebugSectionOffsets = true;
+    AbsoluteEHSectionOffsets = false;
     PrivateGlobalPrefix = "L";  // Prefix for private global symbols
     WeakRefDirective = "\t.weak\t";
     SetDirective = "\t.set\t";