diff options
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elf32-sh.c | 4 | ||||
-rw-r--r-- | bfd/elf64-sh64.c | 4 |
3 files changed, 10 insertions, 4 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 459b569..c56e243 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2003-06-03 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * elf32-sh.c (sh_elf_size_dynamic_sections): Create .interp section + and DT_DEBUG dynamic tag even for position independent executables. + * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewize. + 2003-06-02 Daniel Jacobowitz <drow@mvista.com> * config.bfd: Move obsolete entries out of the range of the diff --git a/bfd/elf32-sh.c b/bfd/elf32-sh.c index 4ff31bf..2042c34 100644 --- a/bfd/elf32-sh.c +++ b/bfd/elf32-sh.c @@ -4338,7 +4338,7 @@ sh_elf_size_dynamic_sections (output_bfd, info) if (htab->root.dynamic_sections_created) { /* Set the contents of the .interp section to the interpreter. */ - if (! info->shared) + if (info->executable) { s = bfd_get_section_by_name (dynobj, ".interp"); BFD_ASSERT (s != NULL); @@ -4500,7 +4500,7 @@ sh_elf_size_dynamic_sections (output_bfd, info) #define add_dynamic_entry(TAG, VAL) \ bfd_elf32_add_dynamic_entry (info, (bfd_vma) (TAG), (bfd_vma) (VAL)) - if (! info->shared) + if (info->executable) { if (! add_dynamic_entry (DT_DEBUG, 0)) return FALSE; diff --git a/bfd/elf64-sh64.c b/bfd/elf64-sh64.c index d666fca..fe3195c 100644 --- a/bfd/elf64-sh64.c +++ b/bfd/elf64-sh64.c @@ -3643,7 +3643,7 @@ sh64_elf64_size_dynamic_sections (output_bfd, info) if (elf_hash_table (info)->dynamic_sections_created) { /* Set the contents of the .interp section to the interpreter. */ - if (! info->shared) + if (info->executable) { s = bfd_get_section_by_name (dynobj, ".interp"); BFD_ASSERT (s != NULL); @@ -3777,7 +3777,7 @@ sh64_elf64_size_dynamic_sections (output_bfd, info) must add the entries now so that we get the correct size for the .dynamic section. The DT_DEBUG entry is filled in by the dynamic linker and used by the debugger. */ - if (! info->shared) + if (info->executable) { if (! bfd_elf64_add_dynamic_entry (info, DT_DEBUG, 0)) return FALSE; |