[clang] 2ae0df5 - [CodeView] Revert 8374bf43634725dc02a262a77b5f940fca25938c and 403f9537924b8910ed4f741ed96c61f5e657915b

Alexandre Ganea via cfe-commits cfe-commits at lists.llvm.org
Thu Jun 18 13:18:58 PDT 2020


Author: Alexandre Ganea
Date: 2020-06-18T16:18:46-04:00
New Revision: 2ae0df5be7408a79524743762b6c74953f31b805

URL: https://github.com/llvm/llvm-project/commit/2ae0df5be7408a79524743762b6c74953f31b805
DIFF: https://github.com/llvm/llvm-project/commit/2ae0df5be7408a79524743762b6c74953f31b805.diff

LOG: [CodeView] Revert 8374bf43634725dc02a262a77b5f940fca25938c and 403f9537924b8910ed4f741ed96c61f5e657915b

This reverts:
8374bf43634725dc02a262a77b5f940fca25938c [CodeView] Fix generated command-line expansion in LF_BUILDINFO. Fix the 'pdb' entry which was previously a null reference, now an empty string.
403f9537924b8910ed4f741ed96c61f5e657915b [CodeView] Add full repro to LF_BUILDINFO record

This is causing the lld/test/COFF/pdb-relative-source-lines.test to fail: http://lab.llvm.org:8011/builders/lld-x86_64-win/builds/1096/steps/test-check-all/logs/FAIL%3A%20lld%3A%3Apdb-relative-source-lines.test
And clang/test/CodeGen/debug-info-codeview-buildinfo.c fails as well: http://lab.llvm.org:8011/builders/clang-s390x-linux/builds/33346/steps/ninja%20check%201/logs/FAIL%3A%20Clang%3A%3Adebug-info-codeview-buildinfo.c

Added: 
    

Modified: 
    lld/COFF/PDB.cpp
    lld/test/COFF/Inputs/pdb_lines_1_relative.yaml
    lld/test/COFF/Inputs/pdb_lines_2_relative.yaml
    lld/test/COFF/pdb-relative-source-lines.test
    llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
    llvm/test/DebugInfo/COFF/build-info.ll
    llvm/test/DebugInfo/COFF/global-type-hashes.ll
    llvm/test/DebugInfo/COFF/types-basic.ll
    llvm/test/DebugInfo/COFF/types-data-members.ll

Removed: 
    clang/test/CodeGen/debug-info-codeview-buildinfo.c


################################################################################
diff  --git a/clang/test/CodeGen/debug-info-codeview-buildinfo.c b/clang/test/CodeGen/debug-info-codeview-buildinfo.c
deleted file mode 100644
index 5d37162b7325..000000000000
--- a/clang/test/CodeGen/debug-info-codeview-buildinfo.c
+++ /dev/null
@@ -1,25 +0,0 @@
-// RUN: %clang_cl /c /Z7 /Fo%t.obj -- %s
-// RUN: llvm-pdbutil dump --types %t.obj | FileCheck %s
-// RUN: %clang_cl /c /Z7 /Fo%t.obj -fdebug-compilation-dir . -- %s
-// RUN: llvm-pdbutil dump --types %t.obj | FileCheck %s --check-prefix RELATIVE
-
-int main() { return 42; }
-
-// CHECK:                       Types (.debug$T)
-// CHECK: ============================================================
-// CHECK: 0x[[PWD:.+]] | LF_STRING_ID [size = {{.+}}] ID: <no type>, String: [[PWDVAL:.+]]
-// CHECK: 0x[[FILEPATH:.+]] | LF_STRING_ID [size = {{.+}}] ID: <no type>, String: [[FILEPATHVAL:.+[\\/]debug-info-codeview-buildinfo.c]]
-// CHECK: 0x[[ZIPDB:.+]] | LF_STRING_ID [size = {{.+}}] ID: <no type>, String:
-// CHECK: 0x[[TOOL:.+]] | LF_STRING_ID [size = {{.+}}] ID: <no type>, String: [[TOOLVAL:.+[\\/]clang.*]]
-// CHECK: 0x[[CMDLINE:.+]] | LF_STRING_ID [size = {{.+}}] ID: <no type>, String: "-cc1
-// CHECK: 0x{{.+}} | LF_BUILDINFO [size = {{.+}}]
-// CHECK:          0x[[PWD]]: `[[PWDVAL]]`
-// CHECK:          0x[[TOOL]]: `[[TOOLVAL]]`
-// CHECK:          0x[[FILEPATH]]: `[[FILEPATHVAL]]`
-// CHECK:          0x[[ZIPDB]]: ``
-// CHECK:          0x[[CMDLINE]]: `"-cc1
-
-// RELATIVE:                       Types (.debug$T)
-// RELATIVE: ============================================================
-// RELATIVE: 0x{{.+}} | LF_BUILDINFO [size = {{.+}}]
-// RELATIVE:          0x{{.+}}: `.`

diff  --git a/lld/COFF/PDB.cpp b/lld/COFF/PDB.cpp
index 75884ed11308..be6af13f3647 100644
--- a/lld/COFF/PDB.cpp
+++ b/lld/COFF/PDB.cpp
@@ -250,72 +250,6 @@ static void addTypeInfo(pdb::TpiStreamBuilder &tpiBuilder,
   });
 }
 
-// LF_BUILDINFO records might contain relative paths, and we want to make them
-// absolute. We do this remapping only after the type records were merged,
-// because the full types graph isn't known during merging. In addition, we plan
-// to multi-thread the type merging, and the change below needs to be done
-// atomically, single-threaded.
-
-// A complication could arise when a LF_STRING_ID record already exists with the
-// same content as the new absolutized path. In that case, we simply redirect
-// LF_BUILDINFO's CurrentDirectory index to reference the existing LF_STRING_ID
-// record.
-
-static void remapBuildInfo(TypeCollection &idTable) {
-  SimpleTypeSerializer s;
-  idTable.ForEachRecord([&](TypeIndex ti, const CVType &type) {
-    if (type.kind() != LF_BUILDINFO)
-      return;
-    BuildInfoRecord bi;
-    cantFail(TypeDeserializer::deserializeAs(const_cast<CVType &>(type), bi));
-
-    auto makeAbsoluteRecord =
-        [&](BuildInfoRecord::BuildInfoArg recordType) -> Optional<TypeIndex> {
-      TypeIndex recordTi = bi.getArgs()[recordType];
-      if (recordTi.isNoneType())
-        return None;
-      CVType recordRef = idTable.getType(recordTi);
-
-      StringIdRecord record;
-      cantFail(TypeDeserializer::deserializeAs(recordRef, record));
-
-      SmallString<128> abolutizedPath(record.getString());
-      pdbMakeAbsolute(abolutizedPath);
-
-      if (abolutizedPath == record.getString())
-        return None; // The path is already absolute.
-
-      record.String = abolutizedPath;
-      ArrayRef<uint8_t> recordData = s.serialize(record);
-
-      // Replace the previous LF_STRING_ID record
-      if (!idTable.replaceType(recordTi, CVType(recordData),
-                               /*Stabilize=*/true))
-        return recordTi;
-      return None;
-    };
-
-    Optional<TypeIndex> curDirTI =
-        makeAbsoluteRecord(BuildInfoRecord::CurrentDirectory);
-    Optional<TypeIndex> buildToolTI =
-        makeAbsoluteRecord(BuildInfoRecord::BuildTool);
-
-    if (curDirTI || buildToolTI) {
-      // This new record is already there. We don't want duplicates, so
-      // re-serialize the BuildInfoRecord instead.
-      if (curDirTI)
-        bi.ArgIndices[BuildInfoRecord::CurrentDirectory] = *curDirTI;
-      if (buildToolTI)
-        bi.ArgIndices[BuildInfoRecord::BuildTool] = *buildToolTI;
-
-      ArrayRef<uint8_t> biData = s.serialize(bi);
-      bool r = idTable.replaceType(ti, CVType(biData), /*Stabilize=*/true);
-      assert(r && "Didn't expect two build records pointing to the same OBJ!");
-      (void)r;
-    }
-  });
-}
-
 static bool remapTypeIndex(TypeIndex &ti, ArrayRef<TypeIndex> typeIndexMap) {
   if (ti.isSimple())
     return true;
@@ -1054,9 +988,6 @@ void PDBLinker::addObjectsToPDB() {
   builder.getStringTableBuilder().setStrings(pdbStrTab);
   t1.stop();
 
-  // Remap the contents of the LF_BUILDINFO record.
-  remapBuildInfo(tMerger.getIDTable());
-
   // Construct TPI and IPI stream contents.
   ScopedTimer t2(tpiStreamLayoutTimer);
   addTypeInfo(builder.getTpiBuilder(), tMerger.getTypeTable());

diff  --git a/lld/test/COFF/Inputs/pdb_lines_1_relative.yaml b/lld/test/COFF/Inputs/pdb_lines_1_relative.yaml
index 9a6b192e1d0d..947de419d6b8 100644
--- a/lld/test/COFF/Inputs/pdb_lines_1_relative.yaml
+++ b/lld/test/COFF/Inputs/pdb_lines_1_relative.yaml
@@ -19,7 +19,6 @@ sections:
     Characteristics: [ IMAGE_SCN_CNT_UNINITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
     Alignment:       4
     SectionData:     ''
-    SizeOfRawData:   0
   - Name:            .xdata
     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ]
     Alignment:       4
@@ -39,6 +38,7 @@ sections:
   - Name:            '.debug$S'
     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
     Alignment:       4
+    SectionData:     04000000F10000002F0000002D003C1100000000D0000700000000000000581B000000000000636C616E672076657273696F6E20372E302E30200000F1000000300000002A0047110000000000000000000000001B000000000000000000000002100000000000000000006D61696E0002004F11F20000003000000000000000000000001B00000000000000030000002400000000000000020000000C000000030000001100000004000000F400000030000000010000001001EA6429BCE282CCF3F0E3CD93B216EB410000110000001001061EB73ABB642532857A4F1D9CBAC3230000F30000001C000000002E5C7064625F6C696E65735F312E63002E5C666F6F2E6800000000
     Subsections:
       - !Symbols
         Records:
@@ -46,15 +46,15 @@ sections:
             Compile3Sym:
               Flags:           [  ]
               Machine:         X64
-              FrontendMajor:   11
+              FrontendMajor:   7
               FrontendMinor:   0
               FrontendBuild:   0
               FrontendQFE:     0
-              BackendMajor:    11000
+              BackendMajor:    7000
               BackendMinor:    0
               BackendBuild:    0
               BackendQFE:      0
-              Version:         'clang version 11.0.0 (https://github.com/llvm/llvm-project.git 77dad72eae974338ddc13d74783c012ccbb8c5ac)'
+              Version:         'clang version 7.0.0 '
       - !Symbols
         Records:
           - Kind:            S_GPROC32_ID
@@ -65,17 +65,8 @@ sections:
               FunctionType:    4098
               Flags:           [  ]
               DisplayName:     main
-          - Kind:            S_FRAMEPROC
-            FrameProcSym:
-              TotalFrameBytes: 40
-              PaddingFrameBytes: 0
-              OffsetToPadding: 0
-              BytesOfCalleeSavedRegisters: 0
-              OffsetOfExceptionHandler: 0
-              SectionIdOfExceptionHandler: 0
-              Flags:           [  ]
           - Kind:            S_PROC_ID_END
-            ScopeEndSym:     {}
+            ScopeEndSym:
       - !Lines
         CodeSize:        27
         Flags:           [  ]
@@ -96,15 +87,15 @@ sections:
                 LineStart:       4
                 IsStatement:     false
                 EndDelta:        0
-            Columns:         []
+            Columns:
       - !FileChecksums
         Checksums:
           - FileName:        '.\pdb_lines_1.c'
             Kind:            MD5
-            Checksum:        9A64DD4298487888B1D99F825D520C5E
+            Checksum:        EA6429BCE282CCF3F0E3CD93B216EB41
           - FileName:        '.\foo.h'
             Kind:            MD5
-            Checksum:        A9D05E6DC184DE20A57797E24F8B0E97
+            Checksum:        061EB73ABB642532857A4F1D9CBAC323
       - !StringTable
         Strings:
           - '.\pdb_lines_1.c'
@@ -112,27 +103,23 @@ sections:
           - ''
           - ''
           - ''
-      - !Symbols
-        Records:
-          - Kind:            S_BUILDINFO
-            BuildInfoSym:
-              BuildId:         4105
     Relocations:
-      - VirtualAddress:  184
+      - VirtualAddress:  100
         SymbolName:      main
         Type:            IMAGE_REL_AMD64_SECREL
-      - VirtualAddress:  188
+      - VirtualAddress:  104
         SymbolName:      main
         Type:            IMAGE_REL_AMD64_SECTION
-      - VirtualAddress:  240
+      - VirtualAddress:  124
         SymbolName:      main
         Type:            IMAGE_REL_AMD64_SECREL
-      - VirtualAddress:  244
+      - VirtualAddress:  128
         SymbolName:      main
         Type:            IMAGE_REL_AMD64_SECTION
   - Name:            '.debug$T'
     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
     Alignment:       4
+    SectionData:     0400000006000112000000000E0008107400000000000000001000001200011600000000011000006D61696E00F3F2F10E0008100300000000000000001000000E0001160000000003100000666F6F00
     Types:
       - Kind:            LF_ARGLIST
         ArgList:
@@ -161,25 +148,6 @@ sections:
           ParentScope:     0
           FunctionType:    4099
           Name:            foo
-      - Kind:            LF_STRING_ID
-        StringId:
-          Id:              0
-          String:          .
-      - Kind:            LF_STRING_ID
-        StringId:
-          Id:              0
-          String:          pdb_lines_1.c
-      - Kind:            LF_STRING_ID
-        StringId:
-          Id:              0
-          String:          'buildninjaRel\bin\clang-cl.exe'
-      - Kind:            LF_STRING_ID
-        StringId:
-          Id:              0
-          String:          '"-cc1" "-triple" "x86_64-pc-windows-msvc19.26.28806" "-emit-obj" "-mrelax-all" "-mincremental-linker-compatible" "-disable-free" "-main-file-name" "pdb_lines_1.c" "-mrelocation-model" "pic" "-pic-level" "2" "-mthread-model" "posix" "-mframe-pointer=none" "-relaxed-aliasing" "-fmath-errno" "-fno-rounding-math" "-mconstructor-aliases" "-munwind-tables" "-target-cpu" "x86-64" "-mllvm" "-x86-asm-syntax=intel" "-D_MT" "-flto-visibility-public-std" "--dependent-lib=libcmt" "--dependent-lib=oldnames" "-stack-protector" "2" "-fms-volatile" "-fdiagnostics-format" "msvc" "-gcodeview" "-debug-info-kind=limited" "-resource-dir" "D:\\llvm-project\\buildninjaRel\\lib\\clang\\11.0.0" "-internal-isystem" "D:\\llvm-project\\buildninjaRel\\lib\\clang\\11.0.0\\include" "-internal-isystem" "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Professional\\VC\\Tools\\MSVC\\14.26.28801\\ATLMFC\\include" "-internal-isystem" "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Professional\\VC\\Tools\\MSVC\\14.26.28801\\include" "-internal-isystem" "C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\include\\um" "-internal-isystem" "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.18362.0\\ucrt" "-internal-isystem" "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.18362.0\\shared" "-internal-isystem" "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.18362.0\\um" "-internal-isystem" "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.18362.0\\winrt" "-internal-isystem" "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.18362.0\\cppwinrt" "-fdebug-compilation-dir" "." "-ferror-limit" "19" "-fmessage-length=146" "-fno-use-cxa-atexit" "-fms-extensions" "-fms-compatibility" "-fms-compatibility-version=19.26.28806" "-fdelayed-template-parsing" "-fcolor-diagnostics" "-faddrsig" "-x" "c"'
-      - Kind:            LF_BUILDINFO
-        BuildInfo:
-          ArgIndices:      [ 4101, 4103, 4102, 0, 4104 ]
   - Name:            .pdata
     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ]
     Alignment:       4
@@ -192,12 +160,8 @@ sections:
         SymbolName:      main
         Type:            IMAGE_REL_AMD64_ADDR32NB
       - VirtualAddress:  8
-        SymbolTableIndex: 6
+        SymbolName:      .xdata
         Type:            IMAGE_REL_AMD64_ADDR32NB
-  - Name:            .llvm_addrsig
-    Characteristics: [ IMAGE_SCN_LNK_REMOVE ]
-    Alignment:       1
-    SectionData:     0A1D
   - Name:            .xdata
     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_LNK_COMDAT, IMAGE_SCN_MEM_READ ]
     Alignment:       4
@@ -205,6 +169,7 @@ sections:
   - Name:            '.debug$S'
     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_LNK_COMDAT, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
     Alignment:       4
+    SectionData:     04000000F10000002F000000290047110000000000000000000000000F00000000000000000000000410000000000000000000666F6F0002004F1100F20000003000000000000000000000000F000000180000000300000024000000000000000200000004000000030000000900000004000000
     Subsections:
       - !Symbols
         Records:
@@ -216,17 +181,8 @@ sections:
               FunctionType:    4100
               Flags:           [  ]
               DisplayName:     foo
-          - Kind:            S_FRAMEPROC
-            FrameProcSym:
-              TotalFrameBytes: 40
-              PaddingFrameBytes: 0
-              OffsetToPadding: 0
-              BytesOfCalleeSavedRegisters: 0
-              OffsetOfExceptionHandler: 0
-              SectionIdOfExceptionHandler: 0
-              Flags:           [  ]
           - Kind:            S_PROC_ID_END
-            ScopeEndSym:     {}
+            ScopeEndSym:
       - !Lines
         CodeSize:        15
         Flags:           [  ]
@@ -247,7 +203,7 @@ sections:
                 LineStart:       4
                 IsStatement:     false
                 EndDelta:        0
-            Columns:         []
+            Columns:
     Relocations:
       - VirtualAddress:  44
         SymbolName:      foo
@@ -255,10 +211,10 @@ sections:
       - VirtualAddress:  48
         SymbolName:      foo
         Type:            IMAGE_REL_AMD64_SECTION
-      - VirtualAddress:  100
+      - VirtualAddress:  68
         SymbolName:      foo
         Type:            IMAGE_REL_AMD64_SECREL
-      - VirtualAddress:  104
+      - VirtualAddress:  72
         SymbolName:      foo
         Type:            IMAGE_REL_AMD64_SECTION
   - Name:            .pdata
@@ -273,7 +229,7 @@ sections:
         SymbolName:      foo
         Type:            IMAGE_REL_AMD64_ADDR32NB
       - VirtualAddress:  8
-        SymbolTableIndex: 11
+        SymbolName:      .xdata
         Type:            IMAGE_REL_AMD64_ADDR32NB
 symbols:
   - Name:            .text
@@ -345,7 +301,7 @@ symbols:
     StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
   - Name:            .xdata
     Value:           0
-    SectionNumber:   11
+    SectionNumber:   10
     SimpleType:      IMAGE_SYM_TYPE_NULL
     ComplexType:     IMAGE_SYM_DTYPE_NULL
     StorageClass:    IMAGE_SYM_CLASS_STATIC
@@ -375,22 +331,22 @@ symbols:
     ComplexType:     IMAGE_SYM_DTYPE_NULL
     StorageClass:    IMAGE_SYM_CLASS_STATIC
     SectionDefinition:
-      Length:          396
+      Length:          264
       NumberOfRelocations: 4
       NumberOfLinenumbers: 0
-      CheckSum:        3390249978
+      CheckSum:        2204933783
       Number:          7
   - Name:            '.debug$S'
     Value:           0
-    SectionNumber:   12
+    SectionNumber:   11
     SimpleType:      IMAGE_SYM_TYPE_NULL
     ComplexType:     IMAGE_SYM_DTYPE_NULL
     StorageClass:    IMAGE_SYM_CLASS_STATIC
     SectionDefinition:
-      Length:          148
+      Length:          116
       NumberOfRelocations: 4
       NumberOfLinenumbers: 0
-      CheckSum:        1236081121
+      CheckSum:        2691661839
       Number:          5
       Selection:       IMAGE_COMDAT_SELECT_ASSOCIATIVE
   - Name:            '.debug$T'
@@ -400,10 +356,10 @@ symbols:
     ComplexType:     IMAGE_SYM_DTYPE_NULL
     StorageClass:    IMAGE_SYM_CLASS_STATIC
     SectionDefinition:
-      Length:          2028
+      Length:          80
       NumberOfRelocations: 0
       NumberOfLinenumbers: 0
-      CheckSum:        2043733667
+      CheckSum:        3541780432
       Number:          8
   - Name:            .pdata
     Value:           0
@@ -419,7 +375,7 @@ symbols:
       Number:          9
   - Name:            .pdata
     Value:           0
-    SectionNumber:   13
+    SectionNumber:   12
     SimpleType:      IMAGE_SYM_TYPE_NULL
     ComplexType:     IMAGE_SYM_DTYPE_NULL
     StorageClass:    IMAGE_SYM_CLASS_STATIC
@@ -430,24 +386,6 @@ symbols:
       CheckSum:        3642757804
       Number:          5
       Selection:       IMAGE_COMDAT_SELECT_ASSOCIATIVE
-  - Name:            .llvm_addrsig
-    Value:           0
-    SectionNumber:   10
-    SimpleType:      IMAGE_SYM_TYPE_NULL
-    ComplexType:     IMAGE_SYM_DTYPE_NULL
-    StorageClass:    IMAGE_SYM_CLASS_STATIC
-    SectionDefinition:
-      Length:          2
-      NumberOfRelocations: 0
-      NumberOfLinenumbers: 0
-      CheckSum:        2582217811
-      Number:          10
-  - Name:            '@feat.00'
-    Value:           0
-    SectionNumber:   -1
-    SimpleType:      IMAGE_SYM_TYPE_NULL
-    ComplexType:     IMAGE_SYM_DTYPE_NULL
-    StorageClass:    IMAGE_SYM_CLASS_STATIC
   - Name:            main
     Value:           0
     SectionNumber:   1
@@ -460,11 +398,4 @@ symbols:
     SimpleType:      IMAGE_SYM_TYPE_NULL
     ComplexType:     IMAGE_SYM_DTYPE_NULL
     StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
-  - Name:            .file
-    Value:           0
-    SectionNumber:   -2
-    SimpleType:      IMAGE_SYM_TYPE_NULL
-    ComplexType:     IMAGE_SYM_DTYPE_NULL
-    StorageClass:    IMAGE_SYM_CLASS_FILE
-    File:            pdb_lines_1.c
 ...

diff  --git a/lld/test/COFF/Inputs/pdb_lines_2_relative.yaml b/lld/test/COFF/Inputs/pdb_lines_2_relative.yaml
index 71ce5d63f508..1b051d82d9a4 100644
--- a/lld/test/COFF/Inputs/pdb_lines_2_relative.yaml
+++ b/lld/test/COFF/Inputs/pdb_lines_2_relative.yaml
@@ -15,7 +15,6 @@ sections:
     Characteristics: [ IMAGE_SCN_CNT_UNINITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
     Alignment:       4
     SectionData:     ''
-    SizeOfRawData:   0
   - Name:            .drectve
     Characteristics: [ IMAGE_SCN_LNK_INFO, IMAGE_SCN_LNK_REMOVE ]
     Alignment:       1
@@ -23,6 +22,7 @@ sections:
   - Name:            '.debug$S'
     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
     Alignment:       4
+    SectionData:     04000000F10000002F0000002D003C1100000000D0000700000000000000581B000000000000636C616E672076657273696F6E20372E302E30200000F10000002F0000002900471100000000000000000000000001000000000000000000000002100000000000000000006261720002004F1100F2000000200000000000000000000000010000000000000001000000140000000000000002000000F400000018000000010000001001DF91CB3A2B8D917486574BB50CAC4CC70000F300000014000000002E5C7064625F6C696E65735F322E6300000000
     Subsections:
       - !Symbols
         Records:
@@ -30,15 +30,15 @@ sections:
             Compile3Sym:
               Flags:           [  ]
               Machine:         X64
-              FrontendMajor:   11
+              FrontendMajor:   7
               FrontendMinor:   0
               FrontendBuild:   0
               FrontendQFE:     0
-              BackendMajor:    11000
+              BackendMajor:    7000
               BackendMinor:    0
               BackendBuild:    0
               BackendQFE:      0
-              Version:         'clang version 11.0.0 (https://github.com/llvm/llvm-project.git 77dad72eae974338ddc13d74783c012ccbb8c5ac)'
+              Version:         'clang version 7.0.0 '
       - !Symbols
         Records:
           - Kind:            S_GPROC32_ID
@@ -49,17 +49,8 @@ sections:
               FunctionType:    4098
               Flags:           [  ]
               DisplayName:     bar
-          - Kind:            S_FRAMEPROC
-            FrameProcSym:
-              TotalFrameBytes: 0
-              PaddingFrameBytes: 0
-              OffsetToPadding: 0
-              BytesOfCalleeSavedRegisters: 0
-              OffsetOfExceptionHandler: 0
-              SectionIdOfExceptionHandler: 0
-              Flags:           [  ]
           - Kind:            S_PROC_ID_END
-            ScopeEndSym:     {}
+            ScopeEndSym:
       - !Lines
         CodeSize:        1
         Flags:           [  ]
@@ -72,39 +63,35 @@ sections:
                 LineStart:       2
                 IsStatement:     false
                 EndDelta:        0
-            Columns:         []
+            Columns:
       - !FileChecksums
         Checksums:
           - FileName:        '.\pdb_lines_2.c'
             Kind:            MD5
-            Checksum:        4CC58B73BFD5AB52F87CFB3C604BB288
+            Checksum:        DF91CB3A2B8D917486574BB50CAC4CC7
       - !StringTable
         Strings:
           - '.\pdb_lines_2.c'
           - ''
           - ''
           - ''
-      - !Symbols
-        Records:
-          - Kind:            S_BUILDINFO
-            BuildInfoSym:
-              BuildId:         4103
     Relocations:
-      - VirtualAddress:  184
+      - VirtualAddress:  100
         SymbolName:      bar
         Type:            IMAGE_REL_AMD64_SECREL
-      - VirtualAddress:  188
+      - VirtualAddress:  104
         SymbolName:      bar
         Type:            IMAGE_REL_AMD64_SECTION
-      - VirtualAddress:  240
+      - VirtualAddress:  124
         SymbolName:      bar
         Type:            IMAGE_REL_AMD64_SECREL
-      - VirtualAddress:  244
+      - VirtualAddress:  128
         SymbolName:      bar
         Type:            IMAGE_REL_AMD64_SECTION
   - Name:            '.debug$T'
     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
     Alignment:       4
+    SectionData:     0400000006000112000000000E0008100300000000000000001000000E000116000000000110000062617200
     Types:
       - Kind:            LF_ARGLIST
         ArgList:
@@ -121,29 +108,6 @@ sections:
           ParentScope:     0
           FunctionType:    4097
           Name:            bar
-      - Kind:            LF_STRING_ID
-        StringId:
-          Id:              0
-          String:          .
-      - Kind:            LF_STRING_ID
-        StringId:
-          Id:              0
-          String:          pdb_lines_2.c
-      - Kind:            LF_STRING_ID
-        StringId:
-          Id:              0
-          String:          'buildninjaRel\bin\clang-cl.exe'
-      - Kind:            LF_STRING_ID
-        StringId:
-          Id:              0
-          String:          '"-cc1" "-triple" "x86_64-pc-windows-msvc19.26.28806" "-emit-obj" "-mrelax-all" "-mincremental-linker-compatible" "-disable-free" "-main-file-name" "pdb_lines_2.c" "-mrelocation-model" "pic" "-pic-level" "2" "-mthread-model" "posix" "-mframe-pointer=none" "-relaxed-aliasing" "-fmath-errno" "-fno-rounding-math" "-mconstructor-aliases" "-munwind-tables" "-target-cpu" "x86-64" "-mllvm" "-x86-asm-syntax=intel" "-D_MT" "-flto-visibility-public-std" "--dependent-lib=libcmt" "--dependent-lib=oldnames" "-stack-protector" "2" "-fms-volatile" "-fdiagnostics-format" "msvc" "-gcodeview" "-debug-info-kind=limited" "-resource-dir" "D:\\llvm-project\\buildninjaRel\\lib\\clang\\11.0.0" "-internal-isystem" "D:\\llvm-project\\buildninjaRel\\lib\\clang\\11.0.0\\include" "-internal-isystem" "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Professional\\VC\\Tools\\MSVC\\14.26.28801\\ATLMFC\\include" "-internal-isystem" "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Professional\\VC\\Tools\\MSVC\\14.26.28801\\include" "-internal-isystem" "C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\include\\um" "-internal-isystem" "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.18362.0\\ucrt" "-internal-isystem" "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.18362.0\\shared" "-internal-isystem" "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.18362.0\\um" "-internal-isystem" "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.18362.0\\winrt" "-internal-isystem" "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.18362.0\\cppwinrt" "-fdebug-compilation-dir" "." "-ferror-limit" "19" "-fmessage-length=146" "-fno-use-cxa-atexit" "-fms-extensions" "-fms-compatibility" "-fms-compatibility-version=19.26.28806" "-fdelayed-template-parsing" "-fcolor-diagnostics" "-faddrsig" "-x" "c"'
-      - Kind:            LF_BUILDINFO
-        BuildInfo:
-          ArgIndices:      [ 4099, 4101, 4100, 0, 4102 ]
-  - Name:            .llvm_addrsig
-    Characteristics: [ IMAGE_SCN_LNK_REMOVE ]
-    Alignment:       1
-    SectionData:     ''
 symbols:
   - Name:            .text
     Value:           0
@@ -200,10 +164,10 @@ symbols:
     ComplexType:     IMAGE_SYM_DTYPE_NULL
     StorageClass:    IMAGE_SYM_CLASS_STATIC
     SectionDefinition:
-      Length:          348
+      Length:          216
       NumberOfRelocations: 4
       NumberOfLinenumbers: 0
-      CheckSum:        2408981505
+      CheckSum:        2383431754
       Number:          5
   - Name:            '.debug$T'
     Value:           0
@@ -212,40 +176,15 @@ symbols:
     ComplexType:     IMAGE_SYM_DTYPE_NULL
     StorageClass:    IMAGE_SYM_CLASS_STATIC
     SectionDefinition:
-      Length:          1992
+      Length:          44
       NumberOfRelocations: 0
       NumberOfLinenumbers: 0
-      CheckSum:        1158086003
+      CheckSum:        179171995
       Number:          6
-  - Name:            .llvm_addrsig
-    Value:           0
-    SectionNumber:   7
-    SimpleType:      IMAGE_SYM_TYPE_NULL
-    ComplexType:     IMAGE_SYM_DTYPE_NULL
-    StorageClass:    IMAGE_SYM_CLASS_STATIC
-    SectionDefinition:
-      Length:          0
-      NumberOfRelocations: 0
-      NumberOfLinenumbers: 0
-      CheckSum:        0
-      Number:          7
-  - Name:            '@feat.00'
-    Value:           0
-    SectionNumber:   -1
-    SimpleType:      IMAGE_SYM_TYPE_NULL
-    ComplexType:     IMAGE_SYM_DTYPE_NULL
-    StorageClass:    IMAGE_SYM_CLASS_STATIC
   - Name:            bar
     Value:           0
     SectionNumber:   1
     SimpleType:      IMAGE_SYM_TYPE_NULL
     ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
     StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
-  - Name:            .file
-    Value:           0
-    SectionNumber:   -2
-    SimpleType:      IMAGE_SYM_TYPE_NULL
-    ComplexType:     IMAGE_SYM_DTYPE_NULL
-    StorageClass:    IMAGE_SYM_CLASS_FILE
-    File:            pdb_lines_2.c
 ...

diff  --git a/lld/test/COFF/pdb-relative-source-lines.test b/lld/test/COFF/pdb-relative-source-lines.test
index 4d6178994867..547056785962 100644
--- a/lld/test/COFF/pdb-relative-source-lines.test
+++ b/lld/test/COFF/pdb-relative-source-lines.test
@@ -15,9 +15,7 @@ int main(void) {
 void bar(void) {
 }
 
-$ clang-cl -fdebug-compilation-dir . -no-canonical-prefixes -c -Z7 pdb_lines*.c
-$ obj2yaml pdb_lines_1.obj > pdb_lines_1_relative.yaml
-$ obj2yaml pdb_lines_2.obj > pdb_lines_2_relative.yaml
+$ clang-cl -Xclang -fdebug-compilation-dir -Xclang . -c -Z7 pdb_lines*.c
 
 /pdbsourcepath: only sets the directory that relative paths are considered
 relative to, so this test needs to pass relative paths to lld-link for:
@@ -35,20 +33,9 @@ RUN: cd %t
 RUN: yaml2obj %S/Inputs/pdb_lines_1_relative.yaml -o %t/pdb_lines_1_relative.obj
 RUN: yaml2obj %S/Inputs/pdb_lines_2_relative.yaml -o %t/pdb_lines_2_relative.obj
 RUN: ./lld-link -debug "-pdbsourcepath:c:\src" -entry:main -nodefaultlib -out:out.exe -pdb:out.pdb pdb_lines_1_relative.obj pdb_lines_2_relative.obj
-RUN: llvm-pdbutil pdb2yaml -ipi-stream -modules -module-files -module-syms -subsections=lines,fc %t/out.pdb | FileCheck %s
+RUN: llvm-pdbutil pdb2yaml -modules -module-files -module-syms -subsections=lines,fc %t/out.pdb | FileCheck %s
 RUN: ./lld-link -debug "-pdbsourcepath:/usr/src" -entry:main -nodefaultlib -out:out.exe -pdb:out.pdb pdb_lines_1_relative.obj pdb_lines_2_relative.obj
-RUN: llvm-pdbutil pdb2yaml -ipi-stream -modules -module-files -module-syms -subsections=lines,fc %t/out.pdb | FileCheck --check-prefix=POSIX %s
-
-Also test the convoluted case at the end of remapBuildInfo() in lld/COFF/PDB.cpp
-The only drawback right now is that this edge case will create LF_BUILDINFO
-records with front references in the IPI stream. However the Visual Studio
-debugger takes the .PDB thusly created without any problems.
-Tested on VS2015, 2017 and 2019.
-
-RUN: sed -E -e "s|(String:\s+)\.|\1\'c:\\\\src'|" %S/Inputs/pdb_lines_2_relative.yaml > %t/pdb_lines_2_relative.yaml
-RUN: yaml2obj pdb_lines_2_relative.yaml -o %t/pdb_lines_2_relative.obj
-RUN: ./lld-link -debug "-pdbsourcepath:c:\src" -entry:main -nodefaultlib -out:out.exe -pdb:out.pdb pdb_lines_1_relative.obj pdb_lines_2_relative.obj
-RUN: llvm-pdbutil pdb2yaml -ipi-stream -modules -module-files -module-syms -subsections=lines,fc %t/out.pdb | FileCheck --check-prefix=EXISTING %s
+RUN: llvm-pdbutil pdb2yaml -modules -module-files -module-syms -subsections=lines,fc %t/out.pdb | FileCheck --check-prefix=POSIX %s
 
 CHECK-LABEL:  - Module:          'c:\src\pdb_lines_1_relative.obj'
 CHECK-NEXT:     ObjFile:         'c:\src\pdb_lines_1_relative.obj'
@@ -83,39 +70,6 @@ CHECK-NEXT:         - 'c:\src\out.pdb'
 CHECK-NEXT:         - cmd
 CHECK-NEXT:         - '-debug -pdbsourcepath:c:\src -entry:main -nodefaultlib -out:out.exe -pdb:out.pdb pdb_lines_1_relative.obj pdb_lines_2_relative.obj'
 
-CHECK-LABEL: IpiStream:
-
-CHECK:    - Kind:            LF_STRING_ID
-CHECK-NEXT:      StringId:
-CHECK-NEXT:        Id:              0
-CHECK-NEXT:        String:          'c:\src'
-CHECK-NEXT:     - Kind:            LF_STRING_ID
-CHECK-NEXT:       StringId:
-CHECK-NEXT:         Id:              0
-CHECK-NEXT:         String:          pdb_lines_1.c
-CHECK-NEXT:     - Kind:            LF_STRING_ID
-CHECK-NEXT:       StringId:
-CHECK-NEXT:         Id:              0
-CHECK-NEXT:         String:          'c:\src\buildninjaRel\bin\clang-cl.exe'
-		
-EXISTING-LABEL: IpiStream:
-
-EXISTING:     - Kind:            LF_STRING_ID
-EXISTING-NEXT:      StringId:
-EXISTING-NEXT:        Id:              0
-EXISTING-NEXT:        String:          .
-EXISTING-NEXT:    - Kind:            LF_STRING_ID
-EXISTING-NEXT:      StringId:
-EXISTING-NEXT:        Id:              0
-EXISTING-NEXT:        String:          pdb_lines_1.c
-EXISTING:    - Kind:            LF_STRING_ID
-EXISTING-NEXT:      StringId:
-EXISTING-NEXT:        Id:              0
-EXISTING-LABEL:        String:          'c:\src'
-EXISTING-NEXT:     - Kind:            LF_STRING_ID
-EXISTING-NEXT:       StringId:
-EXISTING-NEXT:         Id:              0
-EXISTING-NEXT:         String:          pdb_lines_2.c
 
 POSIX-LABEL:  - Module:          '/usr/src/pdb_lines_1_relative.obj'
 POSIX-NEXT:     ObjFile:         '/usr/src/pdb_lines_1_relative.obj'
@@ -149,17 +103,3 @@ POSIX-NEXT:         - pdb
 POSIX-NEXT:         - '/usr/src/out.pdb'
 POSIX-NEXT:         - cmd
 POSIX-NEXT:         - '-debug -pdbsourcepath:/usr/src -entry:main -nodefaultlib -out:out.exe -pdb:out.pdb pdb_lines_1_relative.obj pdb_lines_2_relative.obj'
-
-POSIX-LABEL: IpiStream:
-POSIX:    - Kind:            LF_STRING_ID
-POSIX-NEXT:      StringId:
-POSIX-NEXT:        Id:              0
-POSIX-NEXT:        String:          '/usr/src'
-POSIX-NEXT:     - Kind:            LF_STRING_ID
-POSIX-NEXT:       StringId:
-POSIX-NEXT:         Id:              0
-POSIX-NEXT:         String:          pdb_lines_1.c
-POSIX-NEXT:     - Kind:            LF_STRING_ID
-POSIX-NEXT:       StringId:
-POSIX-NEXT:         Id:              0
-POSIX-NEXT:         String:          '/usr/src/buildninjaRel/bin/clang-cl.exe'

diff  --git a/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
index cf3c38c57f6d..f7041c0cc926 100644
--- a/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
@@ -77,7 +77,6 @@
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/FormatVariadic.h"
 #include "llvm/Support/Path.h"
-#include "llvm/Support/Program.h"
 #include "llvm/Support/SMLoc.h"
 #include "llvm/Support/ScopedPrinter.h"
 #include "llvm/Target/TargetLoweringObjectFile.h"
@@ -832,31 +831,6 @@ static TypeIndex getStringIdTypeIdx(GlobalTypeTableBuilder &TypeTable,
   return TypeTable.writeLeafType(SIR);
 }
 
-static std::string flattenCommandLine(ArrayRef<const char *> Args,
-                                      StringRef MainFilename) {
-  std::string FlatCmdLine;
-  raw_string_ostream OS(FlatCmdLine);
-  StringRef LastArg;
-  for (StringRef Arg : Args) {
-    if (Arg.empty())
-      continue;
-    // The command-line shall not contain the file to compile.
-    if (Arg == MainFilename && LastArg != "-main-file-name")
-      continue;
-    // Also remove the output file.
-    if (Arg == "-o" || LastArg == "-o") {
-      LastArg = Arg;
-      continue;
-    }
-    if (!LastArg.empty())
-      OS << " ";
-    llvm::sys::printArg(OS, Arg, /*Quote=*/true);
-    LastArg = Arg;
-  }
-  OS.flush();
-  return FlatCmdLine;
-}
-
 void CodeViewDebug::emitBuildInfo() {
   // First, make LF_BUILDINFO. It's a sequence of strings with various bits of
   // build info. The known prefix is:
@@ -877,16 +851,8 @@ void CodeViewDebug::emitBuildInfo() {
       getStringIdTypeIdx(TypeTable, MainSourceFile->getDirectory());
   BuildInfoArgs[BuildInfoRecord::SourceFile] =
       getStringIdTypeIdx(TypeTable, MainSourceFile->getFilename());
-  // FIXME: PDB is intentionally blank unless we implement /Zi type servers.
-  BuildInfoArgs[BuildInfoRecord::TypeServerPDB] =
-      getStringIdTypeIdx(TypeTable, "");
-  if (Asm->TM.Options.MCOptions.Argv0 != nullptr) {
-    BuildInfoArgs[BuildInfoRecord::BuildTool] =
-        getStringIdTypeIdx(TypeTable, Asm->TM.Options.MCOptions.Argv0);
-    BuildInfoArgs[BuildInfoRecord::CommandLine] = getStringIdTypeIdx(
-        TypeTable, flattenCommandLine(Asm->TM.Options.MCOptions.CommandLineArgs,
-                                      MainSourceFile->getFilename()));
-  }
+  // FIXME: Path to compiler and command line. PDB is intentionally blank unless
+  // we implement /Zi type servers.
   BuildInfoRecord BIR(BuildInfoArgs);
   TypeIndex BuildInfoIndex = TypeTable.writeLeafType(BIR);
 

diff  --git a/llvm/test/DebugInfo/COFF/build-info.ll b/llvm/test/DebugInfo/COFF/build-info.ll
index 983aa22214bc..94f006c3b093 100644
--- a/llvm/test/DebugInfo/COFF/build-info.ll
+++ b/llvm/test/DebugInfo/COFF/build-info.ll
@@ -5,7 +5,7 @@
 ; CHECK-NEXT:          0x{{.*}}: `D:\src\scopes\clang`
 ; CHECK-NEXT:          <no type>: ``
 ; CHECK-NEXT:          0x{{.*}}: `D:\src\scopes\foo.cpp`
-; CHECK-NEXT:          0x{{.*}}: ``
+; CHECK-NEXT:          <no type>: ``
 ; CHECK-NEXT:          <no type>: ``
 
 ; CHECK: {{.*}} | S_BUILDINFO [size = 8] BuildId = `[[INFO_IDX]]`

diff  --git a/llvm/test/DebugInfo/COFF/global-type-hashes.ll b/llvm/test/DebugInfo/COFF/global-type-hashes.ll
index 3c6c27301b20..70f9df156a5b 100644
--- a/llvm/test/DebugInfo/COFF/global-type-hashes.ll
+++ b/llvm/test/DebugInfo/COFF/global-type-hashes.ll
@@ -295,8 +295,7 @@ attributes #2 = { noinline nounwind optnone "correctly-rounded-divide-sqrt-fp-ma
 ; YAML:         - 4470750F2E319329
 ; YAML:         - 0FB556FD1FAB66D7
 ; YAML:         - 5970EFB4874D0F3F
-; YAML:         - D8EF11198C33843F
-; YAML:         - D81F744D7366282B
+; YAML:         - EDB1D74C120CF44A
 ; ...
 
 

diff  --git a/llvm/test/DebugInfo/COFF/types-basic.ll b/llvm/test/DebugInfo/COFF/types-basic.ll
index 6455452d125a..81e0c25d17cd 100644
--- a/llvm/test/DebugInfo/COFF/types-basic.ll
+++ b/llvm/test/DebugInfo/COFF/types-basic.ll
@@ -511,22 +511,14 @@
 ; ASM: .asciz	"t.cpp"                 # StringData
 ; ASM: .byte	242
 ; ASM: .byte	241
-; ASM: # StringId (0x1015)
-; ASM: .short	0xa                     # Record length
-; ASM: .short	0x1605                  # Record kind: LF_STRING_ID
-; ASM: .long	0x0                     # Id
-; ASM: .byte    0                       # StringData
-; ASM: .byte	243
-; ASM: .byte	242
-; ASM: .byte	241
-; ASM: # BuildInfo (0x1016)
+; ASM: # BuildInfo (0x1015)
 ; ASM: .short	0x1a                    # Record length
 ; ASM: .short	0x1603                  # Record kind: LF_BUILDINFO
 ; ASM: .short	0x5                     # NumArgs
 ; ASM: .long	0x1013                  # Argument: D:\src\llvm\build
 ; ASM: .long	0x0                     # Argument
 ; ASM: .long	0x1014                  # Argument: t.cpp
-; ASM: .long	0x1015                  # Argument
+; ASM: .long	0x0                     # Argument
 ; ASM: .long	0x0                     # Argument
 ; ASM: .byte	242
 ; ASM: .byte	241

diff  --git a/llvm/test/DebugInfo/COFF/types-data-members.ll b/llvm/test/DebugInfo/COFF/types-data-members.ll
index 1e699efdf8ed..87fde74b989c 100644
--- a/llvm/test/DebugInfo/COFF/types-data-members.ll
+++ b/llvm/test/DebugInfo/COFF/types-data-members.ll
@@ -727,22 +727,14 @@
 ; ASM: .asciz	"t.cpp"                 # StringData
 ; ASM: .byte	242
 ; ASM: .byte	241
-; ASM: # StringId (0x1022)
-; ASM: .short	0xa                     # Record length
-; ASM: .short	0x1605                  # Record kind: LF_STRING_ID
-; ASM: .long	0x0                     # Id
-; ASM: .byte    0                       # StringData
-; ASM: .byte	243
-; ASM: .byte	242
-; ASM: .byte	241
-; ASM: # BuildInfo (0x1023)
+; ASM: # BuildInfo (0x1022)
 ; ASM: .short	0x1a                    # Record length
 ; ASM: .short	0x1603                  # Record kind: LF_BUILDINFO
 ; ASM: .short	0x5                     # NumArgs
 ; ASM: .long	0x1020                  # Argument: D:\src\llvm\build
 ; ASM: .long	0x0                     # Argument
 ; ASM: .long	0x1021                  # Argument: t.cpp
-; ASM: .long	0x1022                  # Argument
+; ASM: .long	0x0                     # Argument
 ; ASM: .long	0x0                     # Argument
 ; ASM: .byte	242
 ; ASM: .byte	241


        


More information about the cfe-commits mailing list