Message ID | 1414186751-3061-3-git-send-email-andreas.devel@googlemail.com |
---|---|
State | Accepted |
Delegated to: | Anatolij Gustschin |
Headers | show |
On 24.10.2014 23:39, andreas.devel@googlemail.com wrote: > From: Andreas Bießmann <andreas.devel@googlemail.com> > > kwbimage uses get_current_dir_name(3) which is a gnu extension and not > available on darwin host. Fix this by converting to portable getcwd(3) > function. > > This patch fixes the following error: > ---8<--- > HOSTCC tools/kwbimage.o > tools/kwbimage.c:399:16: warning: implicit declaration of function 'get_current_dir_name' is invalid in C99 [-Wimplicit-function-declaration] > char *cwd = get_current_dir_name(); > ^ > tools/kwbimage.c:399:10: warning: incompatible integer to pointer conversion initializing 'char *' with an expression of type 'int' [-Wint-conversion] > char *cwd = get_current_dir_name(); > ^ ~~~~~~~~~~~~~~~~~~~~~~ > 2 warnings generated. > ... > Undefined symbols for architecture x86_64: > "_get_current_dir_name", referenced from: > _image_headersz_v1 in kwbimage.o > ld: symbol(s) not found for architecture x86_64 > --->8--- > > Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com> > Cc: Stefan Roese <sr@denx.de> Acked-by: Stefan Roese <sr@denx.de> Thanks, Stefan
On Fri, 24 Oct 2014 23:39:11 +0200 andreas.devel@googlemail.com wrote: > From: Andreas Bießmann <andreas.devel@googlemail.com> > > kwbimage uses get_current_dir_name(3) which is a gnu extension and not > available on darwin host. Fix this by converting to portable getcwd(3) > function. > > This patch fixes the following error: > ---8<--- > HOSTCC tools/kwbimage.o > tools/kwbimage.c:399:16: warning: implicit declaration of function 'get_current_dir_name' is invalid in C99 [-Wimplicit-function-declaration] > char *cwd = get_current_dir_name(); > ^ > tools/kwbimage.c:399:10: warning: incompatible integer to pointer conversion initializing 'char *' with an expression of type 'int' [-Wint-conversion] > char *cwd = get_current_dir_name(); > ^ ~~~~~~~~~~~~~~~~~~~~~~ > 2 warnings generated. > ... > Undefined symbols for architecture x86_64: > "_get_current_dir_name", referenced from: > _image_headersz_v1 in kwbimage.o > ld: symbol(s) not found for architecture x86_64 > --->8--- > > Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com> > Cc: Stefan Roese <sr@denx.de> > > --- > > tools/kwbimage.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) Applied to u-boot-staging. Thanks! Anatolij
diff --git a/tools/kwbimage.c b/tools/kwbimage.c index ca4fc78..8fd70ef 100644 --- a/tools/kwbimage.c +++ b/tools/kwbimage.c @@ -12,6 +12,7 @@ */ #include "imagetool.h" +#include <limits.h> #include <image.h> #include <stdint.h> #include "kwbimage.h" @@ -396,13 +397,14 @@ static size_t image_headersz_v1(struct image_tool_params *params, ret = stat(binarye->binary.file, &s); if (ret < 0) { - char *cwd = get_current_dir_name(); + char cwd[PATH_MAX]; + memset(cwd, 0, sizeof(cwd)); + getcwd(cwd, sizeof(cwd)); fprintf(stderr, "Didn't find the file '%s' in '%s' which is mandatory to generate the image\n" "This file generally contains the DDR3 training code, and should be extracted from an existing bootable\n" "image for your board. See 'kwbimage -x' to extract it from an existing image.\n", binarye->binary.file, cwd); - free(cwd); return 0; }