bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug binutils/3704] New: ar reports unexpected character in S-record fil


From: mcalabre at atnf dot csiro dot au
Subject: [Bug binutils/3704] New: ar reports unexpected character in S-record file
Date: 12 Dec 2006 04:23:10 -0000

In using 'ar' to store empty timestamp files I found that it is sensitive to
member file names of the form "Sxyz*" where x, y, z are hex digits (upper or
lower case).  The following shell script is a distillation of the problem and
contains comments concerning it:


#!/bin/bash
#-----------------------------------------------------------------------------
# Usage: ar-bug
#-----------------------------------------------------------------------------
# Demonstrates a bug in GNU ar 2.17 (also in 2.15).
#-----------------------------------------------------------------------------

  # The first archive member name is irrelevant.
  cat /dev/null > member1

  # The following archive member names trigger the bug.  The name must start
  # with "S"; it seems that the second char must be a hex digit; the third and
  # fourth characters are interpreted as a hex offset from the fifth char,
  # skipping two chars per increment.  The remaining chars don't matter.
  cat /dev/null > SF00abcdefgh
  cat /dev/null > SF01ijklmnop
  cat /dev/null > SF02qrstuvwx

  ar --version
  echo

  rm -f libS.a
  ar r libS.a member1 SF00abcdefgh SF01ijklmnop SF02qrstuvwx

  # Name doesn't matter (but must differ from the above).
  cat /dev/null > dummy

  # Now the following...
  ar r libS.a dummy
  
  # ...should produce:
  #
  #   BFD: libS.a(member1):1: Unexpected character `a' in S-record file
  #
  #   BFD: libS.a(SF00abcdefgh):1: Unexpected character `k' in S-record file
  #
  #   BFD: libS.a(SF01ijklmnop):1: Unexpected character `u' in S-record file
  #
  # ('ranlib libS.a' produces the same result).  The "unexpected" character
  # is the one indicated by the hex offset in the "Sxyz*" member name.

  # No error is reported if the "S" modifier is used in ar, indicating that
  # the error is indeed coming from ranlib.
  ar rS libS.a dummy

  echo
  echo "Listing of archive file:"
  cat libS.a


The script produced the following output for me:

grus-189% ar-bug
GNU ar 2.17
Copyright 2005 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License.  This program has absolutely no warranty.

ar: creating libS.a
BFD: libS.a(member1):1: Unexpected character `a' in S-record file

BFD: libS.a(SF00abcdefgh):1: Unexpected character `k' in S-record file

BFD: libS.a(SF01ijklmnop):1: Unexpected character `u' in S-record file


Listing of archive file:
!<arch>
member1/        1165895102  355   1030  100644  0         `
SF00abcdefgh/   1165895102  355   1030  100644  0         `
SF01ijklmnop/   1165895102  355   1030  100644  0         `
SF02qrstuvwx/   1165895102  355   1030  100644  0         `
dummy/          1165895102  355   1030  100644  0         `
grus-190%


Other useful information:

grus-190% uname -a
Linux grus 2.6.13.3 #1 SMP Tue Oct 11 12:39:54 EST 2005 i686 GNU/Linux
grus-191% cat /etc/debian_version 
3.1
grus-192%



Thanks, Mark

-- 
           Summary: ar reports unexpected character in S-record file
           Product: binutils
           Version: 2.17
            Status: NEW
          Severity: normal
          Priority: P2
         Component: binutils
        AssignedTo: unassigned at sources dot redhat dot com
        ReportedBy: mcalabre at atnf dot csiro dot au
                CC: bug-binutils at gnu dot org,mcalabre at atnf dot csiro
                    dot au
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


http://sourceware.org/bugzilla/show_bug.cgi?id=3704

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]