[Info-vax] Rendez-vous autour de VMS" of January 31 2023 report

Arne Vajhøj arne at vajhoej.dk
Mon Feb 20 19:56:19 EST 2023


On 2/20/2023 7:03 PM, Arne Vajhøj wrote:
> On 2/20/2023 5:31 PM, hb at end.of.inter.net wrote:
>> On Monday, February 20, 2023 at 11:02:18 PM UTC+1, Single Stage to
>> Orbit wrote:
>>> On Mon, 2023-02-20 at 11:35 -0800, h... at end.of.inter.net wrote:
>>>> On Monday, February 20, 2023 at 7:02:17 PM UTC+1, Single Stage
>>>> to Orbit wrote:
>>>>> On Mon, 2023-02-20 at 11:36 -0500, Arne Vajhøj wrote:
>>>>>> %LINK-W-NUDFSYMS, 4 undefined symbols: %LINK-I-UDFSYM,
>>>>>> _vt$7istream$3ios %LINK-I-UDFSYM,         _vt$7ostream$3ios 
>>>>>> %LINK-I-UDFSYM,         _vt$8iostream$3ios %LINK-I-UDFSYM,
>>>>>> _vt$8stdiobuf
>>>>> Smells like ABI issues. It depends on what linker is being
>>>>> used, I guess. Mayvbe GCC should use its linker instead of the
>>>>> VMS linker.
>>>>
>>>> It only shows that objects, object libraries or shareable
>>>> images, which define theses symbols, are not included in the link
>>>> operation.
>>>
>>> Which kinda begs the question; what has it forgotten to link? These
>>> are iostream routines.
>>
>> Only the user/developer knows. There is no link command or map file
>> posted. For linking the C example the command/symbol gcclink is used,
>> whatever that is/was. But for C++, nothing is said.
> 
> More info.
> 
> $ gxx test.cpp
> $ gxxlink test
> %LINK-W-NUDFSYMS, 4 undefined symbols:
> %LINK-I-UDFSYM,         _vt$7istream$3ios
> %LINK-I-UDFSYM,         _vt$7ostream$3ios
> %LINK-I-UDFSYM,         _vt$8iostream$3ios
> %LINK-I-UDFSYM,         _vt$8stdiobuf

I got lucky.

First I found an old COM file from 1998 showing that I
did use GXX back then. So it had to work.

Then I found the old disk with the old stuff. And voila.
I had both a GCC280 and a GCCBETA. I was testing with the GCC280.

Get GCCBETA ready. And it works.

$ type test.c
#include <stdio.h>

int main()
{
     printf("Hello world from C!\n");
     return 0;
}
$ gcc test.c
$ gcclink test
$ run test
Hello world from C!
$ type test.cpp
#include <iostream.h>

int main()
{
     cout << "Hello world from C++!" << endl;
     return 0;
}
$ gxx test.cpp
$ gxxlink test
$ run test
Hello world from C++!

Arne

PS: If anyone want a copy I can ZIP it up.




More information about the Info-vax mailing list