[PATCH] D33326: Merge IAT and ILT.

Rui Ueyama via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 18 10:49:48 PDT 2017


ruiu created this revision.
Herald added a subscriber: javed.absar.

Previously, LLD-produced executables had IAT (Import Address Table) and
ILT (Import Lookup Table) as separate chunks of data, although their
contents are identical. My interpretation of the COFF spec when I wrote
the COFF linker is that they need to be separate tables even though they
are the same.

But Peter found that the Windows loader is fine with executables in
which IAT and ILT are merged. This is a patch to merge IAT and ILT.
I confirmed that an lld-link self-hosted with this patch works fine.

Fixes https://bugs.llvm.org/show_bug.cgi?id=33064


https://reviews.llvm.org/D33326

Files:
  lld/COFF/DLL.cpp
  lld/COFF/DLL.h
  lld/test/COFF/armnt-imports.test
  lld/test/COFF/hello32.test
  lld/test/COFF/imports.test

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D33326.99463.patch
Type: text/x-patch
Size: 4002 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170518/eb208a2a/attachment.bin>


More information about the llvm-commits mailing list