vms-crt0-64.c vms-crt0.c vms-psxcrt0-64.c vms-psxcrt0.c currently are slightly DEC C specific and they are set to not compiler, or maybe to compile with DEC C, it is unclear (the comments say one thing, the code appears different).
It is easy to make this code compile with gcc (and still DEC C). The code is doing two things. Establishing a handler. Converting "short" char** to "long" char**. "Short" char** can be replaced by int* and casting. The strdup calls are not needed (and therefore not #include string.h). The "handler" stuff can have #ifdef __DECC around it. While at it, this is also a good place, in the 64bit version, for the global char** environ to be instantiated and assigned to. decc$ga_environ is an array of 32 bit pointers, can be handled in vms-crtl.h but not vms-crtl-64.h. -- Summary: vms-crt0*.c should compile with gcc Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jay dot krell at cornell dot edu GCC build triplet: i686-apple-darwin9 GCC host triplet: i686-apple-darwin9 GCC target triplet: alpha-dec-vms http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44242