[cfe-dev] Another Linker error with clang++

Eric Christopher echristo at apple.com
Thu Sep 15 13:49:54 PDT 2011


On Sep 15, 2011, at 1:08 PM, Devchandra L Meetei wrote:

> Eric
> Extract from the clang++ compile without debug info. See the warnings which follows also.
> Is there a better way to improve on this.
> 

This is getting a bit more interesting...

> /home/deleisha/CodeSpace/build/Release/bin/clang++ -c -o /home/deleisha/CodeSpace/pegasus/pkg/obj/Pegasus/DynListener/Service/cimlistener.o -W -Wall -Wno-unused -Wno-unused-parameter -D_GNU_SOURCE -DTHREAD_SAFE -D_REENTRANT -s -O2 -m64 -fvisibility=hidden -fPIE -fno-enforce-eh-specs -DPEGASUS_INTERNALONLY -DPEGASUS_CONSUMER_INTERNAL  -DPEGASUS_PLATFORM_LINUX_GENERIC_GNU -DPEGASUS_PLATFORM_LINUX_X86_64_GNU -DPEGASUS_USE_SYSLOGS -DPEGASUS_ARCH_LIB=\"lib64\" -DPEGASUS_USE_SQLITE_REPOSITORY -DPEGASUS_ENABLE_CQL -DPEGASUS_DEFAULT_ENABLE_OOP -DPEGASUS_DISABLE_PROV_USERCTXT -DPEGASUS_DISABLE_EXECQUERY -DPEGASUS_ENABLE_AUDIT_LOGGER -DPEGASUS_ENABLE_IPV6 -DPEGASUS_ENABLE_INDICATION_COUNT -DPEGASUS_ENABLE_INTEROP_PROVIDER -DPEGASUS_USE_EXPERIMENTAL_INTERFACES -DPEGASUS_USE_DEPRECATED_INTERFACES -DPEGASUS_ENABLE_CMPI_PROVIDER_MANAGER -DPEGASUS_DEST_LIB_DIR=\"lib\" -DPEGASUS_ENABLE_PROTOCOL_WSMAN -DPEGASUS_EXTRA_PROVIDER_LIB_DIR=\"\" -DPLATFORM_COMPONENT_NAME=\"cimlistener\"  -I/home/deleisha/CodeSpace/pegasus/src  cimlistener.cpp
> clang: warning: argument unused during compilation: '-s'
> clang: warning: argument unused during compilation: '-fno-enforce-eh-specs'
> 
> g++ without -g
> -----------------
> real    6m45.524s
> user    5m38.231s
> sys    0m48.052s
> 
> 8.4M    pkg/bin/
> 12M    pkg/lib/
> 
> 
> clang without -g
> real    6m26.595s
> user    5m17.367s
> sys    0m40.888s
> 
> memory foot print
> 9.5M    ./pkg/bin/
> 13M    ./pkg/lib/
>   

How are you grabbing the footprint? Is this just compile time or does it include link time? What are the relative sizes of the resultant binaries? Can you separate out compiling object files from linking? i.e. if most of the work is being done in the linker then there's not much we can do). Do you have timings for individual objects in the build? I.e. is there a particular object file that's taking much longer/more memory? How are you getting the memory footprint?

-eric



More information about the cfe-dev mailing list