]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
[ARM] FDPIC: Make _GLOBAL_OFFSET_TABLE_ a relative symbol
authorChristophe Lyon <christophe.lyon@st.com>
Tue, 20 Mar 2018 09:55:53 +0000 (10:55 +0100)
committerChristophe Lyon <christophe.lyon@linaro.org>
Wed, 18 Apr 2018 12:20:26 +0000 (12:20 +0000)
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

index c2f48046200d21fde015d0ec16fdb1e4f8abc9cf..b72e397bcb4d4e5072e763b5614f4c9493f77788 100644 (file)
@@ -17086,10 +17086,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;