This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
RE: Bug in gcc-2.95 configured for i686-wrs-vxworks on cygwin
- To: Kevin dot Hughes at icl dot com, gcc-bugs at gcc dot gnu dot org
- Subject: RE: Bug in gcc-2.95 configured for i686-wrs-vxworks on cygwin
- From: Kevin dot Hughes at icl dot com
- Date: Tue, 3 Aug 1999 14:01:00 +0100
OOPS, forget to mention if I remove the -g or -O3 it all works
> -----Original Message-----
> From: Kevin.Hughes@icl.com [mailto:Kevin.Hughes@icl.com]
> Sent: 03 August 1999 13:09
> To: gcc-bugs@gcc.gnu.org
> Subject: Bug in gcc-2.95 configured for i686-wrs-vxworks on cygwin
>
>
> I have managed to build gcc-2.95 for vxworks running on a PPro. Some
> additives regarding new (see earlier posting) but that was
> all - basically
> out of the box.
>
> I have recompiled our complete system and have a very odd problem if I
> compile -g -O3
> After much effort (I have been chasing this since snapshot
> 1990629) I have
> got the attached test case which fails as follows
>
> gcc -x c++ -fno-rtti -fno-exceptions -fno-builtin
> -malign-functions=4 -O3 -g
> -c
> -nostdinc -fno-builtin -nostdlib -fno-defer-pop -fomit-frame-pointer
> -mcpu=i686
> -march=i686 -D CPU=I80486 -I. -I"n:\Tornado\target\h"
> -DPLATFORM_OS=vx_works_pla
> tform -DPLATFORM_HW=intel_platform -DTEST_ENV -DPSE
> -DPERF_LEVEL=0xe0000000
> -DOC
> P_LOG_OUTER -DHAT -I/devel/PROJECTS/s39node -I/devel/PROJECTS/logman
> -I/home/k
> h/CC/psehat -I. -I./ocp -c -v --verbose bert.c -o fred.o
>
> Reading specs from
> /gnu/tornado/lib/gcc-lib/i686-wrs-vxworks/2.95/specs
> gcc version 2.95 19990728 (release)
> /gnu/tornado/lib/gcc-lib/i686-wrs-vxworks/2.95/cpp.exe
> -lang-c++ -nostdinc
> -v -
> I. -In:\Tornado\target\h -I/devel/PROJECTS/s39node
> -I/devel/PROJECTS/logman
> -I/h
> ome/kh/CC/psehat -I. -I./ocp -iprefix
> /cygwin/H-i386-cygwin32/lib/gcc-lib/i686-w
> rs-vxworks/2.95/ -D__GNUC__=2 -D__GNUG__=2
> -D__GNUC_MINOR__=95 -D__cplusplus
> -D_
> _vxworks -D__i386__ -D__vxworks -D__i386__ -D__OPTIMIZE__ -g
> -Asystem(unix)
> -Acp
> u(i386) -Amachine(i386) -Di386 -D__i386 -D__i386__ -D CPU=I80486
> -DPLATFORM_OS=v
> x_works_platform -DPLATFORM_HW=intel_platform -DTEST_ENV -DPSE
> -DPERF_LEVEL=0xe0
> 000000 -DOCP_LOG_OUTER -DHAT bert.c /tmp/ccwOgxQA.ii
> GNU CPP version 2.95 19990728 (release) (80386, BSD syntax)
> #include "..." search starts here:
> #include <...> search starts here:
> .
> n:/Tornado/target/h
> /devel/PROJECTS/s39node
> /devel/PROJECTS/logman
> /home/kh/CC/psehat
> .
> ocp
> End of search list.
> The following default directories have been omitted from the
> search path:
> /cygwin/H-i386-cygwin32/i386-cygwin32/include
> /cygwin/include/g++
>
> /gnu/tornado/lib/gcc-lib/i686-wrs-vxworks/2.95/../../../../inc
> lude/g++-3
> /gnu/tornado/lib/gcc-lib/i686-wrs-vxworks/2.95/include
>
> /gnu/tornado/lib/gcc-lib/i686-wrs-vxworks/2.95/../../../../i68
> 6-wrs-vxworks/
> sys
> -include
>
> /gnu/tornado/lib/gcc-lib/i686-wrs-vxworks/2.95/../../../../i68
> 6-wrs-vxworks/
> inc
> lude
> End of omitted list.
> /gnu/tornado/lib/gcc-lib/i686-wrs-vxworks/2.95/cc1plus.exe
> /tmp/ccwOgxQA.ii
> -qu
> iet -dumpbase bert.cc -malign-functions=4 -mcpu=i686
> -march=i686 -g -O3
> -version
> -fno-rtti -fno-exceptions -fno-builtin -fno-builtin -fno-defer-pop
> -fomit-frame
> -pointer -o /tmp/ccej4BZB.s
> GNU C++ version 2.95 19990728 (release) (i686-wrs-vxworks)
> compiled by GNU C
> ver
> sion egcs-2.91.57 19980901 (egcs-1.1 release).
> /gnu/tornado/i686-wrs-vxworks/bin/as.exe -o fred.o /tmp/ccej4BZB.s
> /tmp/ccej4BZB.s: Assembler messages:
> /tmp/ccej4BZB.s:167: Error: Attempt to get value of unresolved symbol
> addr4:V5
> /tmp/ccej4BZB.s:167: Error: Attempt to get value of unresolved symbol
> Offset2:V5
>
> [main] c:\gnu\tornado\i686-wrs-vxworks\bin\as.exe 14894 (0)
> handle_exceptions: E
> xception: STATUS_ACCESS_VIOLATION
> [main] as 14894 (0) handle_exceptions: Dumping stack trace to
> as.exe.core
>
>
> I can make the code compile by a number of odd changes:
>
> 1) remove the extern from the x39 data item
>
> 2) add a dummy item to the s39 data structure - at the front
>
> 3) in ROT2, put the result first in a static item and then
> put it in the
> target one
>
> 4) in the ROT2N replace the return x29.pc = 4 by return 4
>
>
> I just do not understand this
>
> Any help much appreciated
>
>
> Kevin
>
>
>
>