[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