Subject: Re: ar
To: ITOH Yasufumi <email@example.com>
From: Todd Vierling <firstname.lastname@example.org>
Date: 12/13/1999 10:31:44
On Mon, 13 Dec 1999, ITOH Yasufumi wrote:
: 1. ar produces Berkeley file format
: 2. ar produces SysV ("/" at the end of file names) file format
System V filenames have many other differences. However, the binutils based
ar(1) is supposed to produce System V compliant archives on ELF systems.
It does, on alpha, so this is likely an arch-specific bug (i386, sparc?).
(In fact, binutils ar(1) originally could not produce 4.4BSD archives, only
"truncated" V7 archives. I wrote the code for 4.4BSD writing support.)
: ar symbol table:
: a. ar doesn't produce symbol table
: b. ar produces "/" table
: c. ar produces "__.SYMDEF" table
: A. ranlib produces "__.SYMDEF" table
: B. ranlib produces "/" table
: C. ranlib produces "__.SYMDEF" table unless it has "/" table
: D. ranlib produces "/" table unless it has "__.SYMDEF" table
: E. ranlib doesn't exist
: The orignal Berkeley systems are 1-a-A.
: The SysV systems are 2-b-E.
: Currently we have 1-b-C toolchain.
We attempt to follow the System V standard for ELF, so all ELF systems
should be one of 2-b-[CDE]. Which of C, D, E isn't particularly important,
as the binutils-based ld(1) *should* be able to handle both formats.
-- Todd Vierling (email@example.com)