2012-05-09 20:25:38

by Sakkinen, Jarkko

[permalink] [raw]
Subject: [PATCH] x86, realmode: build fix: remove duplicate build

Real-mode binary was built twice. This patch fixes
the issue by making realmode.relocs as target for
realmode.bin.

Signed-off-by: Jarkko Sakkinen <[email protected]>
---
arch/x86/realmode/Makefile | 3 ---
arch/x86/realmode/rm/Makefile | 2 +-
2 files changed, 1 insertion(+), 4 deletions(-)

diff --git a/arch/x86/realmode/Makefile b/arch/x86/realmode/Makefile
index f22a4f8..615878e 100644
--- a/arch/x86/realmode/Makefile
+++ b/arch/x86/realmode/Makefile
@@ -15,6 +15,3 @@ $(obj)/rmpiggy.o: $(obj)/rm/realmode.relocs $(obj)/rm/realmode.bin

$(obj)/rm/realmode.bin: FORCE
$(Q)$(MAKE) $(build)=$(obj)/rm $@
-
-$(obj)/rm/realmode.relocs: FORCE
- $(Q)$(MAKE) $(build)=$(obj)/rm $@
diff --git a/arch/x86/realmode/rm/Makefile b/arch/x86/realmode/rm/Makefile
index de40bc4..1c1d3d3 100644
--- a/arch/x86/realmode/rm/Makefile
+++ b/arch/x86/realmode/rm/Makefile
@@ -48,7 +48,7 @@ $(obj)/realmode.elf: $(obj)/realmode.lds $(REALMODE_OBJS) FORCE

OBJCOPYFLAGS_realmode.bin := -O binary

-$(obj)/realmode.bin: $(obj)/realmode.elf
+$(obj)/realmode.bin: $(obj)/realmode.elf $(obj)/realmode.relocs
$(call if_changed,objcopy)

quiet_cmd_relocs = RELOCS $@
--
1.7.9.5


2012-05-09 22:02:29

by Sakkinen, Jarkko

[permalink] [raw]
Subject: [tip:x86/trampoline] x86, realmode: build fix: remove duplicate build

Commit-ID: c5403aed044e23f8d1ecdf05d0ff120314186527
Gitweb: http://git.kernel.org/tip/c5403aed044e23f8d1ecdf05d0ff120314186527
Author: Jarkko Sakkinen <[email protected]>
AuthorDate: Wed, 9 May 2012 23:25:06 +0300
Committer: H. Peter Anvin <[email protected]>
CommitDate: Wed, 9 May 2012 13:32:17 -0700

x86, realmode: build fix: remove duplicate build

Real-mode binary was built twice. This patch fixes
the issue by making realmode.relocs as target for
realmode.bin.

[ hpa: removed the direct dependency on realmode.relocs in
arch/x86/realmode/Makefile ]

Signed-off-by: Jarkko Sakkinen <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Cc: Sam Ravnborg <[email protected]>
Cc: Michal Marek <[email protected]>
Signed-off-by: H. Peter Anvin <[email protected]>
---
arch/x86/realmode/Makefile | 5 +----
arch/x86/realmode/rm/Makefile | 2 +-
2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/arch/x86/realmode/Makefile b/arch/x86/realmode/Makefile
index f22a4f8..a05b3ac 100644
--- a/arch/x86/realmode/Makefile
+++ b/arch/x86/realmode/Makefile
@@ -11,10 +11,7 @@ subdir- := rm

obj-y += rmpiggy.o

-$(obj)/rmpiggy.o: $(obj)/rm/realmode.relocs $(obj)/rm/realmode.bin
+$(obj)/rmpiggy.o: $(obj)/rm/realmode.bin

$(obj)/rm/realmode.bin: FORCE
$(Q)$(MAKE) $(build)=$(obj)/rm $@
-
-$(obj)/rm/realmode.relocs: FORCE
- $(Q)$(MAKE) $(build)=$(obj)/rm $@
diff --git a/arch/x86/realmode/rm/Makefile b/arch/x86/realmode/rm/Makefile
index de40bc4..1c1d3d3 100644
--- a/arch/x86/realmode/rm/Makefile
+++ b/arch/x86/realmode/rm/Makefile
@@ -48,7 +48,7 @@ $(obj)/realmode.elf: $(obj)/realmode.lds $(REALMODE_OBJS) FORCE

OBJCOPYFLAGS_realmode.bin := -O binary

-$(obj)/realmode.bin: $(obj)/realmode.elf
+$(obj)/realmode.bin: $(obj)/realmode.elf $(obj)/realmode.relocs
$(call if_changed,objcopy)

quiet_cmd_relocs = RELOCS $@

2012-05-09 22:03:33

by H. Peter Anvin

[permalink] [raw]
Subject: [tip:x86/trampoline] x86, realmode: Make sure all generated files are listed in targets

Commit-ID: 0f6f11eb00830fa691c16084048f53d83c5c3a5d
Gitweb: http://git.kernel.org/tip/0f6f11eb00830fa691c16084048f53d83c5c3a5d
Author: H. Peter Anvin <[email protected]>
AuthorDate: Wed, 9 May 2012 14:53:01 -0700
Committer: H. Peter Anvin <[email protected]>
CommitDate: Wed, 9 May 2012 14:53:01 -0700

x86, realmode: Make sure all generated files are listed in targets

Kbuild expects all generated files to be listed in the targets
variable. If it isn't, weird things happen.

Cc: Sam Ravnborg <[email protected]>
Cc: Michal Marek <[email protected]>
Signed-off-by: H. Peter Anvin <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
---
arch/x86/realmode/rm/Makefile | 20 +++++++++++++-------
1 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/arch/x86/realmode/rm/Makefile b/arch/x86/realmode/rm/Makefile
index 1c1d3d3..5b84a2d 100644
--- a/arch/x86/realmode/rm/Makefile
+++ b/arch/x86/realmode/rm/Makefile
@@ -7,13 +7,7 @@
#
#

-always := realmode.bin
-
-realmode-y += header.o
-realmode-y += trampoline_$(BITS).o
-realmode-y += stack.o
-realmode-$(CONFIG_X86_32) += reboot_32.o
-realmode-$(CONFIG_ACPI_SLEEP) += $(wakeup-objs)
+always := realmode.bin realmode.relocs

wakeup-objs := wakeup_asm.o wakemain.o video-mode.o
wakeup-objs += copy.o bioscall.o regs.o
@@ -25,6 +19,12 @@ wakeup-objs += video-vga.o
wakeup-objs += video-vesa.o
wakeup-objs += video-bios.o

+realmode-y += header.o
+realmode-y += trampoline_$(BITS).o
+realmode-y += stack.o
+realmode-$(CONFIG_X86_32) += reboot_32.o
+realmode-$(CONFIG_ACPI_SLEEP) += $(wakeup-objs)
+
targets += $(realmode-y)

REALMODE_OBJS = $(addprefix $(obj)/,$(realmode-y))
@@ -35,24 +35,30 @@ quiet_cmd_pasyms = PASYMS $@
cmd_pasyms = $(NM) $(filter-out FORCE,$^) | \
sed $(sed-pasyms) | sort | uniq > $@

+targets += pasyms.h
$(obj)/pasyms.h: $(REALMODE_OBJS) FORCE
$(call if_changed,pasyms)

+targets += realmode.lds
$(obj)/realmode.lds: $(obj)/pasyms.h

LDFLAGS_realmode.elf := --emit-relocs -T
CPPFLAGS_realmode.lds += -P -C -I$(obj)

+targets += realmode.elf
$(obj)/realmode.elf: $(obj)/realmode.lds $(REALMODE_OBJS) FORCE
$(call if_changed,ld)

OBJCOPYFLAGS_realmode.bin := -O binary

+targets += realmode.bin
$(obj)/realmode.bin: $(obj)/realmode.elf $(obj)/realmode.relocs
$(call if_changed,objcopy)

quiet_cmd_relocs = RELOCS $@
cmd_relocs = arch/x86/tools/relocs --realmode $< > $@
+
+targets += realmode.relocs
$(obj)/realmode.relocs: $(obj)/realmode.elf FORCE
$(call if_changed,relocs)