[LLVMbugs] [Bug 3847] New: excessive amount of startup time is spent in ld

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Thu Mar 19 22:26:51 PDT 2009


http://llvm.org/bugs/show_bug.cgi?id=3847

           Summary: excessive amount of startup time is spent in ld
           Product: tools
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: llvm-ar
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: daniel at zuster.org
                CC: llvmbugs at cs.uiuc.edu


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 at 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 at frank:tmp$ nm --extern-only ~/llvm/Release-Asserts/bin/llvm-ar | wc -l
2644
--


-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list