From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17898 invoked by alias); 17 Apr 2012 10:51:26 -0000 Received: (qmail 17888 invoked by uid 22791); 17 Apr 2012 10:51:26 -0000 X-SWARE-Spam-Status: No, hits=-0.4 required=5.0 tests=AWL,BAYES_50,TW_CP X-Spam-Check-By: sourceware.org Received: from mel.act-europe.fr (HELO mel.act-europe.fr) (194.98.77.210) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 17 Apr 2012 10:50:53 +0000 Received: from localhost (localhost [127.0.0.1]) by filtered-smtp.eu.adacore.com (Postfix) with ESMTP id 6BD25290078 for ; Tue, 17 Apr 2012 12:50:58 +0200 (CEST) Received: from mel.act-europe.fr ([127.0.0.1]) by localhost (smtp.eu.adacore.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1mEJAFYtzsu8 for ; Tue, 17 Apr 2012 12:50:58 +0200 (CEST) Received: from ulanbator.act-europe.fr (ulanbator.act-europe.fr [10.10.1.67]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by mel.act-europe.fr (Postfix) with ESMTP id 58B7E290076 for ; Tue, 17 Apr 2012 12:50:58 +0200 (CEST) From: Tristan Gingold Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Subject: [VMS/committed]: Set extension to archive member Date: Tue, 17 Apr 2012 11:27:00 -0000 Message-Id: <2FDC53D8-39B6-41C9-9DEC-4C263D03CCE7@adacore.com> To: binutils Development Mime-Version: 1.0 (Apple Message framework v1257) X-IsSubscribed: yes Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org X-SW-Source: 2012-04/txt/msg00169.txt.bz2 Hi, VMS archives member names doesn't have extension (only the 'basename' is st= ored). But this is not the usual convention for ar, and some tools (libtool) expec= t that extracted members of an archive to have the standard object extension. This patch implements this behaviour, thus making VMS archives more UNIX fr= iendly. Committed on trunk. Tristan. bfd/ 2012-04-17 Tristan Gingold * vms-lib.c (_bfd_vms_lib_get_module): Append .obj extension to member of an object archive.< Index: vms-lib.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvs/src/src/bfd/vms-lib.c,v retrieving revision 1.21 diff -c -p -r1.21 vms-lib.c *** vms-lib.c 17 Apr 2012 10:28:19 -0000 1.21 --- vms-lib.c 17 Apr 2012 10:47:01 -0000 *************** _bfd_vms_lib_get_module (bfd *abfd, unsi *** 1296,1301 **** --- 1296,1302 ---- struct lib_tdata *tdata =3D bfd_libdata (abfd); bfd *res; file_ptr file_off; + char *name; =20=20 /* Sanity check. */ if (modidx >=3D tdata->nbr_modules) *************** _bfd_vms_lib_get_module (bfd *abfd, unsi *** 1357,1363 **** res->origin =3D file_off + tdata->mhd_size; } =20=20 ! res->filename =3D tdata->modules[modidx].name; =20=20 tdata->cache[modidx] =3D res; =20=20 --- 1358,1382 ---- res->origin =3D file_off + tdata->mhd_size; } =20=20 ! /* Set filename. */ ! name =3D tdata->modules[modidx].name; ! switch (tdata->type) ! { ! case LBR__C_TYP_IOBJ: ! case LBR__C_TYP_EOBJ: ! /* For object archives, append .obj to mimic standard behaviour. */ ! { ! size_t namelen =3D strlen (name); ! char *name1 =3D bfd_alloc (res, namelen + 4 + 1); ! memcpy (name1, name, namelen); ! strcpy (name1 + namelen, ".obj"); ! name =3D name1; ! } ! break; ! default: ! break; ! } ! res->filename =3D name; =20=20 tdata->cache[modidx] =3D res; =20=20