[ARM-FDPIC,09/12,ARM] FDPIC: Make _GLOBAL_OFFSET_TABLE_ a relative symbol

Message ID 20180322143850.1766-10-christophe.lyon@st.com
State New
Headers show
Series
  • FDPIC ABI for ARM
Related show

Commit Message

Christophe Lyon March 22, 2018, 2:38 p.m.
2018-XX-XX  Christophe Lyon  <christophe.lyon@st.com>
	Mickaël Guêné  <mickael.guene@st.com>

	bfd/
	* elf32-arm.c (elf32_arm_finish_dynamic_symbol): Handle
	_GLOBAL_OFFSET_TABLE_ in FDPIC mode.
---
 bfd/elf32-arm.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

-- 
2.6.3

Patch

diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 72d25c8..b1beb32 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -17089,10 +17089,10 @@  elf32_arm_finish_dynamic_symbol (bfd * output_bfd,
     }
 
   /* Mark _DYNAMIC and _GLOBAL_OFFSET_TABLE_ as absolute.  On VxWorks,
-     the _GLOBAL_OFFSET_TABLE_ symbol is not absolute: it is relative
-     to the ".got" section.  */
+     and for FDPIC, the _GLOBAL_OFFSET_TABLE_ symbol is not absolute:
+     it is relative to the ".got" section.  */
   if (h == htab->root.hdynamic
-      || (!htab->vxworks_p && h == htab->root.hgot))
+      || (!htab->fdpic_p && !htab->vxworks_p && h == htab->root.hgot))
     sym->st_shndx = SHN_ABS;
 
   return TRUE;