aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2012-09-04 08:04:31 +0000
committerAndreas Schwab <schwab@linux-m68k.org>2012-09-04 08:04:31 +0000
commit957564c93015991eee194ef0769a3b64b16a2237 (patch)
tree16c509bf912995af6613ebdf28bcb780555e9a7e
parent918d227b01c7320fc9a0a544c7078f4a1497c397 (diff)
downloadgdb-957564c93015991eee194ef0769a3b64b16a2237.zip
gdb-957564c93015991eee194ef0769a3b64b16a2237.tar.gz
gdb-957564c93015991eee194ef0769a3b64b16a2237.tar.bz2
* powerpc.cc (do_make_elf_object): Allow ET_EXEC files with
--just-symbols.
-rw-r--r--gold/ChangeLog5
-rw-r--r--gold/powerpc.cc5
2 files changed, 9 insertions, 1 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 163be50..d812165 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,8 @@
+2012-09-04 Andreas Schwab <schwab@linux-m68k.org>
+
+ * powerpc.cc (do_make_elf_object): Allow ET_EXEC files with
+ --just-symbols.
+
2012-08-31 Alan Modra <amodra@gmail.com>
* powerpc.cc (Powerpc_relobj): Add and use Address typedef.
diff --git a/gold/powerpc.cc b/gold/powerpc.cc
index 147d660..f4a9385 100644
--- a/gold/powerpc.cc
+++ b/gold/powerpc.cc
@@ -1149,7 +1149,10 @@ Target_powerpc<size, big_endian>::do_make_elf_object(
off_t offset, const elfcpp::Ehdr<size, big_endian>& ehdr)
{
int et = ehdr.get_e_type();
- if (et == elfcpp::ET_REL)
+ // ET_EXEC files are valid input for --just-symbols/-R,
+ // and we treat them as relocatable objects.
+ if (et == elfcpp::ET_REL
+ || (et == elfcpp::ET_EXEC && input_file->just_symbols()))
{
Powerpc_relobj<size, big_endian>* obj =
new Powerpc_relobj<size, big_endian>(name, input_file, offset, ehdr);