From dd74ae067124f200158633dd96bea9900f5d55c9 Mon Sep 17 00:00:00 2001 From: Cary Coutant Date: Wed, 4 Jan 2012 00:18:23 +0000 Subject: * gold/incremental.cc (Sized_incremental_binary::do_process_got_plt): Use abstract base class for GOT. * gold/output.h (class Output_data_got_base): New abstract base class. (class Output_data_got): Derive from new base class, adjust ctors. (Output_data_got::reserve_slot): Make virtual; rename to do_reserve_slot; Adjust callers. * gold/target.h (Sized_target::init_got_plt_for_update): Return pointer to abstract base class. * gold/x86_64.cc (Target_x86_64::init_got_plt_for_update): Likewise. --- gold/target.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'gold/target.h') diff --git a/gold/target.h b/gold/target.h index a378120..1035427 100644 --- a/gold/target.h +++ b/gold/target.h @@ -56,8 +56,7 @@ template class Sized_symbol; class Symbol_table; class Output_data; -template -class Output_data_got; +class Output_data_got_base; class Output_section; class Input_objects; class Task; @@ -845,7 +844,7 @@ class Sized_target : public Target // Create the GOT and PLT sections for an incremental update. // A target needs to implement this to support incremental linking. - virtual Output_data_got* + virtual Output_data_got_base* init_got_plt_for_update(Symbol_table*, Layout*, unsigned int /* got_count */, -- cgit v1.1