[VMS/committed]: Set extension to archive member
Tristan Gingold
gingold@adacore.com
Wed Apr 18 07:37:00 GMT 2012
On Apr 18, 2012, at 9:09 AM, h.becker wrote:
> On 04/18/12 08:33, Tristan Gingold wrote:
>>
>> On Apr 17, 2012, at 6:23 PM, Douglas B Rupp wrote:
>>
>>> On 4/17/2012 3:50 AM, Tristan Gingold wrote:
>>>> Hi,
>>>>
>>>> VMS archives member names doesn't have extension (only the 'basename' is stored).
>>>> But this is not the usual convention for ar, and some tools (libtool) expect that extracted
>>>> members of an archive to have the standard object extension.
>>>>
>>>> This patch implements this behaviour, thus making VMS archives more UNIX friendly.
>>>>
>>>> Committed on trunk.
>>>>
>>>> Tristan.
>>>
>>> So if one inserts a .o, it extracts as a .obj?
>>
>> Yes. That looks strange, but the extension is lost in the archive.
>>
>>
> Hmm, as I tried to explain, it's a feature of VMS object libraries. The extension may change as well as the basename may change - because of differences between the module name and the basename - and as you may end up with many library members from just one object file.
Yes, I think that I understand that.
Contrary to VMS librarian, GNU ar use the filename to set member name (and not the module name). In practice, this doesn't change anything as basename = module name. I agree this is not fully compliant with VMS librarian, but that's UNIX tools ported to VMS.
Tristan.
More information about the Binutils
mailing list