Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 2 Oct 2013 00:50:27 +0000 (UTC)
From:      Ed Maste <emaste@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r255982 - head/contrib/binutils/bfd
Message-ID:  <201310020050.r920oRLt005507@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: emaste
Date: Wed Oct  2 00:50:27 2013
New Revision: 255982
URL: http://svnweb.freebsd.org/changeset/base/255982

Log:
  Use correct size for MIPS .rld_map section
  
  On MIPS .dynamic is read-only and so a special section .rld_map is used
  to store the pointer to the rtld information for debuggers.  This
  section had a hard coded size of 4 bytes which is not correct for
  mips64.  (Note that FreeBSD's rtld does not yet populate .rld_map.)
  
  Sponsored by:   DARPA, AFRL
  Approved by:	re (delphij)

Modified:
  head/contrib/binutils/bfd/elfxx-mips.c

Modified: head/contrib/binutils/bfd/elfxx-mips.c
==============================================================================
--- head/contrib/binutils/bfd/elfxx-mips.c	Tue Oct  1 22:53:27 2013	(r255981)
+++ head/contrib/binutils/bfd/elfxx-mips.c	Wed Oct  2 00:50:27 2013	(r255982)
@@ -557,6 +557,10 @@ static bfd *reldyn_sorting_bfd;
 #define MIPS_ELF_DYN_SIZE(abfd) \
   (get_elf_backend_data (abfd)->s->sizeof_dyn)
 
+/* The size of the rld_map pointer.  */
+#define MIPS_ELF_RLD_MAP_SIZE(abfd) \
+  (get_elf_backend_data (abfd)->s->arch_size / 8)
+
 /* The size of a GOT entry.  */
 #define MIPS_ELF_GOT_SIZE(abfd) \
   (get_elf_backend_data (abfd)->s->arch_size / 8)
@@ -7492,7 +7496,7 @@ _bfd_mips_elf_size_dynamic_sections (bfd
 	{
 	  /* We add a room for __rld_map.  It will be filled in by the
 	     rtld to contain a pointer to the _r_debug structure.  */
-	  s->size += 4;
+	  s->size += MIPS_ELF_RLD_MAP_SIZE (output_bfd);
 	}
       else if (SGI_COMPAT (output_bfd)
 	       && CONST_STRNEQ (name, ".compact_rel"))



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201310020050.r920oRLt005507>