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]

Re: gcc 2.95.2 problem: alloca done within argument list evaluation, corrupts the rest of the argument list



The following construct is used by the attached test program (PASS/FAIL):

f (yyy((t1 = alloca(ALLOCA_SIZE),xxx(t1))), 2);

the second argument to f  (the integer 2) is corrupted (the test program
outputs FAIL in this case).

We are unfortunate enough to have a significant amount of code that rely on
this construct to work. I am going to dig into this problem myself, but I
will welcome any help or information.

Regards
Jose Luu


Attached: command line and preprocessed test file.
Operating system is Linux SUSE 6.2, standard 2.95.2 compiler, plain
compilation and installation (./configure;make;make install)


/usr/local/bin/gcc -v --save-temps alloca-bug.c
Reading specs from /usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.95.2/specs
gcc version 2.95.2 19991024 (release)

/usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.95.2/cpp -lang-c -v -D__GNUC__=2
-D__GNUC_MINOR__=95 -D__ELF__ -Dunix -D__i386__ -Dlinux -D__ELF__ -D__unix__
 -D__i386__ -D__linux__ -D__unix -D__linux -Asystem(posix) -Acpu(i386) -Amac
hine(i386) -Di386 -D__i386 -D__i386__ -Di586 -Dpentium -D__i586 -D__i586__ -
D__pentium -D__pentium__ alloca-bug.c alloca-bug.i
GNU CPP version 2.95.2 19991024 (release) (i386 Linux/ELF)
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include

/usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.95.2/../../../../i586-pc-linux-gn
u/include
 /usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.95.2/include
 /usr/include
End of search list.
The following default directories have been omitted from the search path:
 /usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.95.2/../../../../include/g++-3
End of omitted list.
 /usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.95.2/cc1
alloca-bug.i -quiet -dumpbase alloca-bug.c -version -o alloca-bug.s
GNU C version 2.95.2 19991024 (release) (i586-pc-linux-gnu) compiled by GNU
C version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release).
 as -V -Qy -o alloca-bug.o alloca-bug.s
GNU assembler version 2.9.5 (i686-pc-linux-gnu) using BFD version 2.9.5.0.22
 /usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.95.2/collect2 -m
elf_i386 -dynamic-linker /lib/ld-linux.so.2 /usr/lib/crt1.o /usr/lib/crti.o
/usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.95.2/crtbegin.o -L/usr/local/lib/
gcc-lib/i586-pc-linux-gnu/2.95.2 -L/usr/local/i586-pc-linux-gnu/lib -L/usr/l
ocal/lib alloca-bug.o -lgcc -lc -lgcc
/usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.95.2/crtend.o /usr/lib/crtn.o



alloca-bug.i.bz2


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