ld for VMS?
Mon May 3 09:21:00 GMT 2010
ok, having edited down vms-crt0.c to remove the handler/establish and compile it with cross gcc, cross gcc+ld work, I copied hello.exe to VMS system and it works!
Why is the handler incompatible with gcc? Ah..maybe cc treats lib$establish as a special builtin function?
Now to try cross building bigger stuff like cvs, ld, gcc.. :)
It seems editing vms-crt0.c down might introduce some small malfunction.
> From: firstname.lastname@example.org
> To: email@example.com
> CC: firstname.lastname@example.org; email@example.com; firstname.lastname@example.org
> Subject: RE: ld for VMS?
> Date: Mon, 3 May 2010 08:56:53 +0000
> arg..I'm not sure where I got my crt0.o from. I'm sure I compiled it myself, somehow.
> When I tried compiling it with cc just now, and copied to Mac host, alpha-dec-vms-gcc/ld complain it doesn't know the format.
> /usr/local/lib/gcc/alpha-dec-vms/4_5_0/pcrt0.o: file not recognized: File format not recognized
> There is also the problem with 64bit crt0.c that it uses pragma pointer_size.
> - Jay
>> Subject: Re: ld for VMS?
>> From: email@example.com
>> Date: Mon, 3 May 2010 10:31:49 +0200
>> CC: firstname.lastname@example.org; email@example.com; firstname.lastname@example.org
>> To: email@example.com
>> On May 3, 2010, at 10:16 AM, Jay K wrote:
>>> Thanks. Very helpful.
>>> Maybe the assert before failing should print "try library /data=expand foo.olb" or such?
>> Well, I think there are no real reason why bfd can't deal with compressed libs. I will try to investigate
>>> Oddly, running that command over all files seems like a bad idea:
>>> I got something "unable to read symbols from starlet.olb". I lost the message.
>>> I replaced startlet.olb with a pristine copy and now just:
>>> /usr/local/lib/gcc/alpha-dec-vms/4_5_0/pcrt0.o:($DATA$+0x90): undefined reference to `lib$establish'
>> Looks like pcrt0 was not correctly compiled. IIRC, the current version must be compiled with DEC-C.
>> I think you could compile it with gcc provided you remove the condition handler. We have done such
>> a change here and we plan to submit it.
>>> Looks like maybe I only have the older vaxc$establish in my libraries.
>>> I am only on 7.x not the current 8.x. The admin is interested in upgrading when he has time.
>>> Maybe I should edit pcrt0.c. I'll look.
More information about the Binutils