home bbs files messages ]

Just a sample of the Echomail archive

COMPOSVM:

<< oldest | < older | list | newer > | newest >> ]

 Message 263,126 of 264,034 
 Dan Cross to clubley@remove_me.eisner.decus.org- 
 Re: Binutils 
 29 Aug 25 18:59:54 
 
From: cross@spitfire.i.gajendra.net

In article <108splv$24jsc$2@dont-email.me>,
Simon Clubley   wrote:
>On 2025-08-29, Arne Vajhøj  wrote:
>> On 8/29/2025 10:14 AM, Waldek Hebisch wrote:
>>> I wonder if anybody is using GNU binutils targeting VMS.  I am
>>> trying to set up toolchain for cross-compilation (from Linux) to
>>> Alpha VMS.  Trying reasonably recent (2.43 and 2.39) binutils I
>>> get errors suggesting serious brokennes, for example when I use
>>> 'ar' to create a library and later extract a member I get changed
>>> file and 'objdump' says that extracted file is malformed.
>>>
>>> I am now trying binutils 2.21 and apparently they do not have the
>>> problem above.  But I see some weirdness and apparently '-shared'
>>> option (to create shared image) is not supported.
>>
>> I suspect very few try to build VMS executables on Linux.
>>
>
>A decade ago, I got as far as getting a simple C program for VMS Alpha
>to compile and link on Linux. Anything else more complicated than that
>(ie: other languages) failed and I suspect that either bits were missing
>from the public kits or the additional steps required were not obvious.
>
>I discussed this at length in comp.os.vms at the time. Anyone interested
>will have to rely on the notes I posted at the time as I have completely
>forgotten the details of any of this (and have no motivation to get back
>up to speed on them because my hobbies these days are very different and
>because there's no longer a proper hobbyist licence for VMS Alpha).
>
>> GNV got both ar and ld, but that does not help you.
>>
>> But are you sure you want to do it this way?
>>
>> My understanding is that you want to do:
>>
>> source-(compiler on Linux)->.obj->(ld on Linux)->VMS .exe
>>
>> I would go for:
>>
>> source-(compiler on Linux)->.obj->(LINK on VMS)->VMS .exe
>
>I strongly suspect that will not work as the VMS linker may not
>have the features needed to link those .o files.

What features?  Presumably the `.o` files generated are actually
VMS `.OBJ` files.  I suppose the compiler could generate generic
ELF or COFF or a.out objects for Alpha, and then rely on GNU LD
to do the right thing and convert them to a properly linked VMS
executable, but that seems a rather roundabout way to go.

>> Or if possible even better:
>>
>> source-(compiler on Linux)->.s-(GCC AS on VMS)->.obj-(LINK on VMS)->VMS .exe
>
>Er, why ? If you can get the BFD library working for VMS Alpha
>once again, that's the major problem sorted.
>
>> GCC AS (version 2.8) is working on VMS Alpha.
>
>Also, what makes you think that the GNU gas of that era will still
>be suitable for today's compilers ?

I'd be rather surprised if much had changed in that department.

	- Dan C.

--- SoupGate-Win32 v1.05
 * Origin: you cannot sedate... all the things you hate (1:229/2)

<< oldest | < older | list | newer > | newest >> ]


(c) 1994,  bbs@darkrealms.ca