Fix decision about when a .interp section should exist

This commit is contained in:
Nick Clifton 2003-11-11 13:32:38 +00:00
parent 08e3ab9089
commit 893c4fe299
12 changed files with 27 additions and 11 deletions

View File

@ -1,3 +1,19 @@
2003-11-11 Nick Clifton <nickc@redhat.com>
* elf-m10300.c (bfd_mn10300_elf_size_dynamic_sections): Use
info->executable not info->shared to decide if a .interp section
should be present.
* elf32-arm.h (elf32_arm_size_dynamic_sections): Likewise.
* elf32-cris.c (elf_cris_size_dynamic_sections): Likewise.
* elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
* elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
* elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
* elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
* elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Likewise.
* elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
* elfxx-mips.c (_bfd_mips_size_dynamic_sections): Likewise.
* elflink.h (size_dynamic_sections): Likewise.
2003-11-10 Jonathan Wilson <jonwil@tpgi.com.au>
* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Swap out tls pointer.

View File

@ -4351,7 +4351,7 @@ _bfd_mn10300_elf_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);

View File

@ -3523,7 +3523,7 @@ elf32_arm_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);

View File

@ -2638,7 +2638,7 @@ elf_cris_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);

View File

@ -2047,7 +2047,7 @@ elf32_hppa_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
if (htab->elf.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");
if (s == NULL)

View File

@ -653,7 +653,7 @@ i370_elf_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);

View File

@ -1127,7 +1127,7 @@ elf_m68k_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);

View File

@ -1149,7 +1149,7 @@ elf_vax_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);

View File

@ -1176,7 +1176,7 @@ elf_xtensa_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");
if (s == NULL)

View File

@ -1642,7 +1642,7 @@ elf64_hppa_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);

View File

@ -1981,7 +1981,7 @@ NAME(bfd_elf,size_dynamic_sections) (bfd *output_bfd,
bfd_boolean all_defined;
*sinterpptr = bfd_get_section_by_name (dynobj, ".interp");
BFD_ASSERT (*sinterpptr != NULL || info->shared);
BFD_ASSERT (*sinterpptr != NULL || !info->executable);
if (soname != NULL)
{

View File

@ -5871,7 +5871,7 @@ _bfd_mips_elf_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);