mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-01 22:34:22 +08:00
* 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:
parent
c41b7eb1be
commit
1448fa3227
@ -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.
|
||||
|
@ -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)))
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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.
|
||||
|
9
ld/testsuite/ld-sh/refdbg-0-dso.d
Normal file
9
ld/testsuite/ld-sh/refdbg-0-dso.d
Normal 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
|
10
ld/testsuite/ld-sh/refdbg-1.d
Normal file
10
ld/testsuite/ld-sh/refdbg-1.d
Normal 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 +.*
|
11
ld/testsuite/ld-sh/refdbg.s
Normal file
11
ld/testsuite/ld-sh/refdbg.s
Normal 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
|
8
ld/testsuite/ld-sh/refdbglib.s
Normal file
8
ld/testsuite/ld-sh/refdbglib.s
Normal file
@ -0,0 +1,8 @@
|
||||
.text
|
||||
.global foo
|
||||
.data
|
||||
.align 2
|
||||
.type foo, @object
|
||||
.size foo, 4
|
||||
foo:
|
||||
.long 1
|
Loading…
Reference in New Issue
Block a user