From e29297b73cbde989847ee66e87cc12d5b035aa35 Mon Sep 17 00:00:00 2001
From: Bob Wilson <bob.wilson@acm.org>
Date: Wed, 18 Jul 2007 18:23:47 +0000
Subject: [PATCH] 	* elf32-xtensa.c (elf_xtensa_finish_dynamic_sections):
 Get section 	vma and size for dynamic tags from the output sections.

---
 bfd/ChangeLog      |  5 +++++
 bfd/elf32-xtensa.c | 10 +++++-----
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index eb639c4b4f7..488344320ee 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2007-07-18  Bob Wilson  <bob.wilson@acm.org>
+	
+	* elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Get section
+	vma and size for dynamic tags from the output sections.
+	
 2007-07-18  Alan Modra  <amodra@bigpond.net.au>
 
 	* elf-bfd.h (struct sym_sec_cache): Delete "sec".  Add "shndx".
diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c
index 55dcf2e9429..1182bd9de6d 100644
--- a/bfd/elf32-xtensa.c
+++ b/bfd/elf32-xtensa.c
@@ -2649,19 +2649,19 @@ elf_xtensa_finish_dynamic_sections (bfd *output_bfd,
 	  break;
 
 	case DT_XTENSA_GOT_LOC_OFF:
-	  dyn.d_un.d_ptr = htab->sgotloc->vma;
+	  dyn.d_un.d_ptr = htab->sgotloc->output_section->vma;
 	  break;
 
 	case DT_PLTGOT:
-	  dyn.d_un.d_ptr = htab->sgot->vma;
+	  dyn.d_un.d_ptr = htab->sgot->output_section->vma;
 	  break;
 
 	case DT_JMPREL:
-	  dyn.d_un.d_ptr = htab->srelplt->vma;
+	  dyn.d_un.d_ptr = htab->srelplt->output_section->vma;
 	  break;
 
 	case DT_PLTRELSZ:
-	  dyn.d_un.d_val = htab->srelplt->size;
+	  dyn.d_un.d_val = htab->srelplt->output_section->size;
 	  break;
 
 	case DT_RELASZ:
@@ -2672,7 +2672,7 @@ elf_xtensa_finish_dynamic_sections (bfd *output_bfd,
 	     for .rela.plt to follow all other relocation sections, we
 	     don't have to worry about changing the DT_RELA entry.  */
 	  if (htab->srelplt)
-	    dyn.d_un.d_val -= htab->srelplt->size;
+	    dyn.d_un.d_val -= htab->srelplt->output_section->size;
 	  break;
 	}