[lld] r351409 - Revert "[WebAssembly] Merge producers section"

Thomas Lively via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 16 16:34:44 PST 2019


Author: tlively
Date: Wed Jan 16 16:34:44 2019
New Revision: 351409

URL: http://llvm.org/viewvc/llvm-project?rev=351409&view=rev
Log:
Revert "[WebAssembly] Merge producers section"

This reverts commit 71eaf61c6c121c8c3bcaf3490557e92cf81599cb. One of
the lld tests was breaking, so revert this change until it is fixed.

Modified:
    lld/trunk/wasm/InputFiles.cpp
    lld/trunk/wasm/InputFiles.h
    lld/trunk/wasm/Writer.cpp

Modified: lld/trunk/wasm/InputFiles.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/wasm/InputFiles.cpp?rev=351409&r1=351408&r2=351409&view=diff
==============================================================================
--- lld/trunk/wasm/InputFiles.cpp (original)
+++ lld/trunk/wasm/InputFiles.cpp Wed Jan 16 16:34:44 2019
@@ -240,8 +240,6 @@ void ObjFile::parse() {
       CustomSections.emplace_back(make<InputSection>(Section, this));
       CustomSections.back()->setRelocations(Section.Relocations);
       CustomSectionsByIndex[SectionIndex] = CustomSections.back();
-      if (Section.Name == "producers")
-        ProducersSection = &Section;
     }
     SectionIndex++;
   }

Modified: lld/trunk/wasm/InputFiles.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/wasm/InputFiles.h?rev=351409&r1=351408&r2=351409&view=diff
==============================================================================
--- lld/trunk/wasm/InputFiles.h (original)
+++ lld/trunk/wasm/InputFiles.h Wed Jan 16 16:34:44 2019
@@ -99,7 +99,6 @@ public:
 
   const WasmSection *CodeSection = nullptr;
   const WasmSection *DataSection = nullptr;
-  const WasmSection *ProducersSection = nullptr;
 
   // Maps input type indices to output type indices
   std::vector<uint32_t> TypeMap;
@@ -140,7 +139,7 @@ public:
 };
 
 // Will report a fatal() error if the input buffer is not a valid bitcode
-// or wasm object file.
+// or was object file.
 InputFile *createObjectFile(MemoryBufferRef MB);
 
 // Opens a given file.

Modified: lld/trunk/wasm/Writer.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/wasm/Writer.cpp?rev=351409&r1=351408&r2=351409&view=diff
==============================================================================
--- lld/trunk/wasm/Writer.cpp (original)
+++ lld/trunk/wasm/Writer.cpp Wed Jan 16 16:34:44 2019
@@ -21,8 +21,6 @@
 #include "lld/Common/Strings.h"
 #include "lld/Common/Threads.h"
 #include "llvm/ADT/DenseSet.h"
-#include "llvm/ADT/SmallSet.h"
-#include "llvm/ADT/SmallVector.h"
 #include "llvm/ADT/StringMap.h"
 #include "llvm/BinaryFormat/Wasm.h"
 #include "llvm/Object/WasmTraits.h"
@@ -97,7 +95,6 @@ private:
   void createRelocSections();
   void createLinkingSection();
   void createNameSection();
-  void createProducersSection();
 
   void writeHeader();
   void writeSections();
@@ -330,8 +327,7 @@ void Writer::calculateCustomSections() {
       StringRef Name = Section->getName();
       // These custom sections are known the linker and synthesized rather than
       // blindly copied
-      if (Name == "linking" || Name == "name" || Name == "producers" ||
-          Name.startswith("reloc."))
+      if (Name == "linking" || Name == "name" || Name.startswith("reloc."))
         continue;
       // .. or it is a debug section
       if (StripDebug && Name.startswith(".debug_"))
@@ -637,43 +633,6 @@ void Writer::createNameSection() {
   Sub.writeTo(Section->getStream());
 }
 
-void Writer::createProducersSection() {
-  SmallVector<std::pair<std::string, std::string>, 8> Languages;
-  SmallVector<std::pair<std::string, std::string>, 8> Tools;
-  SmallVector<std::pair<std::string, std::string>, 8> SDKs;
-  for (ObjFile *File : Symtab->ObjectFiles) {
-    const WasmProducerInfo &Info = File->getWasmObj()->getProducerInfo();
-    for (auto &Producers : {std::make_pair(&Info.Languages, &Languages),
-                            std::make_pair(&Info.Tools, &Tools),
-                            std::make_pair(&Info.SDKs, &SDKs)}) {
-      llvm::SmallSet<StringRef, 8> SeenProducers;
-      for (auto &Producer : *Producers.first)
-        if (SeenProducers.insert(Producer.first).second)
-          Producers.second->push_back(Producer);
-    }
-  }
-  int FieldCount =
-      int(!Languages.empty()) + int(!Tools.empty()) + int(!SDKs.empty());
-  if (FieldCount == 0)
-    return;
-  SyntheticSection *Section =
-      createSyntheticSection(WASM_SEC_CUSTOM, "producers");
-  auto &OS = Section->getStream();
-  writeUleb128(OS, FieldCount, "field count");
-  for (auto &Field : {std::make_pair(StringRef("language"), Languages),
-                      std::make_pair(StringRef("processed-by"), Tools),
-                      std::make_pair(StringRef("sdk"), SDKs)}) {
-    if (Field.second.empty())
-      continue;
-    writeStr(OS, Field.first, "field name");
-    writeUleb128(OS, Field.second.size(), "number of entries");
-    for (auto &Entry : Field.second) {
-      writeStr(OS, Entry.first, "producer name");
-      writeStr(OS, Entry.second, "producer version");
-    }
-  }
-}
-
 void Writer::writeHeader() {
   memcpy(Buffer->getBufferStart(), Header.data(), Header.size());
 }
@@ -813,13 +772,9 @@ void Writer::createSections() {
     createLinkingSection();
     createRelocSections();
   }
-
   if (!Config->StripDebug && !Config->StripAll)
     createNameSection();
 
-  if (!Config->StripAll)
-    createProducersSection();
-
   for (OutputSection *S : OutputSections) {
     S->setOffset(FileSize);
     S->finalizeContents();




More information about the llvm-commits mailing list