diff mbox

[U-Boot,1/1] Fix musl build

Message ID 1429337222-10523-1-git-send-email-joerg.krause@embedded.rocks
State Changes Requested
Delegated to: Tom Rini
Headers show

Commit Message

Jörg Krause April 18, 2015, 6:07 a.m. UTC
This patch fixes cross-compiling U-Boot tools with the musl C library:
  * including <sys/types.h> is needed for ulong
  * defining _GNU_SOURCE is needed for loff_t

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
---
 include/image.h    | 1 +
 tools/env/fw_env.c | 2 ++
 tools/imagetool.h  | 1 +
 tools/proftool.c   | 1 +
 4 files changed, 5 insertions(+)

Comments

Tom Rini April 22, 2015, 4:13 p.m. UTC | #1
On Sat, Apr 18, 2015 at 08:07:02AM +0200, Jörg Krause wrote:

> This patch fixes cross-compiling U-Boot tools with the musl C library:
>   * including <sys/types.h> is needed for ulong
>   * defining _GNU_SOURCE is needed for loff_t
> 
> Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
> ---
>  include/image.h    | 1 +
>  tools/env/fw_env.c | 2 ++
>  tools/imagetool.h  | 1 +
>  tools/proftool.c   | 1 +
>  4 files changed, 5 insertions(+)
> 
> diff --git a/include/image.h b/include/image.h
> index 3844be6..ac2fd6e 100644
> --- a/include/image.h
> +++ b/include/image.h
> @@ -18,6 +18,7 @@
>  
>  #include "compiler.h"
>  #include <asm/byteorder.h>
> +#include <sys/types.h>
>  
>  /* Define this to avoid #ifdefs later on */
>  struct lmb;

This is wrong.  We need to add this include a few lines later below
#ifdef USE_HOSTCC otherwise we may fail to build:
+   at91sam9261ek_dataflash_cs3
+(at91sam9261ek_dataflash_cs3) In file included from ../include/common.h:82:0:
+(at91sam9261ek_dataflash_cs3) ../include/image.h:21:23: fatal error: sys/types.h: No s
uch file or directory
+(at91sam9261ek_dataflash_cs3)  #include <sys/types.h>
+(at91sam9261ek_dataflash_cs3)                        ^
+(at91sam9261ek_dataflash_cs3) compilation terminated.
+(at91sam9261ek_dataflash_cs3) make[2]: *** [include/autoconf.mk] Error 1
+(at91sam9261ek_dataflash_cs3) make[1]: *** No rule to make target 'include/config/auto
.conf', needed by 'include/config/uboot.release'.  Stop.
+(at91sam9261ek_dataflash_cs3) make: *** [sub-make] Error 2

Thanks!
diff mbox

Patch

diff --git a/include/image.h b/include/image.h
index 3844be6..ac2fd6e 100644
--- a/include/image.h
+++ b/include/image.h
@@ -18,6 +18,7 @@ 
 
 #include "compiler.h"
 #include <asm/byteorder.h>
+#include <sys/types.h>
 
 /* Define this to avoid #ifdefs later on */
 struct lmb;
diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c
index 1173eea..daa02a7 100644
--- a/tools/env/fw_env.c
+++ b/tools/env/fw_env.c
@@ -8,6 +8,8 @@ 
  * SPDX-License-Identifier:	GPL-2.0+
  */
 
+#define _GNU_SOURCE
+
 #include <errno.h>
 #include <env_flags.h>
 #include <fcntl.h>
diff --git a/tools/imagetool.h b/tools/imagetool.h
index 3e15b4e..b7874f4 100644
--- a/tools/imagetool.h
+++ b/tools/imagetool.h
@@ -16,6 +16,7 @@ 
 #include <stdlib.h>
 #include <string.h>
 #include <sys/stat.h>
+#include <sys/types.h>
 #include <time.h>
 #include <unistd.h>
 #include <u-boot/sha1.h>
diff --git a/tools/proftool.c b/tools/proftool.c
index 3482951..9ce7a77 100644
--- a/tools/proftool.c
+++ b/tools/proftool.c
@@ -16,6 +16,7 @@ 
 #include <string.h>
 #include <unistd.h>
 #include <sys/param.h>
+#include <sys/types.h>
 
 #include <compiler.h>
 #include <trace.h>