[U-Boot] getline prototype issue

York Sun yorksun at freescale.com
Tue Jul 30 23:29:41 CEST 2013


On 07/30/2013 02:17 PM, Simon Glass wrote:
> Hi York,
> 
> On Tue, Jul 30, 2013 at 3:12 PM, York Sun <yorksun at freescale.com
> <mailto:yorksun at freescale.com>> wrote:
> 
>     Simon,
> 
>     Your patch
> 
>     commit 669dfc2ed8d853d6bcdcafa1de6aca22929465e5
>     Author: Simon Glass <sjg at chromium.org <mailto:sjg at chromium.org>>
>     Date:   Mon Mar 11 06:30:27 2013 +0000
> 
>         fdt: Ensure that libfdt_env.h comes from U-Boot
> 
>     adds libfdt_env.h to HOSTCPPFLAGS. The causes a problem with one of our
>     older hosts. On the old hosts, getline prototype is protected by
> 
>     #ifdef __USE_GNU
> 
>     This should be OK if the C file has #define _GNU_SOURCE. However,
>     because of your patch, the stdio.h is included before _GNU_SOURCE is
>     defined. The result is warnings like this
> 
>     aisimage.c: In function ‘aisimage_generate’:
>     aisimage.c:313: warning: implicit declaration of function ‘getline’
>     kwbimage.c: In function ‘kwdimage_set_ext_header’:
>     kwbimage.c:236: warning: implicit declaration of function ‘getline’
>     imximage.c: In function ‘parse_cfg_file’:
>     imximage.c:430: warning: implicit declaration of function ‘getline’
>     pblimage.c: In function ‘pbl_parser’:
>     pblimage.c:137: warning: implicit declaration of function ‘getline’
>     ublimage.c: In function ‘parse_cfg_file’:
>     ublimage.c:179: warning: implicit declaration of function ‘getline’
> 
> 
> I took a quick look at this. It seems that many of the host C files in
> tools/ define _GNU_SOURCE. Should we just move that #define to the Makefile?
> 

Adding -D_GNU_SOURCE in Makefile can fix this problem.

York




More information about the U-Boot mailing list