Skip to content
Snippets Groups Projects
  1. Mar 24, 2021
    • Richard Henderson's avatar
      exec: Build page-vary-common.c with -fno-lto · 44b99a6d
      Richard Henderson authored
      
      In bbc17caf, we used an alias attribute to allow target_page
      to be declared const, and yet be initialized late.
      
      This fails when using LTO with several versions of gcc.
      The compiler looks through the alias and decides that the const
      variable is statically initialized to zero, then propagates that
      zero to many uses of the variable.
      
      This can be avoided by compiling one object file with -fno-lto.
      In this way, any initializer cannot be seen, and the constant
      propagation does not occur.
      
      Since we are certain to have this separate compilation unit, we
      can drop the alias attribute as well.  We simply have differing
      declarations for target_page in different compilation units.
      Drop the use of init_target_page, and drop the configure detection
      for CONFIG_ATTRIBUTE_ALIAS.
      
      In order to change the compilation flags for a file with meson,
      we must use a static_library.  This runs into specific_ss, where
      we would need to create many static_library instances.
      
      Fix this by splitting page-vary.c: the page-vary-common.c part is
      compiled once as a static_library, while the page-vary.c part is
      left in specific_ss in order to handle the target-specific value
      of TARGET_PAGE_BITS_MIN.
      
      Reported-by: default avatarGavin Shan <gshan@redhat.com>
      Signed-off-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Message-Id: <20210321211534.2101231-1-richard.henderson@linaro.org>
      [PMD: Fix typo in subject, split original patch in 3]
      Signed-off-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Tested-by: default avatarGavin Shan <gshan@redhat.com>
      Message-Id: <20210322112427.4045204-4-f4bug@amsat.org>
      [rth: Update MAINTAINERS]
      Signed-off-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      44b99a6d
    • Richard Henderson's avatar
      exec: Rename exec-vary.c as page-vary.c · 6670d4d0
      Richard Henderson authored
      
      exec-vary.c is about variable page size handling,
      rename it page-vary.c. Currently this file is target
      specific (built once for each target), comment this.
      
      Signed-off-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Message-Id: <20210322112427.4045204-2-f4bug@amsat.org>
      [rth: Update MAINTAINERS]
      Signed-off-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      6670d4d0
  2. Nov 15, 2020
  3. Oct 28, 2019
Loading