This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
RE: ld for VMS?
- From: Jay K <jay dot krell at cornell dot edu>
- To: <gingold at adacore dot com>
- Cc: <becker dot ismaning at freenet dot de>, <rupp at gnat dot com>, binutils <binutils at sourceware dot org>
- Date: Mon, 3 May 2010 09:21:22 +0000
- Subject: RE: ld for VMS?
- References: <155841f3991588483cd1f08797799333@email.freenet.de>,<7ECC1459-522F-4D83-A990-3A831CCFFA2D@adacore.com>,<4BD5C1B8.30609@freenet.de>,<COL101-W21AD46888447D969481EC1E6F20@phx.gbl>,<48143E0B-1D96-4082-B142-18F9B9EA1DDC@adacore.com>
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!
Thanks!
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.
We'll see.
?- Jay
----------------------------------------
> From: jay.krell@cornell.edu
> To: gingold@adacore.com
> CC: becker.ismaning@freenet.de; rupp@gnat.com; binutils@sourceware.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: gingold@adacore.com
>> Date: Mon, 3 May 2010 10:31:49 +0200
>> CC: becker.ismaning@freenet.de; rupp@gnat.com; binutils@sourceware.org
>> To: jay.krell@cornell.edu
>>
>>
>> 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
>> that.
>>
>>> 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.
>>
>> Yes.
>>
>> Tristan.
>>
>