* archive.cc (Archive::include_member): Unlock an external member
of a thin archive. Don't bother to delete an object we know is NULL.
This commit is contained in:
parent
2ef36331d2
commit
f2d707b5bb
|
@ -1,3 +1,9 @@
|
||||||
|
2010-07-13 Ian Lance Taylor <iant@google.com>
|
||||||
|
|
||||||
|
* archive.cc (Archive::include_member): Unlock an external member
|
||||||
|
of a thin archive. Don't bother to delete an object we know is
|
||||||
|
NULL.
|
||||||
|
|
||||||
2010-07-12 Cary Coutant <ccoutant@google.com>
|
2010-07-12 Cary Coutant <ccoutant@google.com>
|
||||||
|
|
||||||
* compressed_output.cc (zlib_decompress): New function.
|
* compressed_output.cc (zlib_decompress): New function.
|
||||||
|
|
|
@ -853,11 +853,7 @@ Archive::include_member(Symbol_table* symtab, Layout* layout,
|
||||||
&& this->searched_for()
|
&& this->searched_for()
|
||||||
&& obj == NULL
|
&& obj == NULL
|
||||||
&& unconfigured)
|
&& unconfigured)
|
||||||
{
|
|
||||||
if (obj != NULL)
|
|
||||||
delete obj;
|
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
|
|
||||||
if (obj == NULL)
|
if (obj == NULL)
|
||||||
return true;
|
return true;
|
||||||
|
@ -874,7 +870,13 @@ Archive::include_member(Symbol_table* symtab, Layout* layout,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!input_objects->add_object(obj))
|
if (!input_objects->add_object(obj))
|
||||||
|
{
|
||||||
|
// If this is an external member of a thin archive, unlock the
|
||||||
|
// file.
|
||||||
|
if (obj->offset() == 0)
|
||||||
|
obj->unlock(this->task_);
|
||||||
delete obj;
|
delete obj;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue