From: Olivier Hainque Date: Fri, 9 Oct 2020 12:33:24 +0000 (+0000) Subject: [Ada] Reinstate utime based code for vx6 in __gnat_copy_attribs X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4d617c3f2ad9a6a4f8718cd216421eeb65ede262;p=gcc.git [Ada] Reinstate utime based code for vx6 in __gnat_copy_attribs gcc/ada/ * adaint.c (__gnat_copy_attribs): Reinstate code based on utime for timestamp processing on VxWorks 6. --- diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c index 554123c905b..41453d1cc6a 100644 --- a/gcc/ada/adaint.c +++ b/gcc/ada/adaint.c @@ -3267,7 +3267,22 @@ __gnat_copy_attribs (char *from ATTRIBUTE_UNUSED, char *to ATTRIBUTE_UNUSED, return -1; } -#if _POSIX_C_SOURCE >= 200809L +#if (defined (__vxworks) && _WRS_VXWORKS_MAJOR < 7) + + /* VxWorks prior to 7 only has utime. */ + + /* Do we need to copy the timestamp ? */ + if (mode != 2) { + struct utimbuf tbuf; + + tbuf.actime = fbuf.st_atime; + tbuf.modtime = fbuf.st_mtime; + + if (utime (to, &tbuf) == -1) + return -1; + } + +#elif _POSIX_C_SOURCE >= 200809L struct timespec tbuf[2]; if (mode != 2) {