[Info-vax] GCC for VMS, was: Re: fortran compiler roadmap?
Simon Clubley
clubley at remove_me.eisner.decus.org-Earth.UFP
Tue Apr 30 03:32:32 EDT 2013
On 2013-04-29, Craig A. Berry <craigberry at mac.com.invalid> wrote:
> In article <klmspl$j63$1 at dont-email.me>,
> Simon Clubley <clubley at remove_me.eisner.decus.org-Earth.UFP> wrote:
>
>> That makes the DEC C headers incompatible with gcc when you have, for
>> example, pointers in structs and want to use that struct with existing
>> functions in the DEC C RTL.
>
> I'm pretty sure the same or similar headers worked with Tru64. Of
> course, regardless of platform, DEC C can do either 32-bit or 64-bit
> pointers according to what you tell it. Not sure if gcc can do that.
>
The basic problem is that you need to interact with a existing decc$shr.exe
binary which has been built in a specific way. What you can do is to set
the header definitions in such a way to force the calling of one of
the other variants of stat():
alpha64-dec-vms-nm vms_libs/syslib/decc\$shr.exe | grep -i _stat
0025cf88 A decc$__long_gid_stat
0025cf88 A DECC$__LONG_GID_STAT
0025e778 A decc$__off64_long_gid_stat
0025e778 A DECC$__OFF64_LONG_GID_STAT
0025eb38 A decc$__off64_stat
0025eb38 A DECC$__OFF64_STAT
0025f450 A decc$__off64_utc_stat
0025f450 A DECC$__OFF64_UTC_STAT
00260200 A decc$__std_stat
00260200 A DECC$__STD_STAT
00260b90 A decc$__utc_stat
00260b90 A DECC$__UTC_STAT
That is next on my list of things to do; but I will need to tweak the
CRTL mapping first and rebuilt the compiler.
However, if you look in the headers, you will see examples of the
pointer size been forced to 32 bits for some definitions and I don't
see a easy way around that yet.
Simon.
--
Simon Clubley, clubley at remove_me.eisner.decus.org-Earth.UFP
Microsoft: Bringing you 1980s technology to a 21st century world
More information about the Info-vax
mailing list