Re: [RFC] Un-staticise the toolchain

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Thu, 26 Apr 2012 14:24:28 +0200
On 2012-04-26 13:53, David Chisnall wrote:
...
> I did some benchmarks a little while ago, and there was, I think, about a 5% slowdown on buildworld with a dynamically linked clang vs a statically linked one on x86-64.  Ideally, I'd want the bootstrap compiler to be statically linked but the installed one to be dynamic.  

This is already the case, all bootstrap toolchain components are statically linked:

$ file /usr/obj/usr/src/tmp/usr/bin/*
/usr/obj/usr/src/tmp/usr/bin/CC:              ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/addr2line:       ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/as:              ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/bugpoint:        ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/c++:             ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/c++filt:         ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/cc:              ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/clang:           ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/clang++:         ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/clang-cpp:       ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/clang-tblgen:    ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/cpp:             ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/g++:             ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/gcc:             ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/gcov:            ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/gcpp:            ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/gnu-ar:          ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/gnu-ranlib:      ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/ld:              ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/lint:            ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/llc:             ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/lli:             ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/llvm-ar:         ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/llvm-as:         ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/llvm-bcanalyzer: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/llvm-diff:       ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/llvm-dis:        ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/llvm-extract:    ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/llvm-ld:         ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/llvm-link:       ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/llvm-mc:         ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/llvm-nm:         ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/llvm-objdump:    ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/llvm-prof:       ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/llvm-ranlib:     ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/llvm-rtdyld:     ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/llvm-stub:       ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/macho-dump:      ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/nm:              ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/objcopy:         ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/objdump:         ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/opt:             ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/readelf:         ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/size:            ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/strings:         ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/strip:           ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
/usr/obj/usr/src/tmp/usr/bin/tblgen:          ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, for FreeBSD 9.0 (900505), not stripped
Received on Thu Apr 26 2012 - 10:24:28 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:26 UTC