[PATCH] Fix regression introduced in r205566.
Simon Atanasyan
simon at atanasyan.com
Tue May 13 07:43:35 PDT 2014
It looks like there is a bug in this patch. The lld linker hangs when build `a.out` executable in the following test case.
% cat main.c
int foo();
int main() {
return foo();
}
% cat foo.c
int bar();
int foo() {
return bar();
}
% cat bar.c
void func();
int bar() {
return 0;
}
int bar1() {
func();
return 0;
}
% gcc -c main.c foo.c
% gcc -c -fPIC bar.c
% lld -flavor gnu -target x86_64 -shared --noinhibit-exec -o libbar.so bar.o
% lld -flavor gnu -target x86_64 -e main -o a.out main.o --start-group libbar.so foo.o --end-group
Probably because each time we scan libbar.so we find the undefined symbol `func` and call the `notifyProgress()` and go to the next scan.
http://reviews.llvm.org/D3734
More information about the llvm-commits
mailing list