Commit 90ba9a2d authored by Jan Beulich's avatar Jan Beulich

x86: avoid SORT_BY_INIT_PRIORITY with old GNU ld

Support for this construct was added in 2.22 only. Avoid the need to
introduce logic to probe for linker script capabilities by (ab)using the
probe for a command line option having appeared at about the same time.

Note that this remains x86-specific because Arm is unaffected, by
requiring GNU ld 2.24 or newer.

Fixes: 4b7fd815 ("x86: fold sections in final binaries")
Signed-off-by: default avatarJan Beulich <jbeulich@suse.com>
Reviewed-by: default avatarRoger Pau Monné <roger.pau@citrix.com>
parent c1d5e402
......@@ -73,6 +73,16 @@ ifeq ($(CONFIG_UBSAN),y)
$(call cc-option-add,CFLAGS_UBSAN,CC,-fno-sanitize=alignment)
endif
ifeq ($(CONFIG_LD_IS_GNU),y)
# While not much better than going by raw GNU ld version, utilize that the
# feature we're after has appeared in the same release as the
# --print-output-format command line option.
AFLAGS-$(call ld-option,--print-output-format) += -DHAVE_LD_SORT_BY_INIT_PRIORITY
else
# Assume all versions of LLD support this.
AFLAGS += -DHAVE_LD_SORT_BY_INIT_PRIORITY
endif
ifneq ($(CONFIG_PV_SHIM_EXCLUSIVE),y)
efi-check := arch/x86/efi/check
......
......@@ -36,6 +36,10 @@ ENTRY(start_pa)
# define SECTION_ALIGN PAGE_SIZE
#endif
#ifndef HAVE_LD_SORT_BY_INIT_PRIORITY
# define SORT_BY_INIT_PRIORITY SORT
#endif
OUTPUT_FORMAT(FORMAT, FORMAT, FORMAT)
OUTPUT_ARCH(i386:x86-64)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment