This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
some problems targeting VMS
- From: Jay K <jay dot krell at cornell dot edu>
- To: gcc-help <gcc-help at gcc dot gnu dot org>
- Date: Sat, 24 Apr 2010 01:23:06 +0000
- Subject: some problems targeting VMS
This is with release 4.5.0 (with reference to trunk also). Maybe I should try trunk.
VMS issues:
1)
current:
http://gcc.gnu.org/viewcvs/trunk/gcc/config/vms/t-vms?revision=150230&view=markup
# Temporary restriction: VMS_EXTRA_PARTS must be compiled by DEC C.
#VMS_EXTRA_PARTS=vcrt0.o pcrt0.o
VMS_EXTRA_PARTS=
DECC=`echo $(CC) | sed -e 's/xgcc -B.*/decc$(exeext)/' -e 's/^gcc/decc/' -e 's/^decc/.\/decc/' -e 's/\(.*\)-gcc/\1-decc/'`
# Assemble startup files.
$(T)vcrt0.o: $(CRT0_S) $(GCC_PASSES)
??? $(DECC) -c /names=as_is $(srcdir)/config/vms/vms-crt0.c -o $(T)vcrt0.o
$(T)pcrt0.o: $(CRT0_S) $(GCC_PASSES)
??? $(DECC) -c /names=as_is $(srcdir)/config/vms/vms-psxcrt0.c -o $(T)pcrt0.o
This code dates to I believe 2001:
introduced partly in http://gcc.gnu.org/viewcvs/trunk/gcc/config/alpha/t-vms?r1=47532&r2=47831
The "temporary" comment I think came with the move from alpha/t-vms to vms/t-vms, 8 months ago.
Must it still be compiled with DEC C?
I'll try it with gcc.
There is this:
#if !defined(__DECC)
/*You Lose! This file can only be compiled with DEC C.*/
#else
of course to deal with.
(Is #error not widely enough implemented?)
2)
/obj/gcc/avms/./gcc/xgcc -B/obj/gcc/avms/./gcc/ -B/usr/local/alpha-dec-vms/bin/ -B/usr/local/alpha-dec-vms/lib/ -isystem /usr/local/alpha-dec-vms/include -isystem /usr/local/alpha-dec-vms/sys-include??? -g -O2 -mieee -mcpu=ev6 -O2? -g -O2 -mieee -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE? -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition? -isystem ./include?? -mieee -g? -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc? -I. -I. -I../../.././gcc -I/src/gcc-4.5.0/libgcc -I/src/gcc-4.5.0/libgcc/. -I/src/gcc-4.5.0/libgcc/../gcc -I/src/gcc-4.5.0/libgcc/../include? -DHAVE_CC_TLS -DUSE_EMUTLS -o unwind-dw2.o -MT unwind-dw2.o -MD -MP -MF unwind-dw2.dep -fexceptions -c /src/gcc-4.5.0/libgcc/../gcc/unwind-dw2.c
In file included from /src/gcc-4.5.0/libgcc/../gcc/resource.h:24:0,
???????????????? from /usr/local/alpha-dec-vms/include/wait.h:74,
???????????????? from /usr/local/alpha-dec-vms/include/stdlib.h:51,
???????????????? from /src/gcc-4.5.0/libgcc/../gcc/config/alpha/vms-unwind.h:26,
???????????????? from /src/gcc-4.5.0/libgcc/../gcc/unwind-dw2.c:333:
/src/gcc-4.5.0/libgcc/../gcc/hard-reg-set.h:42:39: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'HARD_REG_ELT_TYPE'
Line is:
typedef unsigned HOST_WIDEST_FAST_INT HARD_REG_ELT_TYPE;
seems to be various problems compiling unwind-dw2.c:
/src/gcc-4.5.0/libgcc/../gcc/input.h:25:22: fatal error: line-map.h: No such file or directory
and others, gmp.h, symtab.h
compilation terminated.
for now I removed unwind-dw2.c et al from being compiled.
emptying LIB2ADDEH I think it was.
I also had to hack the VMS headers a bit, like:
#if defined(__GNUC_) && !defined(__int64)
#define __int64 long long
#endif
(typedef doesn't work, due to "unsigned __int64")
It would probably behoove gcc to understand "__int64", at least on VMS and NT/Cygwin/MinGW.
? Probably it already does on the latter.
?- Jay