Il 11/06/2012 13:56, rbmj ha scritto: >>> 1. VxWorks does not have a variadic open - it must receive three >>> arguments. gcc/gcov.c however opens a file for reading and does not >>> pass in a mode argument, which causes an error on vxWorks. This just >>> adds a platform-based ifdef around this. I am aware that this is >>> against coding conventions, and if that is an issue, I can think of >>> two resolutions. [...] simply pass the extra mode argument in >>> unconditionally, >>> as it should be transparent to the function and ignored if it is >>> variadic (I'm no expert on calling conventions though).
Yes, please do this. >>> 2. VxWorks has a two argument mkdir(). libgcc/libgcov.c uses >>> mkdir() and calls it with two arguments if TARGET_POSIX_IO is defined >>> and only one argument otherwise. I don't know what TARGET_POSIX_IO >>> is, but if it's anything more than just mkdir(), this is probably >>> correct, as vxworks is only partially POSIX compliant. Again, >>> another platform-based ifdef, so if that is anathema, it can be >>> replaced by more autoconf hackery. VxWorks should define TARGET_POSIX_IO if it has both access and mkdir. Please add it to gcc/config/vxworks.h if this is the case. Paolo