Sysop: | Amessyroom |
---|---|
Location: | Fayetteville, NC |
Users: | 23 |
Nodes: | 6 (0 / 6) |
Uptime: | 49:54:33 |
Calls: | 583 |
Files: | 1,138 |
Messages: | 111,303 |
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 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.
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.
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
Or if possible even better:
source-(compiler on Linux)->.s-(GCC AS on VMS)->.obj-(LINK on VMS)->VMS .exe
GCC AS (version 2.8) is working on VMS Alpha.
In article <108sckg$19hcn$1@paganini.bofh.team>,
Waldek Hebisch <antispam@fricas.org> 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.
There is a BFD backend for VMS on Alpha in the main binutils
branch in git, but it is not clear to me how well-tested or
generally maintained it is, nor how compatibile with the
standard VMS utilities it ever was; I suspect it existed
primarily to port GNU software to VMS.
What, exactly, are you trying to do?
Arne Vajh|+j <arne@vajhoej.dk> 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.
GNV got both ar and ld, but that does not help you.
Where are the sources? Working sources certainly would help.
In article <108sckg$19hcn$1@paganini.bofh.team>,
Waldek Hebisch <antispam@fricas.org> 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.
There is a BFD backend for VMS on Alpha in the main binutils
branch in git, but it is not clear to me how well-tested or
generally maintained it is, nor how compatibile with the
standard VMS utilities it ever was; I suspect it existed
primarily to port GNU software to VMS.
What, exactly, are you trying to do?
Arne Vajh|+j <arne@vajhoej.dk> 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.
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
That is plan B. Working binutils would be simpler because
I could use existing automated process.
Actually, ATM I getting errors during gcc build. I can use
crude workaround to go further, but I am affraid that to get
working compiler I need either working binutils or to examine
all build steps involving binutils and do equvalent work in
different way.
Or if possible even better:
source-(compiler on Linux)->.s-(GCC AS on VMS)->.obj-(LINK on VMS)->VMS .exe >>
GCC AS (version 2.8) is working on VMS Alpha.
Actually, it is possible that I will have to use
source-(compiler on Linux)->.s-(VMS assembler)>.obj...
because one of next goals is to get running compiler wich generate(d) assembly for VMS assembler and may be incompatible with GNU as. But
this means more changes to build process (= work work => not better).
On 2025-08-29, Dan Cross <cross@spitfire.i.gajendra.net> wrote:Not just AdaCore GNAT (Ada).
In article <108sckg$19hcn$1@paganini.bofh.team>,
Waldek Hebisch <antispam@fricas.org> 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.
There is a BFD backend for VMS on Alpha in the main binutils
branch in git, but it is not clear to me how well-tested or
generally maintained it is, nor how compatibile with the
standard VMS utilities it ever was; I suspect it existed
primarily to port GNU software to VMS.
AdaCore was primarily responsible for working on this as part of
GNAT. After they dropped VMS as a supported target, this code may
have gone stale.
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.
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
Or if possible even better:
source-(compiler on Linux)->.s-(GCC AS on VMS)->.obj-(LINK on VMS)->VMS .exe
GCC AS (version 2.8) is working on VMS Alpha.
Arne Vajhoj <arne@vajhoej.dk> 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.
GNV got both ar and ld, but that does not help you.
Where are the sources? Working sources certainly would help.
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
That is plan B. Working binutils would be simpler because
I could use existing automated process.
Actually, ATM I getting errors during gcc build. I can use
crude workaround to go further, but I am affraid that to get
working compiler I need either working binutils or to examine
all build steps involving binutils and do equvalent work in
different way.
I have little faith in ld producing good VMS .exe.
All the GCC ports to VMS I have seen (GCC 1.4x on VAX,
GCC 2.8.x on Alpha and GNAT 2.8.x on Alpha) have used
VMS linker. I suspect they have their reasons.
On 2025-08-29, Arne Vajh|+j <arne@vajhoej.dk> 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.
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.
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 ?
On 2025-08-29, Arne Vajh|+j <arne@vajhoej.dk> wrote:
All the GCC ports to VMS I have seen (GCC 1.4x on VAX,
GCC 2.8.x on Alpha and GNAT 2.8.x on Alpha) have used
VMS linker. I suspect they have their reasons.
AdaCore started with a cross compiler on Linux.
On 8/29/2025 1:57 PM, Simon Clubley wrote:
Also, what makes you think that the GNU gas of that era will still
be suitable for today's compilers ?
I would expect Alpha assembler to still be Alpha assembler.
The instructions are obviously the same.
And I find it unlikely that anyone has spend time the last 25
years adding advanced macros and pseudo instructions to the
Alpha assembler and the compiler.
On 2025-08-29, Arne Vajh|+j <arne@vajhoej.dk> wrote:
On 8/29/2025 1:57 PM, Simon Clubley wrote:
Also, what makes you think that the GNU gas of that era will still
be suitable for today's compilers ?
I would expect Alpha assembler to still be Alpha assembler.
And are you sure that VMS gas 2.8 will support all of the following:
https://sourceware.org/binutils/docs/as/Pseudo-Ops.html
(Those are just the current target-neutral directives).
The instructions are obviously the same.
And I find it unlikely that anyone has spend time the last 25
years adding advanced macros and pseudo instructions to the
Alpha assembler and the compiler.
That's not where the problem is. You need to think at a higher level
than that. Notice that I said today's compilers which may rely on
underlying features not present in that old VMS Alpha version of gas.
On 8/29/2025 2:11 PM, Simon Clubley wrote:
On 2025-08-29, Arne Vajhoj <arne@vajhoej.dk> wrote:
All the GCC ports to VMS I have seen (GCC 1.4x on VAX,
GCC 2.8.x on Alpha and GNAT 2.8.x on Alpha) have used
VMS linker. I suspect they have their reasons.
AdaCore started with a cross compiler on Linux.
But did they use ld on Linux or LINK on VMS?
On 2025-08-29, Arne Vajhoj <arne@vajhoej.dk> 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.
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 ?
If anyone still has it installed, does the really old GNAT 3.11/3.12p
use ld or the VMS linker ? I know they used gas, but what about the
final link ?
On 8/29/2025 2:44 PM, Simon Clubley wrote:
If anyone still has it installed, does the really old GNAT 3.11/3.12p
use ld or the VMS linker ? I know they used gas, but what about the
final link ?
I have Gnat 3.12p / GCC 2.8.1 installed.
I think it uses LINK.
<quote>
$ gnat make
List of available qualifiers and options
GNAT MAKE file /qualifiers (includes COMPILE /qualifiers)
gnatmake
...
/LINKER_QUALIFIERS (switches for LINK) -largs switches
...
</quote>
It mentions LINK.
On 2025-08-29, Arne Vajh|+j <arne@vajhoej.dk> wrote:
On 8/29/2025 2:44 PM, Simon Clubley wrote:
If anyone still has it installed, does the really old GNAT 3.11/3.12p
use ld or the VMS linker ? I know they used gas, but what about the
final link ?
I have Gnat 3.12p / GCC 2.8.1 installed.
I think it uses LINK.
<quote>
$ gnat make
List of available qualifiers and options
GNAT MAKE file /qualifiers (includes COMPILE /qualifiers)
gnatmake
...
/LINKER_QUALIFIERS (switches for LINK) -largs switches
...
</quote>
It mentions LINK.
Interesting thanks. Does the "ld" binary exist in whatever the binutils executables directory is ?
If it does, and you run it as a foreign command with "--help", what
output do you get ?
On 8/29/2025 3:10 PM, Simon Clubley wrote:
On 2025-08-29, Arne Vajh|+j <arne@vajhoej.dk> wrote:
On 8/29/2025 2:44 PM, Simon Clubley wrote:
If anyone still has it installed, does the really old GNAT 3.11/3.12p
use ld or the VMS linker ? I know they used gas, but what about the
final link ?
I have Gnat 3.12p / GCC 2.8.1 installed.
I think it uses LINK.
<quote>
$ gnat make
List of available qualifiers and options
GNAT MAKE file /qualifiers (includes COMPILE /qualifiers)
-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a gnatmake
-a-a-a-a ...
-a-a-a-a /LINKER_QUALIFIERS (switches for LINK)-a-a-a-a-a-a-a-a-a-a -largs switches
-a-a-a-a ...
</quote>
It mentions LINK.
Interesting thanks. Does the "ld" binary exist in whatever the binutils
executables directory is ?
If it does, and you run it as a foreign command with "--help", what
output do you get ?
Nothing with ld.
$ dir gnu:[bin]
Directory GNU:[BIN]
AS.EXE;10-a-a-a-a-a-a-a-a-a-a ASISTANT.EXE;1-a-a-a-a-a GCC.EXE;1-a-a-a-a-a-a-a-a-a-a GNAT.EXE;1
GNATBIND.EXE;1-a-a-a-a-a GNATBL.EXE;1-a-a-a-a-a-a-a GNATCHOP.EXE;2-a-a-a-a-a GNATELIM.EXE;1
GNATFIND.EXE;1-a-a-a-a-a GNATKR.EXE;1-a-a-a-a-a-a-a GNATLBR.EXE;1-a-a-a-a-a-a GNATLINK.EXE;1
GNATLS.EXE;1-a-a-a-a-a-a-a GNATMAKE.EXE;1-a-a-a-a-a GNATMEM.EXE;1-a-a-a-a-a-a GNATPREP.EXE;1
GNATPSTA.EXE;1-a-a-a-a-a GNATPSYS.EXE;1-a-a-a-a-a GNATSTUB.EXE;1-a-a-a-a-a GNATXREF.EXE;1
MAKE.EXE;260-a-a-a-a-a-a-a OPENVMS7_1-GCC.EXE;1-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a-a SET_EXE.COM;11
$ dir gnu:[bin]*ld*.*
%DIRECT-W-NOFILES, no files found
Dan Cross <cross@spitfire.i.gajendra.net> wrote:
In article <108sckg$19hcn$1@paganini.bofh.team>,
Waldek Hebisch <antispam@fricas.org> 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.
There is a BFD backend for VMS on Alpha in the main binutils
branch in git, but it is not clear to me how well-tested or
generally maintained it is, nor how compatibile with the
standard VMS utilities it ever was; I suspect it existed
primarily to port GNU software to VMS.
What, exactly, are you trying to do?
Well, this is part of bigger rather poorly defined project. ATM
I trying to compile gcc-15.1.
I first build binutils, then I do
../gcc-15.1.0/configure --enable-languages=c,c++ --target=alpha-dec-vms --prefix=/sklad/usr
make -j 7 > mlogg 2>&1
There were earlier problems that I resolved. I have now trouble
during linking of libgcc. Some problems went away after switch
from binutils 2.43 to binutils 2.21. But now I get the following
error:
/sklad/usr/alpha-dec-vms/bin/ld: -shared not supported
That is 'ld' from binutils 2.21 says that it does not support
'-shared'. Note that Makefile wants to create 'libgcc_s.exe',
so it knows about VMS file extentions. In other words somebody
at least tried to make it work.
If you want more details I can provide them, but the message
about '-shared' appears also when I attempt to build a
different shared image:
/sklad/usr/alpha-dec-vms/bin/ld -shared -o pop_poll.exe pop_poll.obj
so the problem can be reproduced outside of gcc build.
There were earlier problems that I resolved. I have now trouble
during linking of libgcc. Some problems went away after switch
from binutils 2.43 to binutils 2.21. But now I get the following
error:
/sklad/usr/alpha-dec-vms/bin/ld: -shared not supported
That is 'ld' from binutils 2.21 says that it does not support
'-shared'. Note that Makefile wants to create 'libgcc_s.exe',
so it knows about VMS file extentions. In other words somebody
at least tried to make it work.
If you want more details I can provide them, but the message
about '-shared' appears also when I attempt to build a
different shared image:
/sklad/usr/alpha-dec-vms/bin/ld -shared -o pop_poll.exe pop_poll.obj
so the problem can be reproduced outside of gcc build.
On 2025-08-29, Arne Vajh|+j <arne@vajhoej.dk> 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).
On 8/29/2025 1:32 PM, Waldek Hebisch wrote:
Arne Vajh|+j <arne@vajhoej.dk> 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.
GNV got both ar and ld, but that does not help you.
Where are the sources? Working sources certainly would help.
There are the SourceForge version of GNV and there is the
VSI version of GNV.
The SF version is here:
https://sourceforge.net/p/gnv/ld_tools/ci/default/tree/reference/ld_tools/
On 2025-08-29, Waldek Hebisch <antispam@fricas.org> wrote:
Arne Vajh|+j <arne@vajhoej.dk> 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.
GNV got both ar and ld, but that does not help you.
Where are the sources? Working sources certainly would help.
Aren't they simply wrappers around the native VMS utilities ?
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
That is plan B. Working binutils would be simpler because
I could use existing automated process.
Binutils worked at one time because I was able to do the whole
sequence, including generating the final C VMS executable, on Linux.
Actually, ATM I getting errors during gcc build. I can use
crude workaround to go further, but I am affraid that to get
working compiler I need either working binutils or to examine
all build steps involving binutils and do equvalent work in
different way.
That's where I gave up. I either didn't understand the required
VMS-specific build steps or there were bits missing from the public
source kits.