This is the mail archive of the binutils-cvs@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]

[binutils-gdb] [ARC] Don't convert _DYNAMIC@ to _GLOBAL_OFFSET_TABLE_


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=7ef0acc15ec011371a3901a997c867165bf7a733

commit 7ef0acc15ec011371a3901a997c867165bf7a733
Author: Vineet Gupta <vgupta@synopsys.com>
Date:   Mon May 30 15:19:22 2016 +0530

    [ARC] Don't convert _DYNAMIC@ to _GLOBAL_OFFSET_TABLE_
    
    Historically the arc abi demanded that a GOT[0] should be referencible as
    [pc+_DYNAMIC@gotpc].  Hence we convert a _DYNAMIC@gotpc to a GOTPC reference to
    _GLOBAL_OFFSET_TABLE_.
    
    This is no longer the case and uClibc and upcomming GNU libc don't expect this
    to happen.
    
    gas/ChangeLog:
    
        Vineet Gupta  <vgupta@synopsys.com>
        Cupertino Miranda  <cmiranda@synopsys.com>
    
    	* config/tc-arc.c (md_undefined_symbol): Changed.
    	* config/tc-arc.h (DYNAMIC_STRUCT_NAME): Removed.

Diff:
---
 bfd/ChangeLog       | 5 +++++
 gas/config/tc-arc.c | 5 +----
 gas/config/tc-arc.h | 1 -
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index a436e2e..7fd3322 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,10 @@
 2017-06-08  Cupertino Miranda  <cmiranda@synopsys.com>
 
+	* config/tc-arc.c (md_undefined_symbol): Changed.
+	* config/tc-arc.h (DYNAMIC_STRUCT_NAME): Removed.
+
+2017-06-08  Cupertino Miranda  <cmiranda@synopsys.com>
+
 	* elf32-arc.c (elf_arc_relocate_section): Fixed reassign of indirect
 	symbols.
 
diff --git a/gas/config/tc-arc.c b/gas/config/tc-arc.c
index 55aaf07..a56b2a5 100644
--- a/gas/config/tc-arc.c
+++ b/gas/config/tc-arc.c
@@ -3280,10 +3280,7 @@ md_undefined_symbol (char *name)
      GOTPC reference to _GLOBAL_OFFSET_TABLE_.  */
   if (((*name == '_')
        && (*(name+1) == 'G')
-       && (strcmp (name, GLOBAL_OFFSET_TABLE_NAME) == 0))
-      || ((*name == '_')
-	  && (*(name+1) == 'D')
-	  && (strcmp (name, DYNAMIC_STRUCT_NAME) == 0)))
+       && (strcmp (name, GLOBAL_OFFSET_TABLE_NAME) == 0)))
     {
       if (!GOT_symbol)
 	{
diff --git a/gas/config/tc-arc.h b/gas/config/tc-arc.h
index f4cafe9..f887fcc 100644
--- a/gas/config/tc-arc.h
+++ b/gas/config/tc-arc.h
@@ -171,7 +171,6 @@ extern long md_pcrel_from_section (struct fix *, segT);
 #define tc_frob_label(S)  arc_frob_label (S)
 
 #define GLOBAL_OFFSET_TABLE_NAME "_GLOBAL_OFFSET_TABLE_"
-#define DYNAMIC_STRUCT_NAME "_DYNAMIC"
 
 /* We need to take care of not having section relative fixups for the
    fixups with respect to Position Independent Code.  */


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