Skip to content
  • Paolo Bonzini's avatar
    db5adeaa
    build-sys: clean up flags included in the linker command line · db5adeaa
    Paolo Bonzini authored
    
    
    Some of the CFLAGS that are discovered during configure, for example
    compiler warnings, are being included on the linker command line because
    QEMU_CFLAGS is added to it.  Other flags, such as the -m32, appear twice
    because they are included in both QEMU_CFLAGS and LDFLAGS.  All this
    leads to confusion with respect to what goes in which Makefile variables
    (and we have plenty).
    
    So, introduce QEMU_LDFLAGS for flags discovered by configure, following
    the lead of QEMU_CFLAGS, and stop adding to it:
    
    1) options that are already in CFLAGS, for example "-g"
    
    2) duplicate options
    
    At the same time, options that _are_ needed by both compiler and linker
    must now be added to both QEMU_CFLAGS and QEMU_LDFLAGS, which is clearer.
    This is mostly -fsanitize options.  For now, --extra-cflags has this behavior
    (but --extra-cxxflags does not).
    
    Meson will not include CFLAGS on the linker command line, do the same in our
    build system as well.
    
    Signed-off-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    db5adeaa
    build-sys: clean up flags included in the linker command line
    Paolo Bonzini authored
    
    
    Some of the CFLAGS that are discovered during configure, for example
    compiler warnings, are being included on the linker command line because
    QEMU_CFLAGS is added to it.  Other flags, such as the -m32, appear twice
    because they are included in both QEMU_CFLAGS and LDFLAGS.  All this
    leads to confusion with respect to what goes in which Makefile variables
    (and we have plenty).
    
    So, introduce QEMU_LDFLAGS for flags discovered by configure, following
    the lead of QEMU_CFLAGS, and stop adding to it:
    
    1) options that are already in CFLAGS, for example "-g"
    
    2) duplicate options
    
    At the same time, options that _are_ needed by both compiler and linker
    must now be added to both QEMU_CFLAGS and QEMU_LDFLAGS, which is clearer.
    This is mostly -fsanitize options.  For now, --extra-cflags has this behavior
    (but --extra-cxxflags does not).
    
    Meson will not include CFLAGS on the linker command line, do the same in our
    build system as well.
    
    Signed-off-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
Loading