mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
xen: remove -N from the linker command line
It's unclear why -N is being used in the first place. It was added by
commit 4676bbf96d back in 2002 without any justification.
When building a PE image it's actually detrimental to forcefully set the
.text section as writable. The GNU LD man page contains the following
warning regarding the -N option:
> Note: Although a writable text section is allowed for PE-COFF targets, it
> does not conform to the format specification published by Microsoft.
Remove the usage of -N uniformly on all architectures, assuming that the
addition was simply done as a copy and paste of the original x86 linking
rune.
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Julien Grall <jgrall@amazon.com>
This commit is contained in:
1 parent
4aae4452ef
commit
d444763f8c
4 files changed
+15
-15
No files matched your search
@@ -97,19 +97,19 @@ ifeq ($(CONFIG_ARM_64),y)
|
||||
endif
|
||||
|
||||
$(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
|
||||
$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
|
||||
$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< \
|
||||
$(objtree)/common/symbols-dummy.o -o $(dot-target).0
|
||||
$(NM) -pa --format=sysv $(dot-target).0 \
|
||||
| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
|
||||
> $(dot-target).0.S
|
||||
$(MAKE) $(build)=$(@D) $(dot-target).0.o
|
||||
$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
|
||||
$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< \
|
||||
$(dot-target).0.o -o $(dot-target).1
|
||||
$(NM) -pa --format=sysv $(dot-target).1 \
|
||||
| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
|
||||
> $(dot-target).1.S
|
||||
$(MAKE) $(build)=$(@D) $(dot-target).1.o
|
||||
$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
|
||||
$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
|
||||
$(dot-target).1.o -o $@
|
||||
$(NM) -pa --format=sysv $@ \
|
||||
| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
|
||||
|
||||
@@ -12,19 +12,19 @@ $(TARGET): $(TARGET)-syms
|
||||
cp -f $< $@
|
||||
|
||||
$(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
|
||||
$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
|
||||
$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< \
|
||||
$(objtree)/common/symbols-dummy.o -o $(dot-target).0
|
||||
$(NM) -pa --format=sysv $(dot-target).0 \
|
||||
| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
|
||||
> $(dot-target).0.S
|
||||
$(MAKE) $(build)=$(@D) $(dot-target).0.o
|
||||
$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
|
||||
$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< \
|
||||
$(dot-target).0.o -o $(dot-target).1
|
||||
$(NM) -pa --format=sysv $(dot-target).1 \
|
||||
| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
|
||||
> $(dot-target).1.S
|
||||
$(MAKE) $(build)=$(@D) $(dot-target).1.o
|
||||
$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
|
||||
$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
|
||||
$(dot-target).1.o -o $@
|
||||
$(NM) -pa --format=sysv $@ \
|
||||
| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
|
||||
|
||||
@@ -19,19 +19,19 @@ $(TARGET): $(TARGET)-syms
|
||||
$(OBJCOPY) -O binary -S $< $@
|
||||
|
||||
$(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
|
||||
$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
|
||||
$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< \
|
||||
$(objtree)/common/symbols-dummy.o -o $(dot-target).0
|
||||
$(NM) -pa --format=sysv $(dot-target).0 \
|
||||
| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
|
||||
> $(dot-target).0.S
|
||||
$(MAKE) $(build)=$(@D) $(dot-target).0.o
|
||||
$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
|
||||
$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< \
|
||||
$(dot-target).0.o -o $(dot-target).1
|
||||
$(NM) -pa --format=sysv $(dot-target).1 \
|
||||
| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
|
||||
> $(dot-target).1.S
|
||||
$(MAKE) $(build)=$(@D) $(dot-target).1.o
|
||||
$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
|
||||
$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
|
||||
$(dot-target).1.o -o $@
|
||||
$(NM) -pa --format=sysv $@ \
|
||||
| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
|
||||
|
||||
@@ -139,19 +139,19 @@ $(TARGET): $(TARGET)-syms $(efi-y) $(obj)/boot/mkelf32
|
||||
CFLAGS-$(XEN_BUILD_EFI) += -DXEN_BUILD_EFI
|
||||
|
||||
$(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
|
||||
$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
|
||||
$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
|
||||
$(objtree)/common/symbols-dummy.o -o $(dot-target).0
|
||||
$(NM) -pa --format=sysv $(dot-target).0 \
|
||||
| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
|
||||
> $(dot-target).0.S
|
||||
$(MAKE) $(build)=$(@D) $(dot-target).0.o
|
||||
$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
|
||||
$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
|
||||
$(dot-target).0.o -o $(dot-target).1
|
||||
$(NM) -pa --format=sysv $(dot-target).1 \
|
||||
| $(objtree)/tools/symbols $(all_symbols) --sysv --sort $(syms-warn-dup-y) \
|
||||
> $(dot-target).1.S
|
||||
$(MAKE) $(build)=$(@D) $(dot-target).1.o
|
||||
$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
|
||||
$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds $< $(build_id_linker) \
|
||||
$(orphan-handling-y) $(dot-target).1.o -o $@
|
||||
$(NM) -pa --format=sysv $@ \
|
||||
| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
|
||||
@@ -212,7 +212,7 @@ ifeq ($(CONFIG_DEBUG_INFO),y)
|
||||
$(if $(filter --strip-debug,$(EFI_LDFLAGS)),echo,:) "Will strip debug info from $(@F)"
|
||||
endif
|
||||
$(foreach base, $(VIRT_BASE) $(ALT_BASE), \
|
||||
$(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds -N $< $(relocs-dummy) \
|
||||
$(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds $< $(relocs-dummy) \
|
||||
$(objtree)/common/symbols-dummy.o $(note_file_option) \
|
||||
-o $(dot-target).$(base).0 &&) :
|
||||
$(MKRELOC) $(foreach base,$(VIRT_BASE) $(ALT_BASE),$(dot-target).$(base).0) \
|
||||
@@ -222,7 +222,7 @@ endif
|
||||
> $(dot-target).0s.S
|
||||
$(MAKE) $(build)=$(@D) .$(@F).0r.o .$(@F).0s.o
|
||||
$(foreach base, $(VIRT_BASE) $(ALT_BASE), \
|
||||
$(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds -N $< \
|
||||
$(LD) $(call EFI_LDFLAGS,$(base)) -T $(obj)/efi.lds $< \
|
||||
$(dot-target).0r.o $(dot-target).0s.o $(note_file_option) \
|
||||
-o $(dot-target).$(base).1 &&) :
|
||||
$(MKRELOC) $(foreach base,$(VIRT_BASE) $(ALT_BASE),$(dot-target).$(base).1) \
|
||||
@@ -231,7 +231,7 @@ endif
|
||||
| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
|
||||
> $(dot-target).1s.S
|
||||
$(MAKE) $(build)=$(@D) .$(@F).1r.o .$(@F).1s.o
|
||||
$(LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T $(obj)/efi.lds -N $< \
|
||||
$(LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T $(obj)/efi.lds $< \
|
||||
$(dot-target).1r.o $(dot-target).1s.o $(orphan-handling-y) \
|
||||
$(note_file_option) -o $@
|
||||
$(NM) -pa --format=sysv $@ \
|
||||
|
||||