PR gold/13249

* gold/output.cc (Output_reloc::Output_reloc): Add use_plt_offset flag.
	(Output_reloc::symbol_value): Return PLT offset if flag is set.
	* gold/output.h (class Output_reloc): Add use_plt_offset flag.
	(Output_reloc::type_): Adjust size of bit field.
	(Output_reloc::use_plt_offset_): New bit field.
	(class Output_data_reloc): Adjust all calls to Output_reloc_type.
	(Output_data_reloc::add_local_relative): (RELA only) Add use_plt_offset
	flag.  Adjust all callers.
	* gold/x86_64.cc (Target_x86_64::Scan::local): Check for IFUNC when
	creating RELATIVE relocations.
This commit is contained in:
Cary Coutant
2011-10-10 17:29:52 +00:00
parent 79395f921c
commit 397b129b2a
6 changed files with 85 additions and 47 deletions

View File

@ -1852,7 +1852,7 @@ Target_sparc<size, big_endian>::Scan::local(
rela_dyn->add_local_relative(object, r_sym, elfcpp::R_SPARC_RELATIVE,
output_section, data_shndx,
reloc.get_r_offset(),
reloc.get_r_addend());
reloc.get_r_addend(), false);
}
break;
@ -1943,7 +1943,7 @@ Target_sparc<size, big_endian>::Scan::local(
object->set_local_got_offset(r_sym, GOT_TYPE_STANDARD, off);
rela_dyn->add_local_relative(object, r_sym,
elfcpp::R_SPARC_RELATIVE,
got, off, 0);
got, off, 0, false);
}
}
else