* elf32-i386.c (elf_i386_relocate_section): Don't complain about
unresolved debugging relocs in dynamic applications. * elf32-s390.c (elf_s390_relocate_section): Likewise. * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. * elf64-s390.c (elf_s390_relocate_section): Likewise. * elf64-sparc.c (sparc64_elf_relocate_section): Likewise. * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
This commit is contained in:
parent
7e8d4ab4d1
commit
239e1f3afa
|
@ -1,3 +1,14 @@
|
||||||
|
2002-07-11 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
|
* elf32-i386.c (elf_i386_relocate_section): Don't complain about
|
||||||
|
unresolved debugging relocs in dynamic applications.
|
||||||
|
* elf32-s390.c (elf_s390_relocate_section): Likewise.
|
||||||
|
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
|
||||||
|
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
|
||||||
|
* elf64-s390.c (elf_s390_relocate_section): Likewise.
|
||||||
|
* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
|
||||||
|
* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
|
||||||
|
|
||||||
2002-07-10 Alan Modra <amodra@bigpond.net.au>
|
2002-07-10 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
* elf64-ppc.c (ONES): Define.
|
* elf64-ppc.c (ONES): Define.
|
||||||
|
|
|
@ -2737,14 +2737,11 @@ elf_i386_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* FIXME: Why do we allow debugging sections to escape this error?
|
/* Dynamic relocs are not propagated for SEC_DEBUGGING sections
|
||||||
More importantly, why do we not emit dynamic relocs for
|
because such sections are not SEC_ALLOC and thus ld.so will
|
||||||
R_386_32 above in debugging sections (which are ! SEC_ALLOC)?
|
not process them. */
|
||||||
If we had emitted the dynamic reloc, we could remove the
|
|
||||||
fudge here. */
|
|
||||||
if (unresolved_reloc
|
if (unresolved_reloc
|
||||||
&& !(info->shared
|
&& !((input_section->flags & SEC_DEBUGGING) != 0
|
||||||
&& (input_section->flags & SEC_DEBUGGING) != 0
|
|
||||||
&& (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0))
|
&& (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0))
|
||||||
(*_bfd_error_handler)
|
(*_bfd_error_handler)
|
||||||
(_("%s(%s+0x%lx): unresolvable relocation against symbol `%s'"),
|
(_("%s(%s+0x%lx): unresolvable relocation against symbol `%s'"),
|
||||||
|
|
|
@ -1971,9 +1971,11 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Dynamic relocs are not propagated for SEC_DEBUGGING sections
|
||||||
|
because such sections are not SEC_ALLOC and thus ld.so will
|
||||||
|
not process them. */
|
||||||
if (unresolved_reloc
|
if (unresolved_reloc
|
||||||
&& !(info->shared
|
&& !((input_section->flags & SEC_DEBUGGING) != 0
|
||||||
&& (input_section->flags & SEC_DEBUGGING) != 0
|
|
||||||
&& (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0))
|
&& (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0))
|
||||||
(*_bfd_error_handler)
|
(*_bfd_error_handler)
|
||||||
(_("%s(%s+0x%lx): unresolvable relocation against symbol `%s'"),
|
(_("%s(%s+0x%lx): unresolvable relocation against symbol `%s'"),
|
||||||
|
|
|
@ -1561,10 +1561,11 @@ elf32_sparc_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ??? Copied from elf32-i386.c, debugging section check and all. */
|
/* Dynamic relocs are not propagated for SEC_DEBUGGING sections
|
||||||
|
because such sections are not SEC_ALLOC and thus ld.so will
|
||||||
|
not process them. */
|
||||||
if (unresolved_reloc
|
if (unresolved_reloc
|
||||||
&& !(info->shared
|
&& !((input_section->flags & SEC_DEBUGGING) != 0
|
||||||
&& (input_section->flags & SEC_DEBUGGING) != 0
|
|
||||||
&& (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0))
|
&& (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0))
|
||||||
(*_bfd_error_handler)
|
(*_bfd_error_handler)
|
||||||
(_("%s(%s+0x%lx): unresolvable relocation against symbol `%s'"),
|
(_("%s(%s+0x%lx): unresolvable relocation against symbol `%s'"),
|
||||||
|
|
|
@ -5907,13 +5907,11 @@ ppc64_elf_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* FIXME: Why do we allow debugging sections to escape this error?
|
/* Dynamic relocs are not propagated for SEC_DEBUGGING sections
|
||||||
More importantly, why do we not emit dynamic relocs above in
|
because such sections are not SEC_ALLOC and thus ld.so will
|
||||||
debugging sections (which are ! SEC_ALLOC)? If we had
|
not process them. */
|
||||||
emitted the dynamic reloc, we could remove the fudge here. */
|
|
||||||
if (unresolved_reloc
|
if (unresolved_reloc
|
||||||
&& !(info->shared
|
&& !((input_section->flags & SEC_DEBUGGING) != 0
|
||||||
&& (input_section->flags & SEC_DEBUGGING) != 0
|
|
||||||
&& (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0))
|
&& (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0))
|
||||||
{
|
{
|
||||||
(*_bfd_error_handler)
|
(*_bfd_error_handler)
|
||||||
|
|
|
@ -1935,9 +1935,11 @@ elf_s390_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Dynamic relocs are not propagated for SEC_DEBUGGING sections
|
||||||
|
because such sections are not SEC_ALLOC and thus ld.so will
|
||||||
|
not process them. */
|
||||||
if (unresolved_reloc
|
if (unresolved_reloc
|
||||||
&& !(info->shared
|
&& !((input_section->flags & SEC_DEBUGGING) != 0
|
||||||
&& (input_section->flags & SEC_DEBUGGING) != 0
|
|
||||||
&& (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0))
|
&& (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0))
|
||||||
(*_bfd_error_handler)
|
(*_bfd_error_handler)
|
||||||
(_("%s(%s+0x%lx): unresolvable relocation against symbol `%s'"),
|
(_("%s(%s+0x%lx): unresolvable relocation against symbol `%s'"),
|
||||||
|
|
|
@ -2568,9 +2568,11 @@ sparc64_elf_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Dynamic relocs are not propagated for SEC_DEBUGGING sections
|
||||||
|
because such sections are not SEC_ALLOC and thus ld.so will
|
||||||
|
not process them. */
|
||||||
if (unresolved_reloc
|
if (unresolved_reloc
|
||||||
&& !(info->shared
|
&& !((input_section->flags & SEC_DEBUGGING) != 0
|
||||||
&& (input_section->flags & SEC_DEBUGGING) != 0
|
|
||||||
&& (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0))
|
&& (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0))
|
||||||
(*_bfd_error_handler)
|
(*_bfd_error_handler)
|
||||||
(_("%s(%s+0x%lx): unresolvable relocation against symbol `%s'"),
|
(_("%s(%s+0x%lx): unresolvable relocation against symbol `%s'"),
|
||||||
|
|
|
@ -1938,14 +1938,11 @@ elf64_x86_64_relocate_section (output_bfd, info, input_bfd, input_section,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* FIXME: Why do we allow debugging sections to escape this error?
|
/* Dynamic relocs are not propagated for SEC_DEBUGGING sections
|
||||||
More importantly, why do we not emit dynamic relocs for
|
because such sections are not SEC_ALLOC and thus ld.so will
|
||||||
R_386_32 above in debugging sections (which are ! SEC_ALLOC)?
|
not process them. */
|
||||||
If we had emitted the dynamic reloc, we could remove the
|
|
||||||
fudge here. */
|
|
||||||
if (unresolved_reloc
|
if (unresolved_reloc
|
||||||
&& !(info->shared
|
&& !((input_section->flags & SEC_DEBUGGING) != 0
|
||||||
&& (input_section->flags & SEC_DEBUGGING) != 0
|
|
||||||
&& (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0))
|
&& (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0))
|
||||||
(*_bfd_error_handler)
|
(*_bfd_error_handler)
|
||||||
(_("%s(%s+0x%lx): unresolvable relocation against symbol `%s'"),
|
(_("%s(%s+0x%lx): unresolvable relocation against symbol `%s'"),
|
||||||
|
|
Loading…
Reference in New Issue