All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] MIPS: do not allow building vmlinuz when !ZBOOT
@ 2013-09-11 10:34 Florian Fainelli
  2013-09-11 11:11   ` James Hogan
  0 siblings, 1 reply; 3+ messages in thread
From: Florian Fainelli @ 2013-09-11 10:34 UTC (permalink / raw)
  To: linux-mips; +Cc: ralf, blogic, james.hogan, richard, Florian Fainelli

When CONFIG_SYS_SUPPORTS_ZBOOT is not enabled, we will still try to
build the decompressor code in arch/mips/boot/compressed as a
dependency for producing the vmlinuz target and this will result in
the following build failure:

  OBJCOPY arch/mips/boot/compressed/vmlinux.bin
arch/mips/boot/compressed/decompress.c: In function 'decompress_kernel':
arch/mips/boot/compressed/decompress.c:105:2: error: implicit
declaration of function 'decompress'
make[1]: *** [arch/mips/boot/compressed/decompress.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [vmlinuz] Error 2

This is a genuine build failure because we have no implementation for
the decompress() function body since no kernel compression method
defined in CONFIG_KERNEL_(GZIP,BZIP2...) has been enabled.

arch/mips/Makefile already guards the install target for the "vmlinuz"
binary with a proper ifdef CONFIG_SYS_SUPPORTS_ZBOOT, we now also do the
same if we attempt to do a "make vmlinuz" and show that
CONFIG_SYS_SUPPORTS_ZBOOT is not enabled.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
Changes since v1:
- rebased on top of James Hogan changes in mips-for-linux-next
- ensure that vmlinuz depends on FORCE
- use /bin/false to properly report an error

 arch/mips/Makefile | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index 75a36ad..55af9d7 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -305,10 +305,16 @@ $(boot-y): $(vmlinux-32) FORCE
 	$(Q)$(MAKE) $(build)=arch/mips/boot VMLINUX=$(vmlinux-32) \
 		$(bootvars-y) arch/mips/boot/$@
 
+ifdef CONFIG_SYS_SUPPORTS_ZBOOT
 # boot/compressed
 $(bootz-y): $(vmlinux-32) FORCE
 	$(Q)$(MAKE) $(build)=arch/mips/boot/compressed \
 		$(bootvars-y) 32bit-bfd=$(32bit-bfd) $@
+else
+vmlinuz: FORCE
+	@echo '   CONFIG_SYS_SUPPORTS_ZBOOT is not enabled'; \
+	/bin/false
+endif
 
 
 CLEAN_FILES += vmlinux.32 vmlinux.64
-- 
1.8.1.2

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] MIPS: do not allow building vmlinuz when !ZBOOT
@ 2013-09-11 11:11   ` James Hogan
  0 siblings, 0 replies; 3+ messages in thread
From: James Hogan @ 2013-09-11 11:11 UTC (permalink / raw)
  To: Florian Fainelli; +Cc: linux-mips, ralf, blogic, richard

Hi Florian

On 11/09/13 11:34, Florian Fainelli wrote:
> +vmlinuz: FORCE
> +	@echo '   CONFIG_SYS_SUPPORTS_ZBOOT is not enabled'; \
> +	/bin/false

Nit: You don't really need the echo and /bin/false as part of the same
command (i.e. the "; \" at end of echo), but no big deal.

Reviewed-by: James Hogan <james.hogan@imgtec.com>

Cheers
James

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] MIPS: do not allow building vmlinuz when !ZBOOT
@ 2013-09-11 11:11   ` James Hogan
  0 siblings, 0 replies; 3+ messages in thread
From: James Hogan @ 2013-09-11 11:11 UTC (permalink / raw)
  To: Florian Fainelli; +Cc: linux-mips, ralf, blogic, richard

Hi Florian

On 11/09/13 11:34, Florian Fainelli wrote:
> +vmlinuz: FORCE
> +	@echo '   CONFIG_SYS_SUPPORTS_ZBOOT is not enabled'; \
> +	/bin/false

Nit: You don't really need the echo and /bin/false as part of the same
command (i.e. the "; \" at end of echo), but no big deal.

Reviewed-by: James Hogan <james.hogan@imgtec.com>

Cheers
James

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-09-11 11:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-11 10:34 [PATCH v2] MIPS: do not allow building vmlinuz when !ZBOOT Florian Fainelli
2013-09-11 11:11 ` James Hogan
2013-09-11 11:11   ` James Hogan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.