[Bug 211289] benchmarks/iozone for armv6 and other ILP32 FreeBSD architectures: error: typedef redefinition with different types ('long' vs '__off64_t' (aka 'long long'))

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Fri Jul 22 10:22:43 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=211289

            Bug ID: 211289
           Summary: benchmarks/iozone for armv6 and other ILP32 FreeBSD
                    architectures: error: typedef redefinition with
                    different types ('long' vs '__off64_t' (aka 'long
                    long'))
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: jpaetzel at FreeBSD.org
          Reporter: markmi at dsl-only.net
             Flags: maintainer-feedback?(jpaetzel at FreeBSD.org)
          Assignee: jpaetzel at FreeBSD.org

Here is what the recently updated benchmarks/iozone fails like for armv6 builds
based on the updates that were recently made (only listing the first few
warnings but including the one error):

cc -c -pipe -mcpu=cortex-a7  -g -fno-strict-aliasing  -DFreeBSD -Dunix -Dbsd4_4
-DHAVE_ANSIC_C -DASYNC_IO  -DHAVE_PREAD -DNAME='"freebsd"' -DSHARED_MEM  -pipe
-
mcpu=cortex-a7  -g -fno-strict-aliasing iozone.c -o iozone_freebsd.o
iozone.c:363:14: error: typedef redefinition with different types ('long' vs
'__off64_t' (aka 'long long'))
typedef long off64_t;
             ^
/usr/include/sys/types.h:178:19: note: previous definition is here
typedef __off64_t       off64_t;        /* file offset (alias) */
                        ^
iozone.c:762:9: warning: 'CACHE_LINE_SIZE' macro redefined [-Wmacro-redefined]
#define CACHE_LINE_SIZE 32
        ^
/usr/include/machine/param.h:109:9: note: previous definition is here
#define CACHE_LINE_SIZE         (1 << CACHE_LINE_SHIFT)
        ^
iozone.c:1921:24: warning: format specifies type 'long *' but the argument has
type 'off64_t *' (aka 'long long *') [-Wformat]
                        sscanf(optarg,"%ld",&kilobytes64);
                                       ~~~  ^~~~~~~~~~~~
                                       %lld
iozone.c:1945:68: warning: format specifies type 'long' but the argument has
type 'off64_t' (aka 'long long') [-Wformat]
                        sprintf(splash[splash_line++],"\tFile size set to %ld
kB\n",kilobytes64);
                                                                          ~~~  
    ^~~~~~~~~~~
                                                                          %lld
iozone.c:2319:82: warning: format specifies type 'long' but the argument has
type 'off64_t' (aka 'long long') [-Wformat]
                        sprintf(splash[splash_line++],"\tUsing minimum file
size of %ld kilobytes.\n",minimum_file_size);
                                                                               
    ~~~               ^~~~~~~~~~~~~~~~~
                                                                               
    %lld

powerpc (32-bit) likely would get the same sort of messages, including the
error. The same for other ILP32 FreeBSD architectures: long is only 32-bits but
off_t is 64 bits.

-r418913 of /usr/ports was used for the above under 11.0-BETA2 (so clang
3.8.0).

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-ports-bugs mailing list