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.
This commit is contained in:
Cupertino Miranda 2016-07-19 14:33:34 +02:00
parent 8a36df4dcf
commit 65b94e9097
2 changed files with 8 additions and 4 deletions

View file

@ -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.

View file

@ -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
{