some problems targeting VMS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

 		 	   		  


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux