* elf32-sh.c (sh_elf_relocate_section): Don't complain about

unresolved debugging relocs in dynamic applications.
	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
	* ld-sh/refdbg-0-dso.d: New test.
	* ld-sh/refdbg-1.d: Likewise.
	* ld-sh/refdbg.s: Likewise.
	* ld-sh/refdbglib.s: Likewise.
This commit is contained in:
Kaz Kojima 2002-11-28 08:37:15 +00:00
parent c41b7eb1be
commit 1448fa3227
8 changed files with 66 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2002-11-28 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* elf32-sh.c (sh_elf_relocate_section): Don't complain about
unresolved debugging relocs in dynamic applications.
* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
2002-11-26 Alan Modra <amodra@bigpond.net.au>
* elf-eh-frame.c (ENSURE_NO_RELOCS): Disregard R_*_NONE relocs.

View File

@ -4753,6 +4753,13 @@ sh_elf_relocate_section (output_bfd, info, input_bfd, input_section,
|| ((input_section->flags & SEC_DEBUGGING) != 0
&& (h->elf_link_hash_flags
& ELF_LINK_HASH_DEF_DYNAMIC) != 0)))
/* Dynamic relocs are not propagated for SEC_DEBUGGING
sections because such sections are not SEC_ALLOC and
thus ld.so will not process them. */
|| (sec->output_section == NULL
&& ((input_section->flags & SEC_DEBUGGING) != 0
&& (h->elf_link_hash_flags
& ELF_LINK_HASH_DEF_DYNAMIC) != 0))
|| (sec->output_section == NULL
&& (sh_elf_hash_entry (h)->tls_type == GOT_TLS_IE
|| sh_elf_hash_entry (h)->tls_type == GOT_TLS_GD)))

View File

@ -1680,7 +1680,14 @@ sh_elf64_relocate_section (output_bfd, info, input_bfd, input_section,
sections against symbols defined externally
in shared libraries. We can't do anything
with them here. */
|| (input_section->flags & SEC_DEBUGGING) != 0)))
|| (input_section->flags & SEC_DEBUGGING) != 0))
/* Dynamic relocs are not propagated for SEC_DEBUGGING
sections because such sections are not SEC_ALLOC and
thus ld.so will not process them. */
|| (sec->output_section == NULL
&& ((input_section->flags & SEC_DEBUGGING) != 0
&& (h->elf_link_hash_flags
& ELF_LINK_HASH_DEF_DYNAMIC) != 0)))
relocation = 0;
else if (sec->output_section == NULL)
{

View File

@ -1,3 +1,10 @@
2002-11-28 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* ld-sh/refdbg-0-dso.d: New test.
* ld-sh/refdbg-1.d: Likewise.
* ld-sh/refdbg.s: Likewise.
* ld-sh/refdbglib.s: Likewise.
2002-11-22 Alan Modra <amodra@bigpond.net.au>
* ld-elf/elf.exp: Remove sec64k test.

View File

@ -0,0 +1,9 @@
#source: refdbglib.s
#as: -little
#ld: -shared -EL
#objdump: -drj.text
#target: sh*-*-linux* sh*-*-netbsd*
.*: +file format elf32-sh.*
#pass

View File

@ -0,0 +1,10 @@
#source: refdbg.s
#as: -little
#ld: -EL tmpdir/refdbg-0-dso.so
#objdump: -sj.debug_info
#target: sh*-*-linux* sh*-*-netbsd*
.*: +file format elf32-sh.*
Contents of section \.debug_info:
0+0 0+0 +.*

View File

@ -0,0 +1,11 @@
.text
.align 2
.globl _start
.type _start,@function
_start:
rts
nop
.comm foo,4,4
.section .debug_info,"",@progbits
.ualong foo

View File

@ -0,0 +1,8 @@
.text
.global foo
.data
.align 2
.type foo, @object
.size foo, 4
foo:
.long 1