aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Kwan <dougkwan@google.com>2011-11-11 21:49:36 +0000
committerDoug Kwan <dougkwan@google.com>2011-11-11 21:49:36 +0000
commitf4a8b6d7abcc3093c8011a74441ecc8d9983346c (patch)
tree9636d7463ad07c9fe302fcf37c6482c18349ec76
parentf48e6c458d257404bf650e3bbc57b35a702db3fa (diff)
downloadgdb-f4a8b6d7abcc3093c8011a74441ecc8d9983346c.zip
gdb-f4a8b6d7abcc3093c8011a74441ecc8d9983346c.tar.gz
gdb-f4a8b6d7abcc3093c8011a74441ecc8d9983346c.tar.bz2
2011-11-11 Doug Kwan <dougkwan@google.com>
* arm.cc (Target_arm::do_make_elf_object): Allow executable also if --just-symbols is given.
-rw-r--r--gold/ChangeLog5
-rw-r--r--gold/arm.cc5
2 files changed, 9 insertions, 1 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 0b17438..bcb534c 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,8 @@
+2011-11-11 Doug Kwan <dougkwan@google.com>
+
+ * arm.cc (Target_arm::do_make_elf_object): Allow executable also
+ if --just-symbols is given.
+
2011-11-10 Doug Kwan <dougkwan@google.com>
PR gold/13362
diff --git a/gold/arm.cc b/gold/arm.cc
index 3ee2224..72c3670 100644
--- a/gold/arm.cc
+++ b/gold/arm.cc
@@ -10008,7 +10008,10 @@ Target_arm<big_endian>::do_make_elf_object(
off_t offset, const elfcpp::Ehdr<32, 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()))
{
Arm_relobj<big_endian>* obj =
new Arm_relobj<big_endian>(name, input_file, offset, ehdr);