🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.os.os2.programmer
Article #1968

Re: CSet/2 Linking Conflict

#1968
From: Barry Pederson
Date: Thu, 08 Oct 1992 21:35
40 lines
2176 bytes
>The fact that you can "ignore case in symbol names" for VIM would not be
>a requirement -- it would just mean that the function names you use
>could be whatever case you wanted (mixed, presumably).  As you require
>the linker to respect the case (for TCP/IP), simply use the correct case
>for your VIM functions.  What the correct case is, I have no idea.  All
>uppercase, perhaps?    -tim

 That's kind of what I was thinking at first, but I poked around the
vim.lib file, and the names there look line "VIMInitialize", just like
I used in the program.  The linker error message is:

  error L2029: 'VIMINITIALIZE' : unresolved external

So I'm thinking the compiler is converting the name to uppercase.

I've also looked at the files some more, and found that the VIM functions
are declared as _Far16 _Pascal, while the TCP functions are _Far16 _Cdecl.
Are the two linkage conventions mutually exclusive?

Another thing I've noticed is that the TCP dll seems to be linked by name,
and the VIM is by ordinal.
the map file shows:

    0000:00000000  Imp  _sock_init           (TCPIPDLL._sock_init)

when "Do not ignore case" is activated and TCP/IP is happy, and:

    0000:00000000  Imp  VIMINITIALIZE        (VIM.1)

when "Do not ignore case" is not activated and VIM is happy.

I'm not quite sure if this is relevant.

I'm starting to think that what I need to do is create my own import library
for the VIM.DLL, that has the names in all uppercase.  That way, when I tell
the linker to be case sensitive to satisfy the TCP dll, it will work with
the VIM dll.

I'd appreciate any ideas or comments.
    Barry
Technical Details
Message-ID: <92282.163513UD092096@NDSUVM1.BITNET>
Path: arc1-ca.pugleaf.net!sparky!uunet!noc.near.net!hri.com!ukma!wupost!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!hamblin.math.byu.edu!yvax.byu.edu!cunyvm!ndsuvm1!ud092096
References: <92281.101301UD092096@NDSUVM1.BITNET><19921007.150857.182@almaden.ibm.com>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!noc.near.net!hri.com!ukma!wupost!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!hamblin.math.byu.edu!yvax.byu.edu!cunyvm!ndsuvm1!ud092096
From: UD092096@NDSUVM1.BITNET (Barry Pederson)
Newsgroups: comp.os.os2.programmer
Subject: Re: CSet/2 Linking Conflict
Message-ID: <92282.163513UD092096@NDSUVM1.BITNET>
Date: 8 Oct 92 21:35:13 GMT
References: <92281.101301UD092096@NDSUVM1.BITNET><19921007.150857.182@almaden.ibm.com>
Organization: North Dakota Higher Education Computer Network
Lines: 40