[Bug c/11469] New: Code compiles and runs correctly without optimisation but causes a bus error if -O is used on Solaris 2.8
uliva_98 at hotmail dot com
gcc-bugzilla@gcc.gnu.org
Wed Jul 9 05:15:00 GMT 2003
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11469
Summary: Code compiles and runs correctly without optimisation
but causes a bus error if -O is used on Solaris 2.8
Product: gcc
Version: 3.2.2
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: uliva_98 at hotmail dot com
CC: gcc-bugs at gcc dot gnu dot org
For the appended testcase the resultant a.out dies with a Bus error if compiled
with -O. Runs correctly no optimisation is used.
Release:
gcc-3.2.2
Environment:
SunOS dougal 5.8 Generic_108528-21 sun4u sparc
Reading specs from /export/home/gnu/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/specs
Configured with: /export/home/gcc-3.2.2/configure --prefix=/export/home/gnu --
enable-threads=posix --with-cpu=v9 --enable-languages=c,c++,f77 --with-
as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --disable-nls
Thread model: posix
gcc version 3.2.2
/export/home/gnu/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/cpp0 -lang-c -v -
D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=2 -D__GXX_ABI_VERSION=102 -
Dsparc -Dsun -Dunix -D__svr4__ -D__SVR4 -D__PRAGMA_REDEFINE_EXTNAME -
D__sparc__ -D__sun__ -D__unix__ -D__svr4__ -D__SVR4 -
D__PRAGMA_REDEFINE_EXTNAME -D__sparc -D__sun -D__unix -Asystem=unix -
Asystem=svr4 -D__OPTIMIZE__ -D__STDC_HOSTED__=1 -D__SIZE_TYPE__=unsigned int -
D__PTRDIFF_TYPE__=int -D__WCHAR_TYPE__=long int -D__WINT_TYPE__=long int -
D__GCC_NEW_VARARGS__ -Acpu=sparc -Amachine=sparc mmapbug.c -Wall mmapbug.i
GNU CPP version 3.2.2 (cpplib) (sparc ELF)
ignoring nonexistent directory "/export/home/gnu/sparc-sun-solaris2.8/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/export/home/gnu/include
/export/home/gnu/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/include
/usr/include
End of search list.
/export/home/gnu/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/cc1 -fpreprocessed
mmapbug.i -quiet -dumpbase mmapbug.c -O -Wall -version -o mmapbug.s
GNU CPP version 3.2.2 (cpplib) (sparc ELF)
GNU C version 3.2.2 (sparc-sun-solaris2.8)
compiled by GNU C version 3.2.2.
/usr/ccs/bin/as -V -Qy -s -xarch=v8plus -o mmapbug.o mmapbug.s
/usr/ccs/bin/as: Sun WorkShop 6 99/08/18
/export/home/gnu/lib/gcc-lib/sparc-sun-solaris2.8/3.2.2/collect2 -V -Y
P,/usr/ccs/lib:/usr/lib -Qy /export/home/gnu/lib/gcc-lib/sparc-sun-
solaris2.8/3.2.2/crt1.o /export/home/gnu/lib/gcc-lib/sparc-sun-
solaris2.8/3.2.2/crti.o /usr/ccs/lib/values-Xa.o /export/home/gnu/lib/gcc-
lib/sparc-sun-solaris2.8/3.2.2/crtbegin.o -L/export/home/gnu/lib/gcc-lib/sparc-
sun-solaris2.8/3.2.2 -L/export/home/gnu/lib/gcc-lib/sparc-sun-
solaris2.8/3.2.2/../../../../sparc-sun-solaris2.8/lib -L/usr/ccs/bin -
L/usr/ccs/lib -L/export/home/gnu/lib/gcc-lib/sparc-sun-
solaris2.8/3.2.2/../../.. mmapbug.o -lgcc -lgcc_eh -lc -lgcc -lgcc_eh -
lc /export/home/gnu/lib/gcc-lib/sparc-sun-
solaris2.8/3.2.2/crtend.o /export/home/gnu/lib/gcc-lib/sparc-sun-
solaris2.8/3.2.2/crtn.o
ld: Software Generation Utilities - Solaris Link Editors: 5.8-1.282
How-To-Repeat:
#include <stdlib.h>
int main()
{
int i;
void *buff, *p;
long *t;
double *v;
size_t nbyte = sizeof(long) + 5*sizeof(double);
if((buff = malloc(nbyte)) == NULL){
exit(100);
}
p = buff;
t = (long *) p;
p += sizeof(long);
v = (double *) p;
*t = 5L;
for(i = 0; i < 5; i++){
v[i] = i + 0.01;
}
return(0);
}
More information about the Gcc-bugs
mailing list