This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug preprocessor/12829] New: include search bug -- gid related


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12829

           Summary: include search bug -- gid related
           Product: gcc
           Version: 3.2.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: preprocessor
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: evh at ehynan dot com
                CC: gcc-bugs at gcc dot gnu dot org
  GCC host triplet: i486-slackware-linux
GCC target triplet: i486-slackware-linux

Slackware 9.1, stock gcc installation.

Odd problem with include search path, -iprefix, when in
supplementary group via sg -- discovered compiling Linux
kernel, but reproduced with simple example.

<example>
% uname -a
Linux stella 2.4.22 #6 Tue Sep 2 17:43:01 PDT 2003 i586 unknown unknown GNU/Linux

% gcc -v
Reading specs from /usr/lib/gcc-lib/i486-slackware-linux/3.2.3/specs
Configured with: ../gcc-3.2.3/configure --prefix=/usr --enable-shared
--enable-threads=posix --enable-__cxa_atexit --disable-checking --with-gnu-ld
--verbose --target=i486-slackware-linux --host=i486-slackware-linux
Thread model: posix
gcc version 3.2.3

% cat t.c
#include <stdarg.h>
int main() { return 0; }

% id
uid=502(evh) gid=502(evh)
groups=502(evh),14(uucp),100(users),66(www),230(pppusers),233(postgres),666(cvsuser)

% gcc -v -I/usr/include -nostdinc -iwithprefix include -o t t.c
Reading specs from /usr/lib/gcc-lib/i486-slackware-linux/3.2.3/specs
Configured with: ../gcc-3.2.3/configure --prefix=/usr --enable-shared
--enable-threads=posix --enable-__cxa_atexit --disable-checking --with-gnu-ld
--verbose --target=i486-slackware-linux --host=i486-slackware-linux
Thread model: posix
gcc version 3.2.3
 /usr/lib/gcc-lib/i486-slackware-linux/3.2.3/cc1 -lang-c -nostdinc -v
-I/usr/include -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=3
-D__GXX_ABI_VERSION=102 -D__ELF__ -Dunix -D__gnu_linux__ -Dlinux -D__ELF__
-D__unix__ -D__gnu_linux__ -D__linux__ -D__unix -D__linux -Asystem=posix
-D__NO_INLINE__ -D__STDC_HOSTED__=1 -Acpu=i386 -Amachine=i386 -Di386 -D__i386
-D__i386__ -D__tune_i486__ -iwithprefix include t.c -quiet -dumpbase t.c
-version -o /tmp/ccRol6I2.s
GNU CPP version 3.2.3 (cpplib) (i386 Linux/ELF)
GNU C version 3.2.3 (i486-slackware-linux)
	compiled by GNU C version 3.2.3.
#include "..." search starts here:
#include <...> search starts here:
 /usr/include
 /usr/lib/gcc-lib/i486-slackware-linux/3.2.3/include
End of search list.
 /usr/lib/gcc-lib/i486-slackware-linux/3.2.3/../../../../i486-slackware-linux/bin/as -V -Qy -o /tmp/ccSBOi6Z.o /tmp/ccRol6I2.s
GNU assembler version 2.14.90.0.6 (i486-slackware-linux) using BFD version
2.14.90.0.6 20030820
 /usr/lib/gcc-lib/i486-slackware-linux/3.2.3/collect2 --eh-frame-hdr -m elf_i386
-dynamic-linker /lib/ld-linux.so.2 -o t
/usr/lib/gcc-lib/i486-slackware-linux/3.2.3/../../../crt1.o
/usr/lib/gcc-lib/i486-slackware-linux/3.2.3/../../../crti.o
/usr/lib/gcc-lib/i486-slackware-linux/3.2.3/crtbegin.o
-L/usr/lib/gcc-lib/i486-slackware-linux/3.2.3
-L/usr/lib/gcc-lib/i486-slackware-linux/3.2.3/../../../../i486-slackware-linux/lib
-L/usr/lib/gcc-lib/i486-slackware-linux/3.2.3/../../.. /tmp/ccSBOi6Z.o -lgcc
-lgcc_eh -lc -lgcc -lgcc_eh /usr/lib/gcc-lib/i486-slackware-linux/3.2.3/crtend.o
/usr/lib/gcc-lib/i486-slackware-linux/3.2.3/../../../crtn.o

% echo $?
0

% sg users
% id
uid=502(evh) gid=100(users)
groups=502(evh),14(uucp),100(users),66(www),230(pppusers),233(postgres),666(cvsuser)

% gcc -v -I/usr/include -nostdinc -iwithprefix include -o t t.c
Reading specs from /usr/lib/gcc-lib/i486-slackware-linux/3.2.3/specs
Configured with: ../gcc-3.2.3/configure --prefix=/usr --enable-shared
--enable-threads=posix --enable-__cxa_atexit --disable-checking --with-gnu-ld
--verbose --target=i486-slackware-linux --host=i486-slackware-linux
Thread model: posix
gcc version 3.2.3
 /usr/lib/gcc-lib/i486-slackware-linux/3.2.3/cc1 -lang-c -nostdinc -v
-I/usr/include -iprefix ../lib/gcc-lib/i486-slackware-linux/3.2.3/ -D__GNUC__=3
-D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=3 -D__GXX_ABI_VERSION=102 -D__ELF__
-Dunix -D__gnu_linux__ -Dlinux -D__ELF__ -D__unix__ -D__gnu_linux__ -D__linux__
-D__unix -D__linux -Asystem=posix -D__NO_INLINE__ -D__STDC_HOSTED__=1 -Acpu=i386
-Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i486__ -iwithprefix include
t.c -quiet -dumpbase t.c -version -o /tmp/cci76Ylh.s
ignoring nonexistent directory "../lib/gcc-lib/i486-slackware-linux/3.2.3/include"
GNU CPP version 3.2.3 (cpplib) (i386 Linux/ELF)
GNU C version 3.2.3 (i486-slackware-linux)
        compiled by GNU C version 3.2.3.
#include "..." search starts here:
#include <...> search starts here:
 /usr/include
End of search list.
t.c:1:20: stdarg.h: No such file or directory

% echo $?
1

</example>

Note the difference in the cc1 command line.  The command
under the sg shell has:
	-iprefix ../lib/gcc-lib/i486-slackware-linux/3.2.3/
The relative directory is clearly a problem, and apparently
the presence of -iprefix is a bug.  There was no -iprefix
in the command line generated with the default gid.

Why should {r,e}gid affect this aspect of gcc operation
in any way?  (I have no problems in the ownership/group
and permissions in the working directory or in the gcc
installation.)

- Ed Hynan


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]