aboutsummaryrefslogtreecommitdiff
path: root/gold/powerpc.cc
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 /gold/powerpc.cc
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.
Diffstat (limited to 'gold/powerpc.cc')
-rw-r--r--gold/powerpc.cc5
1 files changed, 4 insertions, 1 deletions
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);