* powerpc.cc (do_make_elf_object): Allow ET_EXEC files with
authorAndreas Schwab <schwab@linux-m68k.org>
Tue, 4 Sep 2012 08:04:31 +0000 (08:04 +0000)
committerAndreas Schwab <schwab@linux-m68k.org>
Tue, 4 Sep 2012 08:04:31 +0000 (08:04 +0000)
--just-symbols.

gold/ChangeLog
gold/powerpc.cc

index 163be50a0885096bd9a54d34c46a8996e2349189..d812165a03e0fe6be76eb44368534c3c9fa27b92 100644 (file)
@@ -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.
index 147d660a6f94db67b4986ce3184c7ac5b0aca73c..f4a9385d0b72466fc854975ca0111ab4696db40a 100644 (file)
@@ -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);