[Bug 211152] benchmarks/iozone: Build fails on typedef redefinition with different types ('long long' vs '__off64_t' (aka 'long'))

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue Jul 19 21:03:39 UTC 2016


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

--- Comment #35 from Mark Millard <markmi at dsl-only.net> ---
(In reply to Kubilay Kocak from comment #32)

I believe that the following part of the overall changes are all that was
required to deal with the original build failure reported (iozone 434 or 444
vintages):

 typedef off_t off64_t;
 #endif

+#if defined(__FreeBSD__)
+#define __off64_t_defined
+typedef off_t off64_t;
+#endif

 #ifndef solaris
 #ifndef off64_t

and optionally (__off64_t_defined was sufficient to avoid the typedef):

 #ifndef SCO_Unixware_gcc
 #ifndef UWIN
 #ifndef __DragonFly__
+#ifndef __FreeBSD__
 typedef long long off64_t;
 #endif
 #endif

with its matching:

 #endif
 #endif
 #endif
+#endif

But the __DragonFly__ in the original code base was also optional because of
__off64_t_defined already being defined for that context.
So the above optional part-pair maintains the style of handling in the
original.

One possibility for the CACHE_LINE_SIZE issue for FreeBSD is:

+#if !defined(CACHE_LINE_SIZE)
 #define CACHE_LINE_SIZE 32
+#endif



Has anyone contacted the upstream author ( capps at iozone.org ) to see what their
criteria are for changes to go upstream? For example: what range of vintages of
C are to be supported?

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


More information about the freebsd-ports-bugs mailing list