This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Bug in gcc-2.95 configured for i686-wrs-vxworks on cygwin
- To: gcc-bugs at gcc dot gnu dot org
- Subject: 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 13:08:58 +0100
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/../../../../include/g++-3
/gnu/tornado/lib/gcc-lib/i686-wrs-vxworks/2.95/include
/gnu/tornado/lib/gcc-lib/i686-wrs-vxworks/2.95/../../../../i686-wrs-vxworks/
sys
-include
/gnu/tornado/lib/gcc-lib/i686-wrs-vxworks/2.95/../../../../i686-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
bert.c