Re: [PATCH] sparc: fix tftpboot.img build

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



David Miller wrote:
From: Sam Ravnborg <sam@xxxxxxxxxxxx>
Date: Mon, 8 Jun 2009 21:20:43 +0200

Kjetil Oftedal mentioned that piggyback_32 was failing
when building a sparc image.

I tracked this down to the fact that the kernel no longer
provided an absolute symbol named "end".

Commit 86ed40bd6fe511d26bb8f3fa65a84cb65c235366 ("sparc: unify sections.h")
renamed end to _end but failed to update piggyback_32.

Signed-off-by: Sam Ravnborg <sam@xxxxxxxxxxxx>
Cc: Kjetil Oftedal <oftedal@xxxxxxxxx>
Cc: Robert Reif <reif@xxxxxxxxxxxxx>
---

This is not even build tested - but looks obvious.

I don't even know how to build test this:

davem@sunset:~/src/GIT/sparc-next-2.6$ make ARCH=sparc tftpboot.img
  CHK     include/linux/version.h
  CHK     include/linux/utsrelease.h
  SYMLINK include/asm -> include/asm-sparc
  CALL    scripts/checksyscalls.sh
<stdin>:1519:2: warning: #warning syscall perf_counter_open not implemented
  CHK     include/linux/compile.h
make[1]: *** No rule to make target `arch/sparc/boot/piggyback', needed by `arch/sparc/boot/tftpboot.img'.  Stop.
make: *** [tftpboot.img] Error 2
davem@sunset:~/src/GIT/sparc-next-2.6$
This patch gets piggyback_32.c compiling but there are other issues:

diff --git a/arch/sparc/boot/Makefile b/arch/sparc/boot/Makefile
index 96041a8..5e2caeb 100644
--- a/arch/sparc/boot/Makefile
+++ b/arch/sparc/boot/Makefile
@@ -58,7 +58,7 @@ $(obj)/image: $(obj)/btfix.o FORCE
$(obj)/zImage: $(obj)/image
$(call if_changed,strip)

-$(obj)/tftpboot.img: $(obj)/piggyback $(obj)/System.map $(obj)/image FORCE
+$(obj)/tftpboot.img: $(obj)/piggyback_32 $(obj)/System.map $(obj)/image FORCE
$(call if_changed,elftoaout)
$(call if_changed,piggy)

HOSTCC arch/sparc/boot/piggyback_32
arch/sparc/boot/piggyback_32.c: In function ‘main’:
arch/sparc/boot/piggyback_32.c:84: warning: pointer targets in passing argument 1 of ‘fgets’ differ in signedness arch/sparc/boot/piggyback_32.c:85: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness arch/sparc/boot/piggyback_32.c:85: warning: pointer targets in passing argument 1 of ‘__builtin_strcmp’ differ in signedness arch/sparc/boot/piggyback_32.c:85: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness arch/sparc/boot/piggyback_32.c:85: warning: pointer targets in passing argument 1 of ‘__builtin_strcmp’ differ in signedness arch/sparc/boot/piggyback_32.c:85: warning: pointer targets in passing argument 1 of ‘__builtin_strcmp’ differ in signedness arch/sparc/boot/piggyback_32.c:85: warning: pointer targets in passing argument 1 of ‘__builtin_strcmp’ differ in signedness arch/sparc/boot/piggyback_32.c:85: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness arch/sparc/boot/piggyback_32.c:85: warning: pointer targets in passing argument 1 of ‘__builtin_strcmp’ differ in signedness arch/sparc/boot/piggyback_32.c:85: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness arch/sparc/boot/piggyback_32.c:85: warning: pointer targets in passing argument 1 of ‘__builtin_strcmp’ differ in signedness arch/sparc/boot/piggyback_32.c:85: warning: pointer targets in passing argument 1 of ‘__builtin_strcmp’ differ in signedness arch/sparc/boot/piggyback_32.c:85: warning: pointer targets in passing argument 1 of ‘__builtin_strcmp’ differ in signedness arch/sparc/boot/piggyback_32.c:86: warning: pointer targets in passing argument 1 of ‘strtoul’ differ in signedness arch/sparc/boot/piggyback_32.c:87: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness arch/sparc/boot/piggyback_32.c:87: warning: pointer targets in passing argument 1 of ‘__builtin_strcmp’ differ in signedness arch/sparc/boot/piggyback_32.c:87: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness arch/sparc/boot/piggyback_32.c:87: warning: pointer targets in passing argument 1 of ‘__builtin_strcmp’ differ in signedness arch/sparc/boot/piggyback_32.c:87: warning: pointer targets in passing argument 1 of ‘__builtin_strcmp’ differ in signedness arch/sparc/boot/piggyback_32.c:87: warning: pointer targets in passing argument 1 of ‘__builtin_strcmp’ differ in signedness arch/sparc/boot/piggyback_32.c:87: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness arch/sparc/boot/piggyback_32.c:87: warning: pointer targets in passing argument 1 of ‘__builtin_strcmp’ differ in signedness arch/sparc/boot/piggyback_32.c:87: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness arch/sparc/boot/piggyback_32.c:87: warning: pointer targets in passing argument 1 of ‘__builtin_strcmp’ differ in signedness arch/sparc/boot/piggyback_32.c:87: warning: pointer targets in passing argument 1 of ‘__builtin_strcmp’ differ in signedness arch/sparc/boot/piggyback_32.c:87: warning: pointer targets in passing argument 1 of ‘__builtin_strcmp’ differ in signedness arch/sparc/boot/piggyback_32.c:88: warning: pointer targets in passing argument 1 of ‘strtoul’ differ in signedness arch/sparc/boot/piggyback_32.c:98: warning: pointer targets in passing argument 1 of ‘ld4’ differ in signedness arch/sparc/boot/piggyback_32.c:99: warning: pointer targets in passing argument 1 of ‘ld4’ differ in signedness arch/sparc/boot/piggyback_32.c:99: warning: pointer targets in passing argument 1 of ‘ld4’ differ in signedness arch/sparc/boot/piggyback_32.c:99: warning: pointer targets in passing argument 1 of ‘ld4’ differ in signedness arch/sparc/boot/piggyback_32.c:110: warning: pointer targets in passing argument 1 of ‘ld2’ differ in signedness arch/sparc/boot/piggyback_32.c:124: warning: pointer targets in passing argument 1 of ‘st4’ differ in signedness arch/sparc/boot/piggyback_32.c:125: warning: pointer targets in passing argument 1 of ‘st4’ differ in signedness arch/sparc/boot/piggyback_32.c:126: warning: pointer targets in passing argument 1 of ‘st4’ differ in signedness arch/sparc/boot/piggyback_32.c:127: warning: pointer targets in passing argument 1 of ‘st4’ differ in signedness
make: *** [tftpboot.img] Error 2

This patch fixes the warnings but there are still more issues:

diff --git a/arch/sparc/boot/piggyback_32.c b/arch/sparc/boot/piggyback_32.c
index c9f500c..3f0f933 100644
--- a/arch/sparc/boot/piggyback_32.c
+++ b/arch/sparc/boot/piggyback_32.c
@@ -70,7 +70,7 @@ void die(char *str)
int main(int argc,char **argv)
{
static char aout_magic[] = { 0x01, 0x03, 0x01, 0x07 };
- unsigned char buffer[1024], *q, *r;
+ char buffer[1024], *q, *r;
unsigned int i, j, k, start, end, offset;
FILE *map;
struct stat s;

make[1]: *** No rule to make target `arch/sparc/boot/System.map', needed by `arch/sparc/boot/tftpboot.img'. Stop.
make[1]: *** Waiting for unfinished jobs....
HOSTCC arch/sparc/boot/piggyback_32
make: *** [tftpboot.img] Error 2

--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux