[Info-vax] exact case transfer_vectors for VAX Macro?
hb
end.of at inter.net
Wed Jan 23 11:48:56 EST 2013
On 01/23/2013 04:13 AM, John E. Malmberg wrote:
> It is just that if I set the C compiler to exact case, it tells the
> linker to also use exact case when resolving symbols, and while the
> uppercase transfer vectors work when building the shared image, they do
> not work when linking against it.
I can't verify this on a VAX (just with the cross linker on Alpha) but
the linker usually used and uses exact case when resolving symbols.
There is no directive to tell the linker otherwise. The linker takes
whatever the "language processors" supply and tries to find an exact match.
Linker options are different. They are processed by the linker after
uppercasing everything, except you tell the linker to be case sensitive.
There is a linker option for this, CASE_SENSITIVE=YES, which initially
is treated case insensitive. The effect is, that for all subsequent
options all tokens on the right side of the equal sign are treated as-is
(so you can enable the feature with yes, but have to disable it with
NO). Universal symbols can be defined in linker options. So whatever is
read from the options file as a universal symbol will make it into the
image.
It is (always) useful to have a full map with cross references to verify
the result of the link process.
> I have not been able to figure out how to use the Linker option file to
> make exact case aliases for the transfer vector.
The transfer vector on VAX is usually made by MACRO32. There is nothing
in the VAX linker to help you with that. I don't know whether there was
a directive to enable case sensitive global symbols for MACRO32. Because
you seem to use .transfer, you may need to modify the generated transfer
object to get the case sensitive symbol into the object module and the
shareable image.
More information about the Info-vax
mailing list