Skip to content
  • Marek Behún's avatar
    build: support building with Link Time Optimizations · c1094987
    Marek Behún authored and Tom Rini's avatar Tom Rini committed
    
    
    Add plumbing for building U-Boot with Link Time Optimizations.
    
    When building with LTO, $(PLATFORM_LIBS) has to be in --whole-archive /
    --no-whole-archive group, otherwise some functions declared in assembly
    may not be resolved and linking may fail.
    
    Note: clang may throw away linker list symbols it thinks are unused when
    compiling with LTO. To force these symbols to be included, we refer to
    them via the __ADDRESSABLE macro in a C file generated from compiled
    built-in.o files before linking.
    
    Signed-off-by: default avatarMarek Behún <marek.behun@nic.cz>
    Reviewed-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
    c1094987