aboutsummaryrefslogtreecommitdiff
path: root/gold/archive.cc
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>2011-05-25 00:17:47 +0000
committerIan Lance Taylor <ian@airs.com>2011-05-25 00:17:47 +0000
commita10ae760821ec6f09cf63f93e3b2ff0e03fbaa3d (patch)
treedb379e021d168b95da97d0a9eb80e0175b3142ad /gold/archive.cc
parent012ca7c8a8622d803a1f367ac9bd53be7f8eafee (diff)
downloadgdb-a10ae760821ec6f09cf63f93e3b2ff0e03fbaa3d.zip
gdb-a10ae760821ec6f09cf63f93e3b2ff0e03fbaa3d.tar.gz
gdb-a10ae760821ec6f09cf63f93e3b2ff0e03fbaa3d.tar.bz2
* archive.cc (Library_base::should_include_member): Pull in object
from archive if it defines the entry symbol. * parameters.cc (Parameters::entry): New function. * parameters.h (class Parameters): Declare entry. * output.h (class Output_file_header): Remove entry_ field. * output.cc (Output_file_header::Output_file_header): Remove entry parameter. Change all callers. (Output_file_header::entry): Use parameters->entry. * gold.cc (queue_middle_tasks): Likewise. * plugin.cc (Plugin_hook::run): Likewise.
Diffstat (limited to 'gold/archive.cc')
-rw-r--r--gold/archive.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/gold/archive.cc b/gold/archive.cc
index 6a1e3b9..a7a5b93 100644
--- a/gold/archive.cc
+++ b/gold/archive.cc
@@ -113,6 +113,11 @@ Library_base::should_include_member(Symbol_table* symtab, Layout* layout,
*why = buf;
delete[] buf;
}
+ else if (strcmp(sym_name, parameters->entry()) == 0)
+ {
+ *why = "entry symbol ";
+ *why += sym_name;
+ }
else
return Library_base::SHOULD_INCLUDE_UNKNOWN;
}