[PATCH] D103717: [InstrProfiling] Make __profd_ unconditionally private for ELF

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 17 23:40:57 PDT 2021


MaskRay added a comment.

In D103717#2826247 <https://reviews.llvm.org/D103717#2826247>, @nathanchance wrote:

> This patch breaks a two stage instrumented build::
>
>   $ cmake \
>       -B build/stage1 \
>       -G Ninja \
>       -Wno-dev \
>       -DCMAKE_BUILD_TYPE=Release \
>       -DCMAKE_C_COMPILER=clang \
>       -DCMAKE_CXX_COMPILER=clang++ \
>       -DLLVM_CCACHE_BUILD=ON \
>       -DLLVM_ENABLE_PROJECTS="clang;compiler-rt;lld" \
>       -DLLVM_TARGETS_TO_BUILD=host \
>       -DLLVM_USE_LINKER=lld \
>       llvm
>   
>   $ ninja -C build/stage1
>   
>   $ export PATH=$PWD/build/stage1/bin:$PATH
>   
>   $ cmake \
>       -B build/stage2 \
>       -G Ninja \
>       -Wno-dev \
>       -DCLANG_TABLEGEN=$(command -v clang-tblgen) \
>       -DCMAKE_AR=$(command -v llvm-ar) \
>       -DCMAKE_BUILD_TYPE=Release \
>       -DCMAKE_C_COMPILER=$(command -v clang) \
>       -DCMAKE_CXX_COMPILER=$(command -v clang++) \
>       -DCMAKE_RANLIB=$(command -v llvm-ranlib) \
>       -DLLVM_BUILD_INSTRUMENTED=IR \
>       -DLLVM_BUILD_RUNTIME=OFF \
>       -DLLVM_ENABLE_ASSERTIONS=ON \
>       -DLLVM_ENABLE_PROJECTS="clang;lld" \
>       -DLLVM_ENABLE_TERMINFO=OFF \
>       -DLLVM_ENABLE_WARNINGS=OFF \
>       -DLLVM_TABLEGEN=$(command -v llvm-tblgen) \
>       -DLLVM_TARGETS_TO_BUILD=host \
>       -DLLVM_USE_LINKER=$(command -v ld.lld) \
>       llvm
>   
>   $ ninja -C build/stage2
>   ...
>   ld.lld: error: relocation refers to a discarded section: __llvm_prf_data
>   >>> defined in utils/TableGen/CMakeFiles/llvm-tblgen.dir/AsmWriterEmitter.cpp.o
>   >>> referenced by AsmWriterEmitter.cpp
>   >>>               utils/TableGen/CMakeFiles/llvm-tblgen.dir/AsmWriterEmitter.cpp.o:((anonymous namespace)::AsmWriterEmitter::run(llvm::raw_ostream&))
>   >>> referenced by AsmWriterEmitter.cpp
>   >>>               utils/TableGen/CMakeFiles/llvm-tblgen.dir/AsmWriterEmitter.cpp.o:((anonymous namespace)::AsmWriterEmitter::run(llvm::raw_ostream&))
>   >>> referenced by AsmWriterEmitter.cpp
>   >>>               utils/TableGen/CMakeFiles/llvm-tblgen.dir/AsmWriterEmitter.cpp.o:((anonymous namespace)::AsmWriterEmitter::run(llvm::raw_ostream&))
>   >>> referenced 232 more times
>   
>   ld.lld: error: relocation refers to a discarded section: __llvm_prf_data
>   >>> defined in utils/TableGen/CMakeFiles/llvm-tblgen.dir/AsmWriterEmitter.cpp.o
>   >>> referenced by AsmWriterEmitter.cpp
>   >>>               utils/TableGen/CMakeFiles/llvm-tblgen.dir/AsmWriterEmitter.cpp.o:((anonymous namespace)::AsmWriterEmitter::run(llvm::raw_ostream&))
>   >>> referenced by AsmWriterEmitter.cpp
>   >>>               utils/TableGen/CMakeFiles/llvm-tblgen.dir/AsmWriterEmitter.cpp.o:((anonymous namespace)::AsmWriterEmitter::run(llvm::raw_ostream&))
>   >>> referenced by AsmWriterEmitter.cpp
>   >>>               utils/TableGen/CMakeFiles/llvm-tblgen.dir/AsmWriterEmitter.cpp.o:((anonymous namespace)::AsmWriterEmitter::run(llvm::raw_ostream&))
>   >>> referenced 8 more times
>   ...

Thanks for reporting the issue. Reverted in 5798be84580be233e4cf34c08ceec8f79e80502e <https://reviews.llvm.org/rG5798be84580be233e4cf34c08ceec8f79e80502e> (which has detailed descriptions)
I made a mistake in my stage-2 testing so I wasn't actually testing stage-2 so failed to catch the static value profiler counter issue...


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D103717/new/

https://reviews.llvm.org/D103717



More information about the llvm-commits mailing list