[PATCH] Fix regression introduced in r205566.

Rui Ueyama ruiu at google.com
Mon May 12 16:34:21 PDT 2014


Hi atanasyan,

In r205566, I made a change to Resolver so that Resolver revisit
only archive files in --start-group and --end-group pair. That's
not correct, as it also has to revisit DSO files.

This patch is to fix the issue. I once tried to just revisit DSO
files in a group, but it made Resolver to fall in an infinite loop.
I needed to fix the bug that Resolver loops over a group even if
no undefined symbols are newly created in the group.

Added a test to demonstrate the fix. I confirmed that it succeeded
before r205566, failed after r205566, and is ok with this patch.

http://reviews.llvm.org/D3734

Files:
  include/lld/Core/Resolver.h
  include/lld/Core/SymbolTable.h
  include/lld/Driver/GnuLdInputGraph.h
  lib/Core/Resolver.cpp
  lib/Core/SymbolTable.cpp
  test/elf/X86_64/Inputs/group/group.sh
  test/elf/X86_64/Inputs/group/libfn2.so
  test/elf/X86_64/startGroupEndGroup.test
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D3734.9329.patch
Type: text/x-patch
Size: 8917 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140512/a25866e9/attachment.bin>


More information about the llvm-commits mailing list