-
Notifications
You must be signed in to change notification settings - Fork 15.4k
Closed
Labels
bugzillaIssues migrated from bugzillaIssues migrated from bugzillainvalidResolved as invalid, i.e. not a bugResolved as invalid, i.e. not a bugtools:llvm-ar/llvm-ranlib
Description
| Bugzilla Link | 3847 |
| Resolution | INVALID |
| Resolved on | Mar 20, 2009 10:57 |
| Version | trunk |
| OS | Linux |
| Reporter | LLVM Bugzilla Contributor |
Extended Description
Even with the recent work to use an export map, LLVM tools are still spending an unreasonable amount of time in the dynamic linker on Linux.
Over 2 million instructions just to print an error message:
ddunbar@frank:tmp$ valgrind --tool=callgrind ~/llvm/Release-Asserts/bin/llvm-ar
==31810== Callgrind, a call-graph generating cache profiler.
==31810== Copyright (C) 2002-2008, and GNU GPL'd, by Josef Weidendorfer et al.
==31810== Using LibVEX rev 1884, a library for dynamic binary translation.
==31810== Copyright (C) 2004-2008, and GNU GPL'd, by OpenWorks LLP.
==31810== Using valgrind-3.4.1-Debian, a dynamic binary instrumentation framework.
==31810== Copyright (C) 2000-2008, and GNU GPL'd, by Julian Seward et al.
==31810== For more details, rerun with: -v
==31810==
==31810== For interactive control, run 'callgrind_control -h'.
llvm-ar: Not enough positional command line arguments specified!
Must specify at least 2 positional arguments: See: /home/ddunbar/llvm/Release-Asserts/bin/llvm-ar --help
==31810==
==31810== Events : Ir
==31810== Collected : 2178896
==31810==
==31810== I refs: 2,178,896
Here is the tools link line:
g++ -I/home/ddunbar/llvm.trunk/include -I/home/ddunbar/llvm.trunk/tools/llvm-ar -DNDEBUG -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -O3 -fomit-frame-pointer -fPIC -Woverloaded-virtual -pedantic -Wall -W -Wwrite-strings -Wno-long-long -Wunused -Wno-unused-parameter -O3 -Wl,-R -Wl,/home/ddunbar/llvm.trunk/Release-Asserts/bin -Wl,-export-dynamic -L/home/ddunbar/llvm.trunk/Release-Asserts/lib -L/home/ddunbar/llvm.trunk/Release-Asserts/lib -Wl,--version-script=/home/ddunbar/llvm.trunk/autoconf/ExportMap.map -o /home/ddunbar/llvm.trunk/Release-Asserts/bin/llvm-ar /home/ddunbar/llvm.trunk/tools/llvm-ar/Release-Asserts/llvm-ar.o
-lLLVMArchive -lLLVMBitReader -lLLVMCore -lLLVMSupport -lLLVMSystem -lpthread -ldl -lm -lelf
and nm shows 2644 external symbols:
ddunbar@frank:tmp$ nm --extern-only ~/llvm/Release-Asserts/bin/llvm-ar | wc -l
2644
Metadata
Metadata
Assignees
Labels
bugzillaIssues migrated from bugzillaIssues migrated from bugzillainvalidResolved as invalid, i.e. not a bugResolved as invalid, i.e. not a bugtools:llvm-ar/llvm-ranlib