Fix compile errors with GCC 4.2.

gold/
	PR gold/21040
	* x86_64.cc (Output_data_plt_x86_64_bnd::do_fill_first_plt_entry):
	Remove unnecessary 'typename' keyword.
	(Output_data_plt_x86_64_bnd::do_fill_plt_entry): Likewise.
	(Output_data_plt_x86_64_bnd::do_fill_tlsdesc_entry): Likewise.
	(Output_data_plt_x86_64_bnd::fill_aplt_entry): Likewise.
	* testsuite/copy_test_relro_1.cc (p, b, c, q): Add separate extern
	declarations.
This commit is contained in:
Cary Coutant 2017-01-11 11:47:27 -08:00
parent 1fa5f68bf3
commit 976e204b36
3 changed files with 30 additions and 13 deletions

View File

@ -1,3 +1,14 @@
2017-01-11 Cary Coutant <ccoutant@gmail.com>
PR gold/21040
* x86_64.cc (Output_data_plt_x86_64_bnd::do_fill_first_plt_entry):
Remove unnecessary 'typename' keyword.
(Output_data_plt_x86_64_bnd::do_fill_plt_entry): Likewise.
(Output_data_plt_x86_64_bnd::do_fill_tlsdesc_entry): Likewise.
(Output_data_plt_x86_64_bnd::fill_aplt_entry): Likewise.
* testsuite/copy_test_relro_1.cc (p, b, c, q): Add separate extern
declarations.
2017-01-11 Cary Coutant <ccoutant@gmail.com>
PR gold/21039

View File

@ -21,10 +21,16 @@
// MA 02110-1301, USA.
extern int a;
extern int* const p = &a;
extern const int b[] = { 100, 200, 300, 400 };
extern int* const p;
extern const int b[];
extern const int c;
extern const int* const q;
extern const int c = 500;
int* const p = &a;
extern const int* const q = &c;
const int b[] = { 100, 200, 300, 400 };
const int c = 500;
const int* const q = &c;

View File

@ -478,29 +478,29 @@ class Output_data_plt_x86_64_bnd : public Output_data_plt_x86_64<64>
virtual void
do_fill_first_plt_entry(unsigned char* pov,
typename elfcpp::Elf_types<64>::Elf_Addr got_addr,
typename elfcpp::Elf_types<64>::Elf_Addr plt_addr);
elfcpp::Elf_types<64>::Elf_Addr got_addr,
elfcpp::Elf_types<64>::Elf_Addr plt_addr);
virtual unsigned int
do_fill_plt_entry(unsigned char* pov,
typename elfcpp::Elf_types<64>::Elf_Addr got_address,
typename elfcpp::Elf_types<64>::Elf_Addr plt_address,
elfcpp::Elf_types<64>::Elf_Addr got_address,
elfcpp::Elf_types<64>::Elf_Addr plt_address,
unsigned int got_offset,
unsigned int plt_offset,
unsigned int plt_index);
virtual void
do_fill_tlsdesc_entry(unsigned char* pov,
typename elfcpp::Elf_types<64>::Elf_Addr got_address,
typename elfcpp::Elf_types<64>::Elf_Addr plt_address,
typename elfcpp::Elf_types<64>::Elf_Addr got_base,
elfcpp::Elf_types<64>::Elf_Addr got_address,
elfcpp::Elf_types<64>::Elf_Addr plt_address,
elfcpp::Elf_types<64>::Elf_Addr got_base,
unsigned int tlsdesc_got_offset,
unsigned int plt_offset);
void
fill_aplt_entry(unsigned char* pov,
typename elfcpp::Elf_types<64>::Elf_Addr got_address,
typename elfcpp::Elf_types<64>::Elf_Addr plt_address,
elfcpp::Elf_types<64>::Elf_Addr got_address,
elfcpp::Elf_types<64>::Elf_Addr plt_address,
unsigned int got_offset,
unsigned int plt_offset,
unsigned int plt_index);