[ccache] ccache 3.1 cache failure

Joel Rosdahl joel at rosdahl.net
Sat Nov 6 07:49:19 MDT 2010


On 2010-10-31 22:50, Joel Rosdahl wrote:
 > [...]
> I managed to reproduce the problem in my virtual FreeBSD 7.3 box. The
> thing is that nslexer.c is built like this:
>
> lex -P_nsyy -o/dev/stdout /usr/src/lib/libc/net/nslexer.l>nslexer.c
>
> And lex adds lines like '#line 21 "/dev/stdout"' to nslexer.c.
>
> I'll make a workaround in ccache. Maybe tomorrow. :-)

This change will be included in ccache 3.1.1. Does it work for you, H?

--- a/ccache.c
+++ b/ccache.c
@@ -314,6 +314,11 @@ remember_include_file(char *path, size_t path_len, 
struct mdfour *cpp_hash)
                 /* Ignore directory, typically $PWD. */
                 goto ignore;
         }
+       if (!S_ISREG(st.st_mode)) {
+               /* Device, pipe, socket or other strange creature. */
+               cc_log("Non-regular include file %s", path);
+               goto failure;
+       }

         /* Let's hash the include file. */
         if (!(sloppiness & SLOPPY_INCLUDE_FILE_MTIME)

-- Joel


More information about the ccache mailing list