This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 32-bit PowerPC sdata linker problem


On Mon, Jun 16, 2014 at 03:11:12PM +0100, Will Newton wrote:
> On 16 June 2014 15:09, Will Newton <will.newton@linaro.org> wrote:
> > On 16 June 2014 14:07, Alan Modra <amodra@gmail.com> wrote:
> >> On Mon, Jun 16, 2014 at 12:21:23PM +0100, Will Newton wrote:
> >>>       PROVIDE_HIDDEN (__rel_iplt_start = .);
> >>>       *(.rel.iplt)
> >>>       PROVIDE_HIDDEN (__rel_iplt_end = .);
> >>>       PROVIDE_HIDDEN (__rela_iplt_start = .);
> >>>       PROVIDE_HIDDEN (__rela_iplt_end = .);
> >>
> >> This should fix it.  Committed.
> >>
> >>         * scripttempl/elf.sc: Edit out __rela_iplt symbol assignments from
> >>         .rel sections, and __rel_iplt from .rela sections.
> >>         * scripttempl/nds32elf.sc: Likewise.
> >>         * Makefile.am (ends32*.c) Depend on nds32elf.sc.
> >>         * Makefile.in: Regenerate.
> >
> > Yes, this fixes the problem for me. Thanks!
> 
> Would it be possible to apply the fix to the stable branch too?

Done.  I'm also going to commit the following to 2.24.

	PR 17047
	* ldlang.c (lang_finish): Don't free linker hash table.

diff --git a/ld/ldlang.c b/ld/ldlang.c
index ba7f493..9121aa2 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -1238,7 +1238,14 @@ lang_init (void)
 void
 lang_finish (void)
 {
+  /* Some targets require access to the linker hash table during the
+     _bfd_write_contents call in bfd_close, so it can't be freed
+     before bfd_close.  It can't be freed after bfd_close either,
+     since bfd_alloc memory holding side data structures disappears
+     (PR17047).  So don't free it.
+
   bfd_link_hash_table_free (link_info.output_bfd, link_info.hash);
+  */
   bfd_hash_table_free (&lang_definedness_table);
   output_section_statement_table_free ();
 }

-- 
Alan Modra
Australia Development Lab, IBM


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]