aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2001-05-04 08:32:21 +0000
committerNick Clifton <nickc@redhat.com>2001-05-04 08:32:21 +0000
commitcac153277184781566fe0da208c79e1b7661f876 (patch)
tree81fd538006621815cc38ee8ba2eeb56e622a3dbf /bfd
parent39f770628a4eaf018fec8d55684bf2ec16ada9cc (diff)
downloadgdb-cac153277184781566fe0da208c79e1b7661f876.zip
gdb-cac153277184781566fe0da208c79e1b7661f876.tar.gz
gdb-cac153277184781566fe0da208c79e1b7661f876.tar.bz2
Set EF_ARM_HASENTRY if the start address is set.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf32-arm.h12
2 files changed, 17 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 3aa478f..5241b81 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2001-05-04 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elf32-arm.h (elf32_arm_final_link_relocate): Set
+ EF_ARM_HASENTRY if the start address is set.
+
2001-05-03 Nick Clifton <nickc@cambridge.redhat.com>
* targets.c (_bfd_target_vector_entries): Compute value based on
diff --git a/bfd/elf32-arm.h b/bfd/elf32-arm.h
index 089d9d4..013054a 100644
--- a/bfd/elf32-arm.h
+++ b/bfd/elf32-arm.h
@@ -1019,6 +1019,18 @@ elf32_arm_final_link_relocate (howto, input_bfd, output_bfd,
bfd_signed_vma signed_addend;
struct elf32_arm_link_hash_table * globals;
+ /* If the start address has been set, then set the EF_ARM_HASENTRY
+ flag. Setting this more than once is redundant, but the cost is
+ not too high, and it keeps the code simple.
+
+ The test is done here, rather than somewhere else, because the
+ start address is only set just before the final link commences.
+
+ Note - if the user deliberately sets a start address of 0, the
+ flag will not be set. */
+ if (bfd_get_start_address (output_bfd) != 0)
+ elf_elfheader (output_bfd)->e_flags |= EF_ARM_HASENTRY;
+
globals = elf32_arm_hash_table (info);
dynobj = elf_hash_table (info)->dynobj;