Skip to content

tools/rtla: Fix Makefile compiler options for clang (DO NOT MERGE)

Don Zickus requested to merge clang-fixes-for-rv into os-build

The following errors are showing up when compiling rtla with clang:

$ make HOSTCC=clang CC=clang LLVM_IAS=1 [...]

clang -O -g -DVERSION="6.8.0-rc1" -flto=auto -ffat-lto-objects -fexceptions -fstack-protector-strong -fasynchronous-unwind-tables -fstack-clash-protection -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -Wno-maybe-uninitialized $(pkg-config --cflags libtracefs) -c -o src/utils.o src/utils.c

clang: warning: optimization flag '-ffat-lto-objects' is not supported [-Wignored-optimization-argument] warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean '-Wno-uninitialized'? [-Wunknown-warning-option] 1 warning generated.

clang -o rtla -ggdb src/osnoise.o src/osnoise_hist.o src/osnoise_top.o src/rtla.o src/timerlat_aa.o src/timerlat.o src/timerlat_hist.o src/timerlat_top.o src/timerlat_u.o src/trace.o src/utils.o $(pkg-config --libs libtracefs)

src/osnoise.o: file not recognized: file format not recognized clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [Makefile:110: rtla] Error 1

Solve these issues by:

  • removing -ffat-lto-objects and -Wno-maybe-uninitialized if using clang
  • informing the linker about -flto=auto

Reported-by: Donald Zickus dzickus@redhat.com Signed-off-by: Daniel Bristot de Oliveira bristot@kernel.org

Merge request reports