Fix issue where first reserved word of GOT is not initialized if there
authorCary Coutant <ccoutant@google.com>
Tue, 6 May 2014 18:40:04 +0000 (11:40 -0700)
committerCary Coutant <ccoutant@google.com>
Tue, 6 May 2014 21:29:42 +0000 (14:29 -0700)
commit57b2284c6318841612acef23c60fe7298a1ac91a
tree6038bb9bf0d79c984979e91f33191b0773979663
parent757a636fb585824699b1cc4f8f23dbc3a6a6d914
Fix issue where first reserved word of GOT is not initialized if there
is no PLT.

gold/
PR gold/16900
* i386.cc (Output_data_got_plt_i386): New class.
(Output_data_plt_i386::Output_data_plt_i386): Change type of got_plt
parameter. Change all callers.
(Output_data_plt_i386::layout_): Remove.
(Output_data_plt_i386::got_plt_): Change type.
(Target_i386::got_plt_): Change type. Change all references.
(Target_i386::got_section): Create instance of new class.
(Output_data_got_plt_i386::do_write): New function.
* x86_64.cc (Output_data_got_plt_x86_64): New class.
(Output_data_plt_x86_64::Output_data_plt_x86_64): Change type of got_plt
parameter. Change all callers.
(Output_data_plt_x86_64::layout_): Remove.
(Output_data_plt_x86_64::got_plt_): Change type.
(Target_x86_64::got_plt_): Change type. Change all references.
(Target_x86_64::got_section): Create instance of new class.
(Output_data_got_plt_x86_64::do_write): New function.
(Output_data_plt_x86_64::do_write): Don't write reserved words in GOT.
(Target_x86_64<size>::init_got_plt_for_update): Create instance of new
class.
gold/ChangeLog
gold/i386.cc
gold/x86_64.cc