diff options
author | Nick Clifton <nickc@redhat.com> | 2013-02-15 14:37:39 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2013-02-15 14:37:39 +0000 |
commit | a043396b72d17ae87267b534aa98457a0702f5c8 (patch) | |
tree | 01175912495c045c25625c8048a83ba65c3a5c64 /binutils/doc | |
parent | 76d8cf45bb12ae6d8fc41d92579a2e166efb5b2f (diff) | |
download | gdb-a043396b72d17ae87267b534aa98457a0702f5c8.zip gdb-a043396b72d17ae87267b534aa98457a0702f5c8.tar.gz gdb-a043396b72d17ae87267b534aa98457a0702f5c8.tar.bz2 |
PR binutils/15140
* ar.c (open_inarch): Fail on attempts to convert a normal archive
to a thin archive or vice versa.
* elfcomm.c (make_qualified_name): Handle corrupted thin
archives.
* readelf.c (process_archive): Likewise.
* doc/binutils.texi: Clarify documentation describing thin
archives.
* archive.c (_bfd_get_elt_at_filepos): Prevent an infinite loop
accessing a corrupt nested archive.
Diffstat (limited to 'binutils/doc')
-rw-r--r-- | binutils/doc/binutils.texi | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi index d733fdb..0bb1d92 100644 --- a/binutils/doc/binutils.texi +++ b/binutils/doc/binutils.texi @@ -10,10 +10,7 @@ @copying @c man begin COPYRIGHT -Copyright @copyright{} 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, -1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, -2010, 2011, 2012, 2013 -Free Software Foundation, Inc. +Copyright @copyright{} 1991-2013 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 @@ -221,12 +218,21 @@ table. If an archive lacks the table, another form of @command{ar} called @cindex thin archives @sc{gnu} @command{ar} can optionally create a @emph{thin} archive, which contains a symbol index and references to the original copies -of the member files of the archives. Such an archive is useful -for building libraries for use within a local build, where the -relocatable objects are expected to remain available, and copying the -contents of each object would only waste time and space. Thin archives -are also @emph{flattened}, so that adding one or more archives to a -thin archive will add the elements of the nested archive individually. +of the member files of the archive. This is useful for building +libraries for use within a local build tree, where the relocatable +objects are expected to remain available, and copying the contents of +each object would only waste time and space. + +An archive can either be @emph{thin} or it can be normal. It cannot +be both at the same time. Once an archive is created its format +cannot be changed without first deleting it and then creating a new +archive in its place. + +Thin archives are also @emph{flattened}, so that adding one thin +archive to another thin archive does not nest it, as would happen with +a normal archive. Instead the elements of the first archive are added +individually to the second archive. + The paths to the elements of the archive are stored relative to the archive itself. |