[PATCH] D32689: DEF: migrate def parser from LLD to LLVM

Martell Malone via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat May 13 15:26:06 PDT 2017


martell updated this revision to Diff 98902.
martell added a comment.

I'm starting to feel like lld/COFF has a flaky text in exports.text and exports32.test
In the two that use echo to create a def file.

  # RUN: yaml2obj < %s > %t.obj
  # RUN: echo "EXPORTS exportfn1 @3" > %t.def
  # RUN: echo "fn2=exportfn2 @2" >> %t.def
  # RUN: lld-link /out:%t.dll /dll %t.obj /def:%t.def
  # RUN: llvm-objdump -p %t.dll | FileCheck -check-prefix=CHECK5 %s
  
  # CHECK5:      Export Table:
  # CHECK5:      DLL name: export32.test.tmp.dll
  # CHECK5:      Ordinal      RVA  Name
  # CHECK5-NEXT:       0        0
  # CHECK5-NEXT:       1        0
  # CHECK5-NEXT:       2   0x1010  fn2
  # CHECK5-NEXT:       3   0x1008  exportfn1
  # CHECK5-NEXT:       4   0x1010  exportfn3

If I run the commands manually from the terminal I get the correct result.

but when it is run as part of the test suite I get.

  Export Table:
   DLL name: export32.test.tmp.dll
   Ordinal base: 0
   Ordinal      RVA  Name
         0        0
         1   0x1010  exportfn3
         2   0x1008  f1
         3   0x1010  f2

It is the only one that uses echo and I literally can not reproduce manually


Repository:
  rL LLVM

https://reviews.llvm.org/D32689

Files:
  include/llvm/Object/COFFImportFile.h
  include/llvm/Object/COFFModuleDefinition.h
  lib/Object/CMakeLists.txt
  lib/Object/COFFImportFile.cpp
  lib/Object/COFFModuleDefinition.cpp
  tools/lld/COFF/CMakeLists.txt
  tools/lld/COFF/Driver.cpp
  tools/lld/COFF/Driver.h
  tools/lld/COFF/Librarian.cpp
  tools/lld/COFF/ModuleDef.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D32689.98902.patch
Type: text/x-patch
Size: 59777 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170513/a83259cc/attachment.bin>


More information about the llvm-commits mailing list