This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[patch/committed]: Fix idd flags for VMS archives
- From: Tristan Gingold <gingold at adacore dot com>
- To: binutils <binutils at sourceware dot org>
- Date: Tue, 6 Apr 2010 15:55:14 +0200
- Subject: [patch/committed]: Fix idd flags for VMS archives
Hi,
to mimic the VMS archiver, I changed the flags of the index descriptors.
committed on mainline.
Tristan.
bfd/
2010-04-06 Tristan Gingold <gingold@adacore.com>
* vms-lib.c (_bfd_vms_lib_write_archive_contents): Fix idd flags.
Index: vms-lib.c
===================================================================
RCS file: /cvs/src/src/bfd/vms-lib.c,v
retrieving revision 1.1
diff -c -r1.1 vms-lib.c
*** vms-lib.c 1 Apr 2010 13:07:19 -0000 1.1
--- vms-lib.c 6 Apr 2010 13:53:22 -0000
***************
*** 1608,1613 ****
--- 1608,1614 ----
unsigned char blk[VMS_BLOCK_SIZE];
struct vms_lhd *lhd = (struct vms_lhd *)blk;
struct vms_idd *idd = (struct vms_idd *)(blk + sizeof (*lhd));
+ unsigned int idd_flags;
memset (blk, 0, sizeof (blk));
***************
*** 1638,1650 ****
bfd_putl32 (vbn - 1, lhd->hiprusd);
/* First index (modules name). */
! bfd_putl16 (IDD__FLAGS_ASCII | IDD__FLAGS_VARLENIDX, idd->flags);
bfd_putl16 (MAX_KEYLEN, idd->keylen);
bfd_putl16 (mod_idx_vbn, idd->vbn);
idd++;
/* Second index (symbols name). */
! bfd_putl16 (IDD__FLAGS_ASCII | IDD__FLAGS_VARLENIDX, idd->flags);
bfd_putl16 (MAX_KEYLEN, idd->keylen);
bfd_putl16 (sym_idx_vbn, idd->vbn);
idd++;
--- 1639,1653 ----
bfd_putl32 (vbn - 1, lhd->hiprusd);
/* First index (modules name). */
! idd_flags = IDD__FLAGS_ASCII | IDD__FLAGS_VARLENIDX
! | IDD__FLAGS_NOCASECMP | IDD__FLAGS_NOCASENTR;
! bfd_putl16 (idd_flags, idd->flags);
bfd_putl16 (MAX_KEYLEN, idd->keylen);
bfd_putl16 (mod_idx_vbn, idd->vbn);
idd++;
/* Second index (symbols name). */
! bfd_putl16 (idd_flags, idd->flags);
bfd_putl16 (MAX_KEYLEN, idd->keylen);
bfd_putl16 (sym_idx_vbn, idd->vbn);
idd++;