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] Fixed -init, -fini linker options.


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

commit 65b94e90977efe3235381708f5a3e0d541026d88
Author: Cupertino Miranda <cmiranda@synopsys.com>
Date:   Tue Jul 19 14:33:34 2016 +0200

    Fixed -init, -fini linker options.
    
    ARC was overloading this options by forcing DT_INIT AND DT_FINI
    to always point to _init and _fini, respectively.
    
    bfd/ChangeLog:
    
    Cupertino Miranda  <cmiranda@synospsys.com>
    
    	* elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.

Diff:
---
 bfd/ChangeLog   | 4 ++++
 bfd/elf32-arc.c | 8 ++++----
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 1ce5ab1..169b8b5 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,7 @@
+2016-08-26  Cupertino Miranda  <cmiranda@synospsys.com>
+
+	* elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
+
 2016-08-26  Cupertino Miranda  <cmiranda@synopsys.com>
 
 	* elf-bfd.h: Added ARC_ELF_DATA to enum elf_target_id.
diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c
index 22aca81..5ba170e 100644
--- a/bfd/elf32-arc.c
+++ b/bfd/elf32-arc.c
@@ -2227,8 +2227,8 @@ elf_arc_finish_dynamic_sections (bfd * output_bfd,
 
 	  switch (internal_dyn.d_tag)
 	    {
-	      GET_SYMBOL_OR_SECTION (DT_INIT, "_init", NULL)
-	      GET_SYMBOL_OR_SECTION (DT_FINI, "_fini", NULL)
+	      GET_SYMBOL_OR_SECTION (DT_INIT, info->init_function, NULL)
+	      GET_SYMBOL_OR_SECTION (DT_FINI, info->fini_function, NULL)
 	      GET_SYMBOL_OR_SECTION (DT_PLTGOT, NULL, ".plt")
 	      GET_SYMBOL_OR_SECTION (DT_JMPREL, NULL, ".rela.plt")
 	      GET_SYMBOL_OR_SECTION (DT_PLTRELSZ, NULL, ".rela.plt")
@@ -2376,8 +2376,8 @@ elf_arc_size_dynamic_sections (bfd * output_bfd,
 	 section.  Checking if the .init section is present.  We also
 	 create DT_INIT and DT_FINI entries if the init_str has been
 	 changed by the user.  */
-      ADD_DYNAMIC_SYMBOL ("init", DT_INIT);
-      ADD_DYNAMIC_SYMBOL ("fini", DT_FINI);
+      ADD_DYNAMIC_SYMBOL (info->init_function, DT_INIT);
+      ADD_DYNAMIC_SYMBOL (info->fini_function, DT_FINI);
     }
   else
     {


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