In gcc/gcov-io.c, the call to open() only has two arguments. This
is fine, as long as the system open() is standards compliant.
So you have to add another fixincludes hack, adding a macro indirection
like the one you have for ioctl:
#define open(a, b, ...) __open(a, b , ##__VA_ARGS__, 0660)
#define __open(a, b, c, ...) (open)(a, b, c)
Also forgot to note: I've seen passing the extra argument
unconditionally (even though it's for a read-only open) other places in
GCC sources, so that seems to be accepted practice.
--
Robert Mason