Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150320020645.GA650@openwall.com>
Date: Fri, 20 Mar 2015 05:06:45 +0300
From: Solar Designer <solar@...nwall.com>
To: john-dev@...ts.openwall.com
Subject: Re: [GSoC] building JtR for MIC

On Fri, Mar 20, 2015 at 08:28:38AM +0800, Lei Zhang wrote:
> icc -mmic -DAC_BUILT -no-opt-prefetch -c -g -O2 -DARCH_LITTLE_ENDIAN=1  -D_GNU_SOURCE    -fopenmp  -pthread  -I/home/zhanglei/mic/include  jumbo.c -o jumbo.o
> In file included from jumbo.c(14):
> jumbo.h(80): warning #1224: #warning directive: Using 32-bit fseek(). Files larger than 2GB will be handled unreliably
>   #    warning Using 32-bit fseek(). Files larger than 2GB will be handled unreliably
>        ^
> 
> In file included from jumbo.c(14):
> jumbo.h(122): warning #1224: #warning directive: Using 32-bit ftell(). Files larger than 2GB will be handled unreliably
>   #    warning Using 32-bit ftell(). Files larger than 2GB will be handled unreliably
>        ^

It's weird that/if they don't use 64-bit versions of these by default
since the target platform is 64-bit.  I guess we should build with
"-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" if so.

Or is this possibly a side-effect of -D_GNU_SOURCE?  Do these warnings
appear without -D_GNU_SOURCE?

> In file included from jumbo.h(29),
>                  from os-autoconf.h(29),
>                  from os.h(20),
>                  from memdbg.h(20),
>                  from jumbo.c(27):
> /usr/linux-k1om-4.7/linux-k1om/usr/include/string.h(459): error: expected a type specifier
>   extern void bzero (void *__s, size_t __n) __THROW __nonnull ((1));
>               ^

We have our own bzero() as a macro in jumbo.h.  We should get rid of it,
and of all uses of bzero() in jumbo if there are any (I think not).

> jumbo.c(257): warning #147: declaration is incompatible with "int strcasecmp(const char *, const char *)" (declared at line 225 of "jumbo.h")
>   int strcasecmp(char *dst, char *src) {
>       ^
> 
> 
> jumbo.c(265): error: expected an expression
>   	return return(f - l);
>   	       ^
> 
> 
> jumbo.c(270): warning #147: declaration is incompatible with "int strncasecmp(const char *, const char *, size_t={unsigned long})" (declared at line 246 of "jumbo.h")
>   int strncasecmp(char *dst, char *src, size_t count) {
>       ^

strcasecmp() in jumbo.c is obviously buggy (won't compile, so probably
never tested - we should fix and test it), and besides it shouldn't be
enabled for this build.  Please investigate what caused it to be enabled.

Thanks!

Alexander

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.