Jim Meyering wrote > I'm beginning to think there's a fundamental problem with your system. > Here's the comparable part of truss output on a working Solaris 10 system: ... > Remember, you did not compile with gcc. > > Unless someone can suggest an alternative explanation, > I'll have to assume this is not a problem with coreutils.
I got one last input for this case: CC ginstall-install.o "install.c", line 191: warning: initializer does not fit or is out of range: -61952 Code: 187 /* Return true for mode with non-permission bits. */ 188 static bool 189 extra_mode (mode_t input) 190 { 191 const mode_t mask = ~S_IRWXUGO & ~S_IFMT; 192 return input & mask; 193 } This line is expanded to this code by the preprocessor: const mode_t mask = ~ ( 00700 | 00070 | 00007 ) & ~ 0xF000 ; mode_t is unsigned long on my system. I added this test print: fprintf(stderr, "extra_mode(%ld) -> %ld\n", input, input & mask); which leads to $ ./ginstall -Cv -m$mode3 a b extra_mode(1517) -> 1024 extra_mode(1517) -> 1024 extra_mode(33184) -> 0 extra_mode(34285) -> 1024 Can this be the reason? Have a nice day, Berny