• Daniel Bristot de Oliveira's avatar
    tools/rtla: Fix Makefile compiler options for clang · bc4cbc9d
    Daniel Bristot de Oliveira authored
    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
    
    Link: https://lore.kernel.org/linux-trace-kernel/567ac1b94effc228ce9a0225b9df7232a9b35b55.1707217097.git.bristot@kernel.org
    
    Cc: stable@vger.kernel.org
    Cc: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Nathan Chancellor <nathan@kernel.org>
    Cc: Nick Desaulniers <ndesaulniers@google.com>
    Cc: Bill Wendling <morbo@google.com>
    Cc: Justin Stitt <justinstitt@google.com>
    Fixes: 1a7b22ab ("tools/rtla: Build with EXTRA_{C,LD}FLAGS")
    Suggested-by: default avatarDonald Zickus <dzickus@redhat.com>
    Signed-off-by: default avatarDaniel Bristot de Oliveira <bristot@kernel.org>
    bc4cbc9d
Makefile 5.23 KB