This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gold patch committed: Remove some more uses of General_options


I committed this patch to gold to remove more cases where we pass
around a reference to the General_options object.  This is no longer
necessary now that it can be accessed via parameters->options().  This
patch is mechanical.

Ian


2009-10-28  Ian Lance Taylor  <iant@google.com>

	* object.h (class Relobj): Drop options parameter from
	gc_process_relocs, scan_relocs, relocate, do_gc_process_relocs,
	do_scan_relocs, do_relocate.  Change all callers.
	(class Sized_relobj): Drop options parameters from
	do_gc_process_relocs, do_scan_relocs, do_relocate,
	do_relocate_sections, relocate_sections, emit_relocs_scan,
	emit_relocs_scan_reltype.  Change all callers.
	(struct Relocate_info): Remove options field and all references to
	it.
	* reloc.h (class Read_relocs): Remove options constructor
	parameter and options_ field.  Change all callers.
	(class Gc_process_relocs, class Scan_relocs): Likewise.
	(class Relocate_task): Likewise.
	* target-reloc.h (scan_relocs): Remove options parameter.  Change
	all callers.
	(scan_relocatable_relocs): Likewise.
	* target.h (class Sized_target): Remove options parameter from
	gc_process_relocs, scan_relocs, scan_relocatable_relocs.  Change
	all callers.
	* gc.h (gc_process_relocs): Remove options parameter.  Change all
	callers.
	* arm.cc: Update functions to remove options parameters.
	* i386.cc: Likewise.
	* powerpc.cc: Likewise.
	* sparc.cc: Likewise.
	* x86_64.cc: Likewise.
	* testsuite/testfile.cc: Likewise.


Index: arm.cc
===================================================================
RCS file: /cvs/src/src/gold/arm.cc,v
retrieving revision 1.21
diff -p -u -r1.21 arm.cc
--- arm.cc	29 Oct 2009 01:53:35 -0000	1.21
+++ arm.cc	29 Oct 2009 05:07:39 -0000
@@ -1092,8 +1092,7 @@ class Target_arm : public Sized_target<3
   // Process the relocations to determine unreferenced sections for 
   // garbage collection.
   void
-  gc_process_relocs(const General_options& options,
-		    Symbol_table* symtab,
+  gc_process_relocs(Symbol_table* symtab,
 		    Layout* layout,
 		    Sized_relobj<32, big_endian>* object,
 		    unsigned int data_shndx,
@@ -1107,8 +1106,7 @@ class Target_arm : public Sized_target<3
 
   // Scan the relocations to look for symbol adjustments.
   void
-  scan_relocs(const General_options& options,
-	      Symbol_table* symtab,
+  scan_relocs(Symbol_table* symtab,
 	      Layout* layout,
 	      Sized_relobj<32, big_endian>* object,
 	      unsigned int data_shndx,
@@ -1144,8 +1142,7 @@ class Target_arm : public Sized_target<3
 
   // Scan the relocs during a relocatable link.
   void
-  scan_relocatable_relocs(const General_options& options,
-			  Symbol_table* symtab,
+  scan_relocatable_relocs(Symbol_table* symtab,
 			  Layout* layout,
 			  Sized_relobj<32, big_endian>* object,
 			  unsigned int data_shndx,
@@ -1209,8 +1206,7 @@ class Target_arm : public Sized_target<3
     { }
 
     inline void
-    local(const General_options& options, Symbol_table* symtab,
-	  Layout* layout, Target_arm* target,
+    local(Symbol_table* symtab, Layout* layout, Target_arm* target,
 	  Sized_relobj<32, big_endian>* object,
 	  unsigned int data_shndx,
 	  Output_section* output_section,
@@ -1218,8 +1214,7 @@ class Target_arm : public Sized_target<3
 	  const elfcpp::Sym<32, big_endian>& lsym);
 
     inline void
-    global(const General_options& options, Symbol_table* symtab,
-	   Layout* layout, Target_arm* target,
+    global(Symbol_table* symtab, Layout* layout, Target_arm* target,
 	   Sized_relobj<32, big_endian>* object,
 	   unsigned int data_shndx,
 	   Output_section* output_section,
@@ -3030,7 +3025,6 @@ Arm_relobj<big_endian>::scan_sections_fo
   const Relobj::Output_sections& out_sections(this->output_sections());
 
   Relocate_info<32, big_endian> relinfo;
-  relinfo.options = &parameters->options();
   relinfo.symtab = symtab;
   relinfo.layout = layout;
   relinfo.object = this;
@@ -3554,8 +3548,7 @@ Target_arm<big_endian>::Scan::check_non_
 
 template<bool big_endian>
 inline void
-Target_arm<big_endian>::Scan::local(const General_options&,
-				    Symbol_table* symtab,
+Target_arm<big_endian>::Scan::local(Symbol_table* symtab,
 				    Layout* layout,
 				    Target_arm* target,
 				    Sized_relobj<32, big_endian>* object,
@@ -3682,8 +3675,7 @@ Target_arm<big_endian>::Scan::unsupporte
 
 template<bool big_endian>
 inline void
-Target_arm<big_endian>::Scan::global(const General_options&,
-				     Symbol_table* symtab,
+Target_arm<big_endian>::Scan::global(Symbol_table* symtab,
 				     Layout* layout,
 				     Target_arm* target,
 				     Sized_relobj<32, big_endian>* object,
@@ -3887,8 +3879,7 @@ Target_arm<big_endian>::Scan::global(con
 
 template<bool big_endian>
 void
-Target_arm<big_endian>::gc_process_relocs(const General_options& options,
-					  Symbol_table* symtab,
+Target_arm<big_endian>::gc_process_relocs(Symbol_table* symtab,
 					  Layout* layout,
 					  Sized_relobj<32, big_endian>* object,
 					  unsigned int data_shndx,
@@ -3904,7 +3895,6 @@ Target_arm<big_endian>::gc_process_reloc
   typedef typename Target_arm<big_endian>::Scan Scan;
 
   gold::gc_process_relocs<32, big_endian, Arm, elfcpp::SHT_REL, Scan>(
-    options,
     symtab,
     layout,
     this,
@@ -3922,8 +3912,7 @@ Target_arm<big_endian>::gc_process_reloc
 
 template<bool big_endian>
 void
-Target_arm<big_endian>::scan_relocs(const General_options& options,
-				    Symbol_table* symtab,
+Target_arm<big_endian>::scan_relocs(Symbol_table* symtab,
 				    Layout* layout,
 				    Sized_relobj<32, big_endian>* object,
 				    unsigned int data_shndx,
@@ -3944,7 +3933,6 @@ Target_arm<big_endian>::scan_relocs(cons
     }
 
   gold::scan_relocs<32, big_endian, Target_arm, elfcpp::SHT_REL, Scan>(
-    options,
     symtab,
     layout,
     this,
@@ -4499,7 +4487,6 @@ Target_arm<big_endian>::Relocatable_size
 template<bool big_endian>
 void
 Target_arm<big_endian>::scan_relocatable_relocs(
-    const General_options& options,
     Symbol_table* symtab,
     Layout* layout,
     Sized_relobj<32, big_endian>* object,
@@ -4520,7 +4507,6 @@ Target_arm<big_endian>::scan_relocatable
 
   gold::scan_relocatable_relocs<32, big_endian, elfcpp::SHT_REL,
       Scan_relocatable_relocs>(
-    options,
     symtab,
     layout,
     object,
Index: gc.h
===================================================================
RCS file: /cvs/src/src/gold/gc.h,v
retrieving revision 1.4
diff -p -u -r1.4 gc.h
--- gc.h	13 Oct 2009 21:17:43 -0000	1.4
+++ gc.h	29 Oct 2009 05:07:39 -0000
@@ -138,7 +138,6 @@ template<int size, bool big_endian, type
 	 typename Scan>
 inline void
 gc_process_relocs(
-    const General_options& ,
     Symbol_table* symtab,
     Layout*,
     Target_type* ,
Index: gold.cc
===================================================================
RCS file: /cvs/src/src/gold/gold.cc,v
retrieving revision 1.73
diff -p -u -r1.73 gold.cc
--- gold.cc	14 Oct 2009 05:25:01 -0000	1.73
+++ gold.cc	29 Oct 2009 05:07:39 -0000
@@ -229,7 +229,7 @@ queue_initial_tasks(const General_option
       || parameters->options().icf_enabled())
     {
       workqueue->queue(new Task_function(new Gc_runner(options,
-                                                       input_objects,
+						       input_objects,
                                                        symtab,
                                                        layout,
                                                        mapfile),
@@ -273,8 +273,8 @@ queue_middle_gc_tasks(const General_opti
     {
       // We can read and process the relocations in any order.  
       blocker->add_blocker();
-      workqueue->queue(new Read_relocs(options, symtab, layout, *p,
-				       symtab_lock, blocker));
+      workqueue->queue(new Read_relocs(symtab, layout, *p, symtab_lock,
+				       blocker));
     }
 
   Task_token* this_blocker = new Task_token(true);
@@ -485,8 +485,9 @@ queue_middle_tasks(const General_options
            ++p)
         {
           blocker->add_blocker();
-          workqueue->queue(new Scan_relocs(options, symtab, layout, *p, 
-                           (*p)->get_relocs_data(),symtab_lock, blocker));
+          workqueue->queue(new Scan_relocs(symtab, layout, *p, 
+					   (*p)->get_relocs_data(),
+					   symtab_lock, blocker));
         }
     }
   else
@@ -512,8 +513,8 @@ queue_middle_tasks(const General_options
           // relocations.  That task will in turn queue a task to wait
           // until it can write to the symbol table.
           blocker->add_blocker();
-          workqueue->queue(new Read_relocs(options, symtab, layout, *p,
-                   symtab_lock, blocker));
+          workqueue->queue(new Read_relocs(symtab, layout, *p, symtab_lock,
+					   blocker));
         }
     }
 
@@ -600,7 +601,7 @@ queue_final_tasks(const General_options&
       if (input_sections_blocker != NULL)
 	input_sections_blocker->add_blocker();
       final_blocker->add_blocker();
-      workqueue->queue(new Relocate_task(options, symtab, layout, *p, of,
+      workqueue->queue(new Relocate_task(symtab, layout, *p, of,
 					 input_sections_blocker,
 					 output_sections_blocker,
 					 final_blocker));
Index: i386.cc
===================================================================
RCS file: /cvs/src/src/gold/i386.cc,v
retrieving revision 1.95
diff -p -u -r1.95 i386.cc
--- i386.cc	15 Oct 2009 00:33:18 -0000	1.95
+++ i386.cc	29 Oct 2009 05:07:39 -0000
@@ -67,8 +67,7 @@ class Target_i386 : public Target_freebs
   // Process the relocations to determine unreferenced sections for 
   // garbage collection.
   void
-  gc_process_relocs(const General_options& options,
-                    Symbol_table* symtab,
+  gc_process_relocs(Symbol_table* symtab,
                     Layout* layout,
                     Sized_relobj<32, false>* object,
                     unsigned int data_shndx,
@@ -82,8 +81,7 @@ class Target_i386 : public Target_freebs
 
   // Scan the relocations to look for symbol adjustments.
   void
-  scan_relocs(const General_options& options,
-	      Symbol_table* symtab,
+  scan_relocs(Symbol_table* symtab,
 	      Layout* layout,
 	      Sized_relobj<32, false>* object,
 	      unsigned int data_shndx,
@@ -119,8 +117,7 @@ class Target_i386 : public Target_freebs
 
   // Scan the relocs during a relocatable link.
   void
-  scan_relocatable_relocs(const General_options& options,
-			  Symbol_table* symtab,
+  scan_relocatable_relocs(Symbol_table* symtab,
 			  Layout* layout,
 			  Sized_relobj<32, false>* object,
 			  unsigned int data_shndx,
@@ -190,8 +187,7 @@ class Target_i386 : public Target_freebs
   struct Scan
   {
     inline void
-    local(const General_options& options, Symbol_table* symtab,
-	  Layout* layout, Target_i386* target,
+    local(Symbol_table* symtab, Layout* layout, Target_i386* target,
 	  Sized_relobj<32, false>* object,
 	  unsigned int data_shndx,
 	  Output_section* output_section,
@@ -199,8 +195,7 @@ class Target_i386 : public Target_freebs
 	  const elfcpp::Sym<32, false>& lsym);
 
     inline void
-    global(const General_options& options, Symbol_table* symtab,
-	   Layout* layout, Target_i386* target,
+    global(Symbol_table* symtab, Layout* layout, Target_i386* target,
 	   Sized_relobj<32, false>* object,
 	   unsigned int data_shndx,
 	   Output_section* output_section,
@@ -884,8 +879,7 @@ Target_i386::Scan::unsupported_reloc_loc
 // Scan a relocation for a local symbol.
 
 inline void
-Target_i386::Scan::local(const General_options&,
-			 Symbol_table* symtab,
+Target_i386::Scan::local(Symbol_table* symtab,
 			 Layout* layout,
 			 Target_i386* target,
 			 Sized_relobj<32, false>* object,
@@ -1175,8 +1169,7 @@ Target_i386::Scan::unsupported_reloc_glo
 // Scan a relocation for a global symbol.
 
 inline void
-Target_i386::Scan::global(const General_options&,
-			  Symbol_table* symtab,
+Target_i386::Scan::global(Symbol_table* symtab,
 			  Layout* layout,
 			  Target_i386* target,
 			  Sized_relobj<32, false>* object,
@@ -1492,8 +1485,7 @@ Target_i386::Scan::global(const General_
 // Process relocations for gc.
 
 void
-Target_i386::gc_process_relocs(const General_options& options,
-                               Symbol_table* symtab,
+Target_i386::gc_process_relocs(Symbol_table* symtab,
                                Layout* layout,
                                Sized_relobj<32, false>* object,
                                unsigned int data_shndx,
@@ -1507,7 +1499,6 @@ Target_i386::gc_process_relocs(const Gen
 {
   gold::gc_process_relocs<32, false, Target_i386, elfcpp::SHT_REL,
 		          Target_i386::Scan>(
-    options,
     symtab,
     layout,
     this,
@@ -1524,8 +1515,7 @@ Target_i386::gc_process_relocs(const Gen
 // Scan relocations for a section.
 
 void
-Target_i386::scan_relocs(const General_options& options,
-			 Symbol_table* symtab,
+Target_i386::scan_relocs(Symbol_table* symtab,
 			 Layout* layout,
 			 Sized_relobj<32, false>* object,
 			 unsigned int data_shndx,
@@ -1546,7 +1536,6 @@ Target_i386::scan_relocs(const General_o
 
   gold::scan_relocs<32, false, Target_i386, elfcpp::SHT_REL,
 		    Target_i386::Scan>(
-    options,
     symtab,
     layout,
     this,
@@ -2537,8 +2526,7 @@ Target_i386::Relocatable_size_for_reloc:
 // Scan the relocs during a relocatable link.
 
 void
-Target_i386::scan_relocatable_relocs(const General_options& options,
-				     Symbol_table* symtab,
+Target_i386::scan_relocatable_relocs(Symbol_table* symtab,
 				     Layout* layout,
 				     Sized_relobj<32, false>* object,
 				     unsigned int data_shndx,
@@ -2558,7 +2546,6 @@ Target_i386::scan_relocatable_relocs(con
 
   gold::scan_relocatable_relocs<32, false, elfcpp::SHT_REL,
       Scan_relocatable_relocs>(
-    options,
     symtab,
     layout,
     object,
Index: object.h
===================================================================
RCS file: /cvs/src/src/gold/object.h,v
retrieving revision 1.83
diff -p -u -r1.83 object.h
--- object.h	25 Oct 2009 16:57:32 -0000	1.83
+++ object.h	29 Oct 2009 05:07:40 -0000
@@ -659,15 +659,13 @@ class Relobj : public Object
 
   // Process the relocs, during garbage collection only.
   void
-  gc_process_relocs(const General_options& options, Symbol_table* symtab,
-	            Layout* layout, Read_relocs_data* rd)
-  { return this->do_gc_process_relocs(options, symtab, layout, rd); }
+  gc_process_relocs(Symbol_table* symtab, Layout* layout, Read_relocs_data* rd)
+  { return this->do_gc_process_relocs(symtab, layout, rd); }
 
   // Scan the relocs and adjust the symbol table.
   void
-  scan_relocs(const General_options& options, Symbol_table* symtab,
-	      Layout* layout, Read_relocs_data* rd)
-  { return this->do_scan_relocs(options, symtab, layout, rd); }
+  scan_relocs(Symbol_table* symtab, Layout* layout, Read_relocs_data* rd)
+  { return this->do_scan_relocs(symtab, layout, rd); }
 
   // The number of local symbols in the input symbol table.
   virtual unsigned int
@@ -701,9 +699,8 @@ class Relobj : public Object
 
   // Relocate the input sections and write out the local symbols.
   void
-  relocate(const General_options& options, const Symbol_table* symtab,
-	   const Layout* layout, Output_file* of)
-  { return this->do_relocate(options, symtab, layout, of); }
+  relocate(const Symbol_table* symtab, const Layout* layout, Output_file* of)
+  { return this->do_relocate(symtab, layout, of); }
 
   // Return whether an input section is being included in the link.
   bool
@@ -790,13 +787,11 @@ class Relobj : public Object
 
   // Process the relocs--implemented by child class.
   virtual void
-  do_gc_process_relocs(const General_options&, Symbol_table*, Layout*,
-		 Read_relocs_data*) = 0;
+  do_gc_process_relocs(Symbol_table*, Layout*, Read_relocs_data*) = 0;
 
   // Scan the relocs--implemented by child class.
   virtual void
-  do_scan_relocs(const General_options&, Symbol_table*, Layout*,
-		 Read_relocs_data*) = 0;
+  do_scan_relocs(Symbol_table*, Layout*, Read_relocs_data*) = 0;
 
   // Return the number of local symbols--implemented by child class.
   virtual unsigned int
@@ -824,8 +819,7 @@ class Relobj : public Object
   // Relocate the input sections and write out the local
   // symbols--implemented by child class.
   virtual void
-  do_relocate(const General_options& options, const Symbol_table* symtab,
-	      const Layout*, Output_file* of) = 0;
+  do_relocate(const Symbol_table* symtab, const Layout*, Output_file* of) = 0;
 
   // Get the offset of a section--implemented by child class.
   virtual uint64_t
@@ -1502,13 +1496,11 @@ class Sized_relobj : public Relobj
   // Process the relocs to find list of referenced sections. Used only
   // during garbage collection.
   void
-  do_gc_process_relocs(const General_options&, Symbol_table*, Layout*,
-		       Read_relocs_data*);
+  do_gc_process_relocs(Symbol_table*, Layout*, Read_relocs_data*);
 
   // Scan the relocs and adjust the symbol table.
   void
-  do_scan_relocs(const General_options&, Symbol_table*, Layout*,
-		 Read_relocs_data*);
+  do_scan_relocs(Symbol_table*, Layout*, Read_relocs_data*);
 
   // Count the local symbols.
   void
@@ -1529,8 +1521,7 @@ class Sized_relobj : public Relobj
 
   // Relocate the input sections and write out the local symbols.
   void
-  do_relocate(const General_options& options, const Symbol_table* symtab,
-	      const Layout*, Output_file* of);
+  do_relocate(const Symbol_table* symtab, const Layout*, Output_file* of);
 
   // Get the size of a section.
   uint64_t
@@ -1663,8 +1654,7 @@ class Sized_relobj : public Relobj
 
   // This may be overriden by a child class.
   virtual void
-  do_relocate_sections(const General_options& options,
-		       const Symbol_table* symtab, const Layout* layout,
+  do_relocate_sections(const Symbol_table* symtab, const Layout* layout,
 		       const unsigned char* pshdrs, Views* pviews);
 
  private:
@@ -1728,22 +1718,20 @@ class Sized_relobj : public Relobj
 
   // Relocate the sections in the output file.
   void
-  relocate_sections(const General_options& options, const Symbol_table* symtab,
-		    const Layout* layout, const unsigned char* pshdrs,
-		    Views* pviews)
-  { this->do_relocate_sections(options, symtab, layout, pshdrs, pviews); }
+  relocate_sections(const Symbol_table* symtab, const Layout* layout,
+		    const unsigned char* pshdrs, Views* pviews)
+  { this->do_relocate_sections(symtab, layout, pshdrs, pviews); }
 
   // Scan the input relocations for --emit-relocs.
   void
-  emit_relocs_scan(const General_options&, Symbol_table*, Layout*,
-		   const unsigned char* plocal_syms,
+  emit_relocs_scan(Symbol_table*, Layout*, const unsigned char* plocal_syms,
 		   const Read_relocs_data::Relocs_list::iterator&);
 
   // Scan the input relocations for --emit-relocs, templatized on the
   // type of the relocation section.
   template<int sh_type>
   void
-  emit_relocs_scan_reltype(const General_options&, Symbol_table*, Layout*,
+  emit_relocs_scan_reltype(Symbol_table*, Layout*,
 			   const unsigned char* plocal_syms,
 			   const Read_relocs_data::Relocs_list::iterator&,
 			   Relocatable_relocs*);
@@ -2005,8 +1993,6 @@ class Input_objects
 template<int size, bool big_endian>
 struct Relocate_info
 {
-  // Command line options.
-  const General_options* options;
   // Symbol table.
   const Symbol_table* symtab;
   // Layout.
Index: powerpc.cc
===================================================================
RCS file: /cvs/src/src/gold/powerpc.cc,v
retrieving revision 1.16
diff -p -u -r1.16 powerpc.cc
--- powerpc.cc	13 Oct 2009 00:39:31 -0000	1.16
+++ powerpc.cc	29 Oct 2009 05:07:40 -0000
@@ -65,8 +65,7 @@ class Target_powerpc : public Sized_targ
   // Process the relocations to determine unreferenced sections for 
   // garbage collection.
   void
-  gc_process_relocs(const General_options& options,
-	            Symbol_table* symtab,
+  gc_process_relocs(Symbol_table* symtab,
 	            Layout* layout,
 	            Sized_relobj<size, big_endian>* object,
 	            unsigned int data_shndx,
@@ -80,8 +79,7 @@ class Target_powerpc : public Sized_targ
 
   // Scan the relocations to look for symbol adjustments.
   void
-  scan_relocs(const General_options& options,
-	      Symbol_table* symtab,
+  scan_relocs(Symbol_table* symtab,
 	      Layout* layout,
 	      Sized_relobj<size, big_endian>* object,
 	      unsigned int data_shndx,
@@ -116,8 +114,7 @@ class Target_powerpc : public Sized_targ
 
   // Scan the relocs during a relocatable link.
   void
-  scan_relocatable_relocs(const General_options& options,
-			  Symbol_table* symtab,
+  scan_relocatable_relocs(Symbol_table* symtab,
 			  Layout* layout,
 			  Sized_relobj<size, big_endian>* object,
 			  unsigned int data_shndx,
@@ -171,8 +168,7 @@ class Target_powerpc : public Sized_targ
     { }
 
     inline void
-    local(const General_options& options, Symbol_table* symtab,
-	  Layout* layout, Target_powerpc* target,
+    local(Symbol_table* symtab, Layout* layout, Target_powerpc* target,
 	  Sized_relobj<size, big_endian>* object,
 	  unsigned int data_shndx,
 	  Output_section* output_section,
@@ -180,8 +176,7 @@ class Target_powerpc : public Sized_targ
 	  const elfcpp::Sym<size, big_endian>& lsym);
 
     inline void
-    global(const General_options& options, Symbol_table* symtab,
-	   Layout* layout, Target_powerpc* target,
+    global(Symbol_table* symtab, Layout* layout, Target_powerpc* target,
 	   Sized_relobj<size, big_endian>* object,
 	   unsigned int data_shndx,
 	   Output_section* output_section,
@@ -1113,7 +1108,6 @@ Target_powerpc<size, big_endian>::Scan::
 template<int size, bool big_endian>
 inline void
 Target_powerpc<size, big_endian>::Scan::local(
-			const General_options&,
 			Symbol_table* symtab,
 			Layout* layout,
 			Target_powerpc<size, big_endian>* target,
@@ -1248,7 +1242,6 @@ Target_powerpc<size, big_endian>::Scan::
 template<int size, bool big_endian>
 inline void
 Target_powerpc<size, big_endian>::Scan::global(
-				const General_options&,
 				Symbol_table* symtab,
 				Layout* layout,
 				Target_powerpc<size, big_endian>* target,
@@ -1444,7 +1437,6 @@ Target_powerpc<size, big_endian>::Scan::
 template<int size, bool big_endian>
 void
 Target_powerpc<size, big_endian>::gc_process_relocs(
-			const General_options& options,
 			Symbol_table* symtab,
 			Layout* layout,
 			Sized_relobj<size, big_endian>* object,
@@ -1461,7 +1453,6 @@ Target_powerpc<size, big_endian>::gc_pro
   typedef typename Target_powerpc<size, big_endian>::Scan Scan;
 
   gold::gc_process_relocs<size, big_endian, Powerpc, elfcpp::SHT_RELA, Scan>(
-    options,
     symtab,
     layout,
     this,
@@ -1480,7 +1471,6 @@ Target_powerpc<size, big_endian>::gc_pro
 template<int size, bool big_endian>
 void
 Target_powerpc<size, big_endian>::scan_relocs(
-			const General_options& options,
 			Symbol_table* symtab,
 			Layout* layout,
 			Sized_relobj<size, big_endian>* object,
@@ -1523,7 +1513,6 @@ Target_powerpc<size, big_endian>::scan_r
   }
 
   gold::scan_relocs<size, big_endian, Powerpc, elfcpp::SHT_RELA, Scan>(
-    options,
     symtab,
     layout,
     this,
@@ -1897,7 +1886,6 @@ Target_powerpc<size, big_endian>::Reloca
 template<int size, bool big_endian>
 void
 Target_powerpc<size, big_endian>::scan_relocatable_relocs(
-			const General_options& options,
 			Symbol_table* symtab,
 			Layout* layout,
 			Sized_relobj<size, big_endian>* object,
@@ -1918,7 +1906,6 @@ Target_powerpc<size, big_endian>::scan_r
 
   gold::scan_relocatable_relocs<size, big_endian, elfcpp::SHT_RELA,
       Scan_relocatable_relocs>(
-    options,
     symtab,
     layout,
     object,
Index: reloc.cc
===================================================================
RCS file: /cvs/src/src/gold/reloc.cc,v
retrieving revision 1.49
diff -p -u -r1.49 reloc.cc
--- reloc.cc	25 Oct 2009 16:57:32 -0000	1.49
+++ reloc.cc	29 Oct 2009 05:07:41 -0000
@@ -72,8 +72,7 @@ Read_relocs::run(Workqueue* workqueue)
   if (parameters->options().gc_sections()
       || parameters->options().icf_enabled())
     {
-      workqueue->queue_next(new Gc_process_relocs(this->options_,
-                                                  this->symtab_,
+      workqueue->queue_next(new Gc_process_relocs(this->symtab_,
                                                   this->layout_, 
                                                   this->object_, rd,
                                                   this->symtab_lock_, 
@@ -81,8 +80,8 @@ Read_relocs::run(Workqueue* workqueue)
     }
   else
     {
-      workqueue->queue_next(new Scan_relocs(this->options_, this->symtab_,
-                                            this->layout_, this->object_, rd,
+      workqueue->queue_next(new Scan_relocs(this->symtab_, this->layout_,
+					    this->object_, rd,
                                             this->symtab_lock_, 
                                             this->blocker_));
     }
@@ -120,8 +119,7 @@ Gc_process_relocs::locks(Task_locker* tl
 void
 Gc_process_relocs::run(Workqueue*)
 {
-  this->object_->gc_process_relocs(this->options_, this->symtab_, this->layout_,
-            	     this->rd_);
+  this->object_->gc_process_relocs(this->symtab_, this->layout_, this->rd_);
   this->object_->release();
 }
 
@@ -166,8 +164,7 @@ Scan_relocs::locks(Task_locker* tl)
 void
 Scan_relocs::run(Workqueue*)
 {
-  this->object_->scan_relocs(this->options_, this->symtab_, this->layout_,
-			     this->rd_);
+  this->object_->scan_relocs(this->symtab_, this->layout_, this->rd_);
   this->object_->release();
   delete this->rd_;
   this->rd_ = NULL;
@@ -216,8 +213,7 @@ Relocate_task::locks(Task_locker* tl)
 void
 Relocate_task::run(Workqueue*)
 {
-  this->object_->relocate(this->options_, this->symtab_, this->layout_,
-			  this->of_);
+  this->object_->relocate(this->symtab_, this->layout_, this->of_);
 
   // This is normally the last thing we will do with an object, so
   // uncache all views.
@@ -360,10 +356,9 @@ Sized_relobj<size, big_endian>::do_read_
 
 template<int size, bool big_endian>
 void
-Sized_relobj<size, big_endian>::do_gc_process_relocs(const General_options& options,
-					       Symbol_table* symtab,
-					       Layout* layout,
-					       Read_relocs_data* rd)
+Sized_relobj<size, big_endian>::do_gc_process_relocs(Symbol_table* symtab,
+						     Layout* layout,
+						     Read_relocs_data* rd)
 {  
   Sized_target<size, big_endian>* target =
     parameters->sized_target<size, big_endian>();
@@ -384,7 +379,7 @@ Sized_relobj<size, big_endian>::do_gc_pr
 	    // only scan allocated sections.  We may see a non-allocated
 	    // section here if we are emitting relocs.
 	    if (p->is_data_section_allocated)
-              target->gc_process_relocs(options, symtab, layout, this, 
+              target->gc_process_relocs(symtab, layout, this, 
                                         p->data_shndx, p->sh_type, 
                                         p->contents->data(), p->reloc_count, 
                                         p->output_section,
@@ -401,8 +396,7 @@ Sized_relobj<size, big_endian>::do_gc_pr
 
 template<int size, bool big_endian>
 void
-Sized_relobj<size, big_endian>::do_scan_relocs(const General_options& options,
-					       Symbol_table* symtab,
+Sized_relobj<size, big_endian>::do_scan_relocs(Symbol_table* symtab,
 					       Layout* layout,
 					       Read_relocs_data* rd)
 {
@@ -434,21 +428,21 @@ Sized_relobj<size, big_endian>::do_scan_
 	  // only scan allocated sections.  We may see a non-allocated
 	  // section here if we are emitting relocs.
 	  if (p->is_data_section_allocated)
-	    target->scan_relocs(options, symtab, layout, this, p->data_shndx,
+	    target->scan_relocs(symtab, layout, this, p->data_shndx,
 				p->sh_type, p->contents->data(),
 				p->reloc_count, p->output_section,
 				p->needs_special_offset_handling,
 				this->local_symbol_count_,
 				local_symbols);
 	  if (parameters->options().emit_relocs())
-	    this->emit_relocs_scan(options, symtab, layout, local_symbols, p);
+	    this->emit_relocs_scan(symtab, layout, local_symbols, p);
 	}
       else
 	{
 	  Relocatable_relocs* rr = this->relocatable_relocs(p->reloc_shndx);
 	  gold_assert(rr != NULL);
 	  rr->set_reloc_count(p->reloc_count);
-	  target->scan_relocatable_relocs(options, symtab, layout, this,
+	  target->scan_relocatable_relocs(symtab, layout, this,
 					  p->data_shndx, p->sh_type,
 					  p->contents->data(),
 					  p->reloc_count,
@@ -510,7 +504,6 @@ class Emit_relocs_strategy
 template<int size, bool big_endian>
 void
 Sized_relobj<size, big_endian>::emit_relocs_scan(
-    const General_options& options,
     Symbol_table* symtab,
     Layout* layout,
     const unsigned char* plocal_syms,
@@ -521,14 +514,13 @@ Sized_relobj<size, big_endian>::emit_rel
   rr->set_reloc_count(p->reloc_count);
 
   if (p->sh_type == elfcpp::SHT_REL)
-    this->emit_relocs_scan_reltype<elfcpp::SHT_REL>(options, symtab, layout,
+    this->emit_relocs_scan_reltype<elfcpp::SHT_REL>(symtab, layout,
 						    plocal_syms, p, rr);
   else
     {
       gold_assert(p->sh_type == elfcpp::SHT_RELA);
-      this->emit_relocs_scan_reltype<elfcpp::SHT_RELA>(options, symtab,
-						       layout, plocal_syms, p,
-						       rr);
+      this->emit_relocs_scan_reltype<elfcpp::SHT_RELA>(symtab, layout,
+						       plocal_syms, p, rr);
     }
 }
 
@@ -539,7 +531,6 @@ template<int size, bool big_endian>
 template<int sh_type>
 void
 Sized_relobj<size, big_endian>::emit_relocs_scan_reltype(
-    const General_options& options,
     Symbol_table* symtab,
     Layout* layout,
     const unsigned char* plocal_syms,
@@ -548,7 +539,6 @@ Sized_relobj<size, big_endian>::emit_rel
 {
   scan_relocatable_relocs<size, big_endian, sh_type,
 			  Emit_relocs_strategy<sh_type> >(
-    options,
     symtab,
     layout,
     this,
@@ -566,8 +556,7 @@ Sized_relobj<size, big_endian>::emit_rel
 
 template<int size, bool big_endian>
 void
-Sized_relobj<size, big_endian>::do_relocate(const General_options& options,
-					    const Symbol_table* symtab,
+Sized_relobj<size, big_endian>::do_relocate(const Symbol_table* symtab,
 					    const Layout* layout,
 					    Output_file* of)
 {
@@ -593,7 +582,7 @@ Sized_relobj<size, big_endian>::do_reloc
 
   // Apply relocations.
 
-  this->relocate_sections(options, symtab, layout, pshdrs, &views);
+  this->relocate_sections(symtab, layout, pshdrs, &views);
 
   // After we've done the relocations, we release the hash tables,
   // since we no longer need them.
@@ -800,7 +789,6 @@ Sized_relobj<size, big_endian>::write_se
 template<int size, bool big_endian>
 void
 Sized_relobj<size, big_endian>::do_relocate_sections(
-    const General_options& options,
     const Symbol_table* symtab,
     const Layout* layout,
     const unsigned char* pshdrs,
@@ -814,7 +802,6 @@ Sized_relobj<size, big_endian>::do_reloc
   const std::vector<Address>& out_offsets(this->section_offsets_);
 
   Relocate_info<size, big_endian> relinfo;
-  relinfo.options = &options;
   relinfo.symtab = symtab;
   relinfo.layout = layout;
   relinfo.object = this;
@@ -1431,44 +1418,39 @@ Sized_relobj<64, true>::do_read_relocs(R
 #ifdef HAVE_TARGET_32_LITTLE
 template
 void
-Sized_relobj<32, false>::do_gc_process_relocs(const General_options& options,
-					Symbol_table* symtab,
-					Layout* layout,
-					Read_relocs_data* rd);
+Sized_relobj<32, false>::do_gc_process_relocs(Symbol_table* symtab,
+					      Layout* layout,
+					      Read_relocs_data* rd);
 #endif
 
 #ifdef HAVE_TARGET_32_BIG
 template
 void
-Sized_relobj<32, true>::do_gc_process_relocs(const General_options& options,
-				       Symbol_table* symtab,
-				       Layout* layout,
-				       Read_relocs_data* rd);
+Sized_relobj<32, true>::do_gc_process_relocs(Symbol_table* symtab,
+					     Layout* layout,
+					     Read_relocs_data* rd);
 #endif
 
 #ifdef HAVE_TARGET_64_LITTLE
 template
 void
-Sized_relobj<64, false>::do_gc_process_relocs(const General_options& options,
-					Symbol_table* symtab,
-					Layout* layout,
-					Read_relocs_data* rd);
+Sized_relobj<64, false>::do_gc_process_relocs(Symbol_table* symtab,
+					      Layout* layout,
+					      Read_relocs_data* rd);
 #endif
 
 #ifdef HAVE_TARGET_64_BIG
 template
 void
-Sized_relobj<64, true>::do_gc_process_relocs(const General_options& options,
-				       Symbol_table* symtab,
-				       Layout* layout,
-				       Read_relocs_data* rd);
+Sized_relobj<64, true>::do_gc_process_relocs(Symbol_table* symtab,
+					     Layout* layout,
+					     Read_relocs_data* rd);
 #endif
 
 #ifdef HAVE_TARGET_32_LITTLE
 template
 void
-Sized_relobj<32, false>::do_scan_relocs(const General_options& options,
-					Symbol_table* symtab,
+Sized_relobj<32, false>::do_scan_relocs(Symbol_table* symtab,
 					Layout* layout,
 					Read_relocs_data* rd);
 #endif
@@ -1476,8 +1458,7 @@ Sized_relobj<32, false>::do_scan_relocs(
 #ifdef HAVE_TARGET_32_BIG
 template
 void
-Sized_relobj<32, true>::do_scan_relocs(const General_options& options,
-				       Symbol_table* symtab,
+Sized_relobj<32, true>::do_scan_relocs(Symbol_table* symtab,
 				       Layout* layout,
 				       Read_relocs_data* rd);
 #endif
@@ -1485,8 +1466,7 @@ Sized_relobj<32, true>::do_scan_relocs(c
 #ifdef HAVE_TARGET_64_LITTLE
 template
 void
-Sized_relobj<64, false>::do_scan_relocs(const General_options& options,
-					Symbol_table* symtab,
+Sized_relobj<64, false>::do_scan_relocs(Symbol_table* symtab,
 					Layout* layout,
 					Read_relocs_data* rd);
 #endif
@@ -1494,8 +1474,7 @@ Sized_relobj<64, false>::do_scan_relocs(
 #ifdef HAVE_TARGET_64_BIG
 template
 void
-Sized_relobj<64, true>::do_scan_relocs(const General_options& options,
-				       Symbol_table* symtab,
+Sized_relobj<64, true>::do_scan_relocs(Symbol_table* symtab,
 				       Layout* layout,
 				       Read_relocs_data* rd);
 #endif
@@ -1503,8 +1482,7 @@ Sized_relobj<64, true>::do_scan_relocs(c
 #ifdef HAVE_TARGET_32_LITTLE
 template
 void
-Sized_relobj<32, false>::do_relocate(const General_options& options,
-				     const Symbol_table* symtab,
+Sized_relobj<32, false>::do_relocate(const Symbol_table* symtab,
 				     const Layout* layout,
 				     Output_file* of);
 #endif
@@ -1512,8 +1490,7 @@ Sized_relobj<32, false>::do_relocate(con
 #ifdef HAVE_TARGET_32_BIG
 template
 void
-Sized_relobj<32, true>::do_relocate(const General_options& options,
-				    const Symbol_table* symtab,
+Sized_relobj<32, true>::do_relocate(const Symbol_table* symtab,
 				    const Layout* layout,
 				    Output_file* of);
 #endif
@@ -1521,8 +1498,7 @@ Sized_relobj<32, true>::do_relocate(cons
 #ifdef HAVE_TARGET_64_LITTLE
 template
 void
-Sized_relobj<64, false>::do_relocate(const General_options& options,
-				     const Symbol_table* symtab,
+Sized_relobj<64, false>::do_relocate(const Symbol_table* symtab,
 				     const Layout* layout,
 				     Output_file* of);
 #endif
@@ -1530,8 +1506,7 @@ Sized_relobj<64, false>::do_relocate(con
 #ifdef HAVE_TARGET_64_BIG
 template
 void
-Sized_relobj<64, true>::do_relocate(const General_options& options,
-				    const Symbol_table* symtab,
+Sized_relobj<64, true>::do_relocate(const Symbol_table* symtab,
 				    const Layout* layout,
 				    Output_file* of);
 #endif
@@ -1540,7 +1515,6 @@ Sized_relobj<64, true>::do_relocate(cons
 template
 void
 Sized_relobj<32, false>::do_relocate_sections(
-    const General_options& options,
     const Symbol_table* symtab,
     const Layout* layout,
     const unsigned char* pshdrs,
@@ -1551,7 +1525,6 @@ Sized_relobj<32, false>::do_relocate_sec
 template
 void
 Sized_relobj<32, true>::do_relocate_sections(
-    const General_options& options,
     const Symbol_table* symtab,
     const Layout* layout,
     const unsigned char* pshdrs,
@@ -1562,7 +1535,6 @@ Sized_relobj<32, true>::do_relocate_sect
 template
 void
 Sized_relobj<64, false>::do_relocate_sections(
-    const General_options& options,
     const Symbol_table* symtab,
     const Layout* layout,
     const unsigned char* pshdrs,
@@ -1573,7 +1545,6 @@ Sized_relobj<64, false>::do_relocate_sec
 template
 void
 Sized_relobj<64, true>::do_relocate_sections(
-    const General_options& options,
     const Symbol_table* symtab,
     const Layout* layout,
     const unsigned char* pshdrs,
Index: reloc.h
===================================================================
RCS file: /cvs/src/src/gold/reloc.h,v
retrieving revision 1.25
diff -p -u -r1.25 reloc.h
--- reloc.h	23 Jun 2009 18:10:42 -0000	1.25
+++ reloc.h	29 Oct 2009 05:07:41 -0000
@@ -64,10 +64,9 @@ class Read_relocs : public Task
  public:
   // SYMTAB_LOCK is used to lock the symbol table.  BLOCKER should be
   // unblocked when the Scan_relocs task completes.
-  Read_relocs(const General_options& options, Symbol_table* symtab,
-	      Layout* layout, Relobj* object, Task_token* symtab_lock,
-	      Task_token* blocker)
-    : options_(options), symtab_(symtab), layout_(layout), object_(object),
+  Read_relocs(Symbol_table* symtab, Layout* layout, Relobj* object,
+	      Task_token* symtab_lock, Task_token* blocker)
+    : symtab_(symtab), layout_(layout), object_(object),
       symtab_lock_(symtab_lock), blocker_(blocker)
   { }
 
@@ -86,7 +85,6 @@ class Read_relocs : public Task
   get_name() const;
 
  private:
-  const General_options& options_;
   Symbol_table* symtab_;
   Layout* layout_;
   Relobj* object_;
@@ -102,11 +100,11 @@ class Gc_process_relocs : public Task
  public:
   // SYMTAB_LOCK is used to lock the symbol table.  BLOCKER should be
   // unblocked when the task completes.
-  Gc_process_relocs(const General_options& options, Symbol_table* symtab,
-	      Layout* layout, Relobj* object, Read_relocs_data* rd,
-	      Task_token* symtab_lock, Task_token* blocker)
-    : options_(options), symtab_(symtab), layout_(layout), object_(object),
-      rd_(rd), symtab_lock_(symtab_lock), blocker_(blocker)
+  Gc_process_relocs(Symbol_table* symtab, Layout* layout, Relobj* object,
+		    Read_relocs_data* rd, Task_token* symtab_lock,
+		    Task_token* blocker)
+    : symtab_(symtab), layout_(layout), object_(object), rd_(rd),
+      symtab_lock_(symtab_lock), blocker_(blocker)
   { }
 
   // The standard Task methods.
@@ -124,7 +122,6 @@ class Gc_process_relocs : public Task
   get_name() const;
 
  private:
-  const General_options& options_;
   Symbol_table* symtab_;
   Layout* layout_;
   Relobj* object_;
@@ -141,11 +138,11 @@ class Scan_relocs : public Task
  public:
   // SYMTAB_LOCK is used to lock the symbol table.  BLOCKER should be
   // unblocked when the task completes.
-  Scan_relocs(const General_options& options, Symbol_table* symtab,
-	      Layout* layout, Relobj* object, Read_relocs_data* rd,
-	      Task_token* symtab_lock, Task_token* blocker)
-    : options_(options), symtab_(symtab), layout_(layout), object_(object),
-      rd_(rd), symtab_lock_(symtab_lock), blocker_(blocker)
+  Scan_relocs(Symbol_table* symtab, Layout* layout, Relobj* object,
+	      Read_relocs_data* rd, Task_token* symtab_lock,
+	      Task_token* blocker)
+    : symtab_(symtab), layout_(layout), object_(object), rd_(rd),
+      symtab_lock_(symtab_lock), blocker_(blocker)
   { }
 
   // The standard Task methods.
@@ -163,7 +160,6 @@ class Scan_relocs : public Task
   get_name() const;
 
  private:
-  const General_options& options_;
   Symbol_table* symtab_;
   Layout* layout_;
   Relobj* object_;
@@ -177,12 +173,12 @@ class Scan_relocs : public Task
 class Relocate_task : public Task
 {
  public:
-  Relocate_task(const General_options& options, const Symbol_table* symtab,
-		const Layout* layout, Relobj* object, Output_file* of,
+  Relocate_task(const Symbol_table* symtab, const Layout* layout,
+		Relobj* object, Output_file* of,
 		Task_token* input_sections_blocker,
 		Task_token* output_sections_blocker, Task_token* final_blocker)
-    : options_(options), symtab_(symtab), layout_(layout), object_(object),
-      of_(of), input_sections_blocker_(input_sections_blocker),
+    : symtab_(symtab), layout_(layout), object_(object), of_(of),
+      input_sections_blocker_(input_sections_blocker),
       output_sections_blocker_(output_sections_blocker),
       final_blocker_(final_blocker)
   { }
@@ -202,7 +198,6 @@ class Relocate_task : public Task
   get_name() const;
 
  private:
-  const General_options& options_;
   const Symbol_table* symtab_;
   const Layout* layout_;
   Relobj* object_;
Index: sparc.cc
===================================================================
RCS file: /cvs/src/src/gold/sparc.cc,v
retrieving revision 1.20
diff -p -u -r1.20 sparc.cc
--- sparc.cc	13 Oct 2009 00:39:31 -0000	1.20
+++ sparc.cc	29 Oct 2009 05:07:41 -0000
@@ -67,8 +67,7 @@ class Target_sparc : public Sized_target
   // Process the relocations to determine unreferenced sections for 
   // garbage collection.
   void
-  gc_process_relocs(const General_options& options,
-	            Symbol_table* symtab,
+  gc_process_relocs(Symbol_table* symtab,
 	            Layout* layout,
 	            Sized_relobj<size, big_endian>* object,
 	            unsigned int data_shndx,
@@ -82,8 +81,7 @@ class Target_sparc : public Sized_target
 
   // Scan the relocations to look for symbol adjustments.
   void
-  scan_relocs(const General_options& options,
-	      Symbol_table* symtab,
+  scan_relocs(Symbol_table* symtab,
 	      Layout* layout,
 	      Sized_relobj<size, big_endian>* object,
 	      unsigned int data_shndx,
@@ -118,8 +116,7 @@ class Target_sparc : public Sized_target
 
   // Scan the relocs during a relocatable link.
   void
-  scan_relocatable_relocs(const General_options& options,
-			  Symbol_table* symtab,
+  scan_relocatable_relocs(Symbol_table* symtab,
 			  Layout* layout,
 			  Sized_relobj<size, big_endian>* object,
 			  unsigned int data_shndx,
@@ -181,8 +178,7 @@ class Target_sparc : public Sized_target
     { }
 
     inline void
-    local(const General_options& options, Symbol_table* symtab,
-	  Layout* layout, Target_sparc* target,
+    local(Symbol_table* symtab, Layout* layout, Target_sparc* target,
 	  Sized_relobj<size, big_endian>* object,
 	  unsigned int data_shndx,
 	  Output_section* output_section,
@@ -190,8 +186,7 @@ class Target_sparc : public Sized_target
 	  const elfcpp::Sym<size, big_endian>& lsym);
 
     inline void
-    global(const General_options& options, Symbol_table* symtab,
-	   Layout* layout, Target_sparc* target,
+    global(Symbol_table* symtab, Layout* layout, Target_sparc* target,
 	   Sized_relobj<size, big_endian>* object,
 	   unsigned int data_shndx,
 	   Output_section* output_section,
@@ -1600,7 +1595,6 @@ Target_sparc<size, big_endian>::Scan::ch
 template<int size, bool big_endian>
 inline void
 Target_sparc<size, big_endian>::Scan::local(
-			const General_options&,
 			Symbol_table* symtab,
 			Layout* layout,
 			Target_sparc<size, big_endian>* target,
@@ -1902,7 +1896,6 @@ Target_sparc<size, big_endian>::Scan::un
 template<int size, bool big_endian>
 inline void
 Target_sparc<size, big_endian>::Scan::global(
-				const General_options&,
 				Symbol_table* symtab,
 				Layout* layout,
 				Target_sparc<size, big_endian>* target,
@@ -2250,7 +2243,6 @@ Target_sparc<size, big_endian>::Scan::gl
 template<int size, bool big_endian>
 void
 Target_sparc<size, big_endian>::gc_process_relocs(
-			const General_options& options,
 			Symbol_table* symtab,
 			Layout* layout,
 			Sized_relobj<size, big_endian>* object,
@@ -2267,7 +2259,6 @@ Target_sparc<size, big_endian>::gc_proce
   typedef typename Target_sparc<size, big_endian>::Scan Scan;
 
   gold::gc_process_relocs<size, big_endian, Sparc, elfcpp::SHT_RELA, Scan>(
-    options,
     symtab,
     layout,
     this,
@@ -2286,7 +2277,6 @@ Target_sparc<size, big_endian>::gc_proce
 template<int size, bool big_endian>
 void
 Target_sparc<size, big_endian>::scan_relocs(
-			const General_options& options,
 			Symbol_table* symtab,
 			Layout* layout,
 			Sized_relobj<size, big_endian>* object,
@@ -2310,7 +2300,6 @@ Target_sparc<size, big_endian>::scan_rel
     }
 
   gold::scan_relocs<size, big_endian, Sparc, elfcpp::SHT_RELA, Scan>(
-    options,
     symtab,
     layout,
     this,
@@ -3149,7 +3138,6 @@ Target_sparc<size, big_endian>::Relocata
 template<int size, bool big_endian>
 void
 Target_sparc<size, big_endian>::scan_relocatable_relocs(
-			const General_options& options,
 			Symbol_table* symtab,
 			Layout* layout,
 			Sized_relobj<size, big_endian>* object,
@@ -3170,7 +3158,6 @@ Target_sparc<size, big_endian>::scan_rel
 
   gold::scan_relocatable_relocs<size, big_endian, elfcpp::SHT_RELA,
       Scan_relocatable_relocs>(
-    options,
     symtab,
     layout,
     object,
Index: target-reloc.h
===================================================================
RCS file: /cvs/src/src/gold/target-reloc.h,v
retrieving revision 1.35
diff -p -u -r1.35 target-reloc.h
--- target-reloc.h	6 Oct 2009 22:58:27 -0000	1.35
+++ target-reloc.h	29 Oct 2009 05:07:41 -0000
@@ -43,7 +43,6 @@ template<int size, bool big_endian, type
 	 typename Scan>
 inline void
 scan_relocs(
-    const General_options& options,
     Symbol_table* symtab,
     Layout* layout,
     Target_type* target,
@@ -104,7 +103,7 @@ scan_relocs(
 	      continue;
 	    }
 
-	  scan.local(options, symtab, layout, target, object, data_shndx,
+	  scan.local(symtab, layout, target, object, data_shndx,
 		     output_section, reloc, r_type, lsym);
 	}
       else
@@ -114,7 +113,7 @@ scan_relocs(
 	  if (gsym->is_forwarder())
 	    gsym = symtab->resolve_forwards(gsym);
 
-	  scan.global(options, symtab, layout, target, object, data_shndx,
+	  scan.global(symtab, layout, target, object, data_shndx,
 		      output_section, reloc, r_type, gsym);
 	}
     }
@@ -384,7 +383,6 @@ template<int size, bool big_endian, int 
 	 typename Scan_relocatable_reloc>
 void
 scan_relocatable_relocs(
-    const General_options&,
     Symbol_table*,
     Layout*,
     Sized_relobj<size, big_endian>* object,
Index: target.h
===================================================================
RCS file: /cvs/src/src/gold/target.h,v
retrieving revision 1.38
diff -p -u -r1.38 target.h
--- target.h	9 Oct 2009 23:18:19 -0000	1.38
+++ target.h	29 Oct 2009 05:07:42 -0000
@@ -41,7 +41,6 @@
 namespace gold
 {
 
-class General_options;
 class Object;
 class Relobj;
 template<int size, bool big_endian>
@@ -467,34 +466,32 @@ class Sized_target : public Target
   // used to determine unreferenced garbage sections. This procedure is
   // only called during garbage collection.
   virtual void
-  gc_process_relocs(const General_options& options,
-	      Symbol_table* symtab,
-	      Layout* layout,
-	      Sized_relobj<size, big_endian>* object,
-	      unsigned int data_shndx,
-	      unsigned int sh_type,
-	      const unsigned char* prelocs,
-	      size_t reloc_count,
-	      Output_section* output_section,
-	      bool needs_special_offset_handling,
-	      size_t local_symbol_count,
-	      const unsigned char* plocal_symbols) = 0;
+  gc_process_relocs(Symbol_table* symtab,
+		    Layout* layout,
+		    Sized_relobj<size, big_endian>* object,
+		    unsigned int data_shndx,
+		    unsigned int sh_type,
+		    const unsigned char* prelocs,
+		    size_t reloc_count,
+		    Output_section* output_section,
+		    bool needs_special_offset_handling,
+		    size_t local_symbol_count,
+		    const unsigned char* plocal_symbols) = 0;
 
   // Scan the relocs for a section, and record any information
-  // required for the symbol.  OPTIONS is the command line options.
-  // SYMTAB is the symbol table.  OBJECT is the object in which the
-  // section appears.  DATA_SHNDX is the section index that these
-  // relocs apply to.  SH_TYPE is the type of the relocation section,
-  // SHT_REL or SHT_RELA.  PRELOCS points to the relocation data.
-  // RELOC_COUNT is the number of relocs.  LOCAL_SYMBOL_COUNT is the
-  // number of local symbols.  OUTPUT_SECTION is the output section.
+  // required for the symbol.  SYMTAB is the symbol table.  OBJECT is
+  // the object in which the section appears.  DATA_SHNDX is the
+  // section index that these relocs apply to.  SH_TYPE is the type of
+  // the relocation section, SHT_REL or SHT_RELA.  PRELOCS points to
+  // the relocation data.  RELOC_COUNT is the number of relocs.
+  // LOCAL_SYMBOL_COUNT is the number of local symbols.
+  // OUTPUT_SECTION is the output section.
   // NEEDS_SPECIAL_OFFSET_HANDLING is true if offsets to the output
   // sections are not mapped as usual.  PLOCAL_SYMBOLS points to the
   // local symbol data from OBJECT.  GLOBAL_SYMBOLS is the array of
   // pointers to the global symbol table from OBJECT.
   virtual void
-  scan_relocs(const General_options& options,
-	      Symbol_table* symtab,
+  scan_relocs(Symbol_table* symtab,
 	      Layout* layout,
 	      Sized_relobj<size, big_endian>* object,
 	      unsigned int data_shndx,
@@ -533,8 +530,7 @@ class Sized_target : public Target
   // like scan_relocs, with an additional Relocatable_relocs
   // parameter, used to record the disposition of the relocs.
   virtual void
-  scan_relocatable_relocs(const General_options& options,
-			  Symbol_table* symtab,
+  scan_relocatable_relocs(Symbol_table* symtab,
 			  Layout* layout,
 			  Sized_relobj<size, big_endian>* object,
 			  unsigned int data_shndx,
Index: x86_64.cc
===================================================================
RCS file: /cvs/src/src/gold/x86_64.cc,v
retrieving revision 1.88
diff -p -u -r1.88 x86_64.cc
--- x86_64.cc	13 Oct 2009 00:39:31 -0000	1.88
+++ x86_64.cc	29 Oct 2009 05:07:42 -0000
@@ -74,8 +74,7 @@ class Target_x86_64 : public Target_free
 
   // Scan the relocations to look for symbol adjustments.
   void
-  gc_process_relocs(const General_options& options,
-	            Symbol_table* symtab,
+  gc_process_relocs(Symbol_table* symtab,
 	            Layout* layout,
 	            Sized_relobj<64, false>* object,
 	            unsigned int data_shndx,
@@ -89,8 +88,7 @@ class Target_x86_64 : public Target_free
 
   // Scan the relocations to look for symbol adjustments.
   void
-  scan_relocs(const General_options& options,
-	      Symbol_table* symtab,
+  scan_relocs(Symbol_table* symtab,
 	      Layout* layout,
 	      Sized_relobj<64, false>* object,
 	      unsigned int data_shndx,
@@ -126,8 +124,7 @@ class Target_x86_64 : public Target_free
 
   // Scan the relocs during a relocatable link.
   void
-  scan_relocatable_relocs(const General_options& options,
-			  Symbol_table* symtab,
+  scan_relocatable_relocs(Symbol_table* symtab,
 			  Layout* layout,
 			  Sized_relobj<64, false>* object,
 			  unsigned int data_shndx,
@@ -189,8 +186,7 @@ class Target_x86_64 : public Target_free
     { }
 
     inline void
-    local(const General_options& options, Symbol_table* symtab,
-	  Layout* layout, Target_x86_64* target,
+    local(Symbol_table* symtab, Layout* layout, Target_x86_64* target,
 	  Sized_relobj<64, false>* object,
 	  unsigned int data_shndx,
 	  Output_section* output_section,
@@ -198,8 +194,7 @@ class Target_x86_64 : public Target_free
 	  const elfcpp::Sym<64, false>& lsym);
 
     inline void
-    global(const General_options& options, Symbol_table* symtab,
-	   Layout* layout, Target_x86_64* target,
+    global(Symbol_table* symtab, Layout* layout, Target_x86_64* target,
 	   Sized_relobj<64, false>* object,
 	   unsigned int data_shndx,
 	   Output_section* output_section,
@@ -1002,8 +997,7 @@ Target_x86_64::Scan::check_non_pic(Relob
 // Scan a relocation for a local symbol.
 
 inline void
-Target_x86_64::Scan::local(const General_options&,
-                           Symbol_table* symtab,
+Target_x86_64::Scan::local(Symbol_table* symtab,
                            Layout* layout,
                            Target_x86_64* target,
                            Sized_relobj<64, false>* object,
@@ -1283,8 +1277,7 @@ Target_x86_64::Scan::unsupported_reloc_g
 // Scan a relocation for a global symbol.
 
 inline void
-Target_x86_64::Scan::global(const General_options&,
-                            Symbol_table* symtab,
+Target_x86_64::Scan::global(Symbol_table* symtab,
                             Layout* layout,
                             Target_x86_64* target,
                             Sized_relobj<64, false>* object,
@@ -1576,8 +1569,7 @@ Target_x86_64::Scan::global(const Genera
 }
 
 void
-Target_x86_64::gc_process_relocs(const General_options& options,
-                                 Symbol_table* symtab,
+Target_x86_64::gc_process_relocs(Symbol_table* symtab,
                                  Layout* layout,
                                  Sized_relobj<64, false>* object,
                                  unsigned int data_shndx,
@@ -1597,7 +1589,6 @@ Target_x86_64::gc_process_relocs(const G
 
    gold::gc_process_relocs<64, false, Target_x86_64, elfcpp::SHT_RELA,
                            Target_x86_64::Scan>(
-    options,
     symtab,
     layout,
     this,
@@ -1614,8 +1605,7 @@ Target_x86_64::gc_process_relocs(const G
 // Scan relocations for a section.
 
 void
-Target_x86_64::scan_relocs(const General_options& options,
-                           Symbol_table* symtab,
+Target_x86_64::scan_relocs(Symbol_table* symtab,
                            Layout* layout,
                            Sized_relobj<64, false>* object,
                            unsigned int data_shndx,
@@ -1636,7 +1626,6 @@ Target_x86_64::scan_relocs(const General
 
   gold::scan_relocs<64, false, Target_x86_64, elfcpp::SHT_RELA,
       Target_x86_64::Scan>(
-    options,
     symtab,
     layout,
     this,
@@ -2526,8 +2515,7 @@ Target_x86_64::Relocatable_size_for_relo
 // Scan the relocs during a relocatable link.
 
 void
-Target_x86_64::scan_relocatable_relocs(const General_options& options,
-				       Symbol_table* symtab,
+Target_x86_64::scan_relocatable_relocs(Symbol_table* symtab,
 				       Layout* layout,
 				       Sized_relobj<64, false>* object,
 				       unsigned int data_shndx,
@@ -2547,7 +2535,6 @@ Target_x86_64::scan_relocatable_relocs(c
 
   gold::scan_relocatable_relocs<64, false, elfcpp::SHT_RELA,
       Scan_relocatable_relocs>(
-    options,
     symtab,
     layout,
     object,
Index: testsuite/testfile.cc
===================================================================
RCS file: /cvs/src/src/gold/testsuite/testfile.cc,v
retrieving revision 1.16
diff -p -u -r1.16 testfile.cc
--- testsuite/testfile.cc	6 Oct 2009 22:58:27 -0000	1.16
+++ testsuite/testfile.cc	29 Oct 2009 05:07:42 -0000
@@ -44,17 +44,15 @@ class Target_test : public Sized_target<
   { }
 
   void
-  gc_process_relocs(const General_options&, Symbol_table*, Layout*,
-                    Sized_relobj<size, big_endian>*, unsigned int,
-                    unsigned int, const unsigned char*, size_t, Output_section*,
-                    bool, size_t, const unsigned char*)
+  gc_process_relocs(Symbol_table*, Layout*, Sized_relobj<size, big_endian>*,
+		    unsigned int, unsigned int, const unsigned char*, size_t,
+		    Output_section*, bool, size_t, const unsigned char*)
   { ERROR("call to Target_test::gc_process_relocs"); }
 
   void
-  scan_relocs(const General_options&, Symbol_table*, Layout*,
-	      Sized_relobj<size, big_endian>*, unsigned int,
-	      unsigned int, const unsigned char*, size_t, Output_section*,
-	      bool, size_t, const unsigned char*)
+  scan_relocs(Symbol_table*, Layout*, Sized_relobj<size, big_endian>*,
+	      unsigned int, unsigned int, const unsigned char*, size_t,
+	      Output_section*, bool, size_t, const unsigned char*)
   { ERROR("call to Target_test::scan_relocs"); }
 
   void
@@ -65,7 +63,7 @@ class Target_test : public Sized_target<
   { ERROR("call to Target_test::relocate_section"); }
 
   void
-  scan_relocatable_relocs(const General_options&, Symbol_table*, Layout*,
+  scan_relocatable_relocs(Symbol_table*, Layout*,
 			  Sized_relobj<size, big_endian>*, unsigned int,
 			  unsigned int, const unsigned char*,
 			  size_t, Output_section*, bool, size_t,

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]