home bbs files messages ]

Just a sample of the Echomail archive

COMPOSVM:

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

 Message 263,344 of 264,034 
 Waldek Hebisch to mw40171@mucweb.de 
 Re: Unix stat on VMS 
 16 Sep 25 19:24:56 
 
From: antispam@fricas.org

hb0815  wrote:
> On 9/10/25 16:13, Waldek Hebisch wrote:
>
>> By default GNU ld also wants to use 'starlet.olb' and
>> 'sys$public_vectors'.  I do not know if 'starlet.olb' is a "shared
>> image library" or just static library.  IIUC 'sys$public_vectors'
>> is a sharable image.  So at least programs that do not use
>> 'starlet.olb' should work after linking with fake shareable
>> images.  And I think that this includes a lot of code.
>
> starlet.olb is an OBJECT library.
>
> You can fake the shareable image. You only need to have the very same
> symbol vector entries in the faked image as in the real one. That
> includes all the alias entries as well has spare and private entries.
> And you need to have the identical GSMATCH.
>
> If someone links /system you also need a SYS$BASE_IMAGE.EXE. A faked one
> should do, but I admit I never tried that.

I have made a simple-minded generator of fake shared libraries.
Using fake 'DECC$SHR.exe' containing just 5 real symbols (and
hundreds of dummies to fill unused positions in symbol vector)
I managed to link on Linux a simple "Hello from VMS" program
and the program run correctly on VMS.

I still have a problem: ATM I do not know how access to variables in
shared images works.  So I have bogus reference to 'C$_EXIT1'.

I have noticed that VMS linker inserts reference to 'LIB$INITIALIZE',
while with my fake libraries GNU linker does not reference this
function.

--
                              Waldek Hebisch

--- 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