This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
gold patch committed: Build fixes for clang
- From: Ian Lance Taylor <iant at google dot com>
- To: binutils at sourceware dot org
- Date: Wed, 25 Apr 2012 17:07:53 -0700
- Subject: gold patch committed: Build fixes for clang
I got a report of some warnings building gold with clang. This patch
fixes them. Committed to mainline.
Ian
2012-04-25 Ian Lance Taylor <iant@google.com>
* arm.cc (Target_arm::do_is_defined_by_abi): Make sym a const
pointer.
(Stub_addend_reader::operator()): Declare Arm_relocate_functions
as a class, not a struct.
(Target_arm::scan_span_for_cortex_a8_erratum): Likewise.
(Target_arm::apply_cortex_a8_workaround): Likewise.
* gc.h: Declare Reloc_types as a struct, not a class.
* object.h: Declare Symbols_data as a struct.
* reloc.h: Declare Read_relocs_data as a struct.
* target.h: Declare Relocate_info as a struct.
Index: arm.cc
===================================================================
RCS file: /cvs/src/src/gold/arm.cc,v
retrieving revision 1.149
diff -u -r1.149 arm.cc
--- arm.cc 19 Mar 2012 23:54:07 -0000 1.149
+++ arm.cc 26 Apr 2012 00:04:40 -0000
@@ -2314,7 +2314,7 @@
// Return whether SYM is defined by the ABI.
bool
- do_is_defined_by_abi(Symbol* sym) const
+ do_is_defined_by_abi(const Symbol* sym) const
{ return strcmp(sym->name(), "__tls_get_addr") == 0; }
// Return whether there is a GOT section.
@@ -6993,7 +6993,7 @@
const unsigned char* view,
const typename Reloc_types<elfcpp::SHT_REL, 32, big_endian>::Reloc&) const
{
- typedef struct Arm_relocate_functions<big_endian> RelocFuncs;
+ typedef class Arm_relocate_functions<big_endian> RelocFuncs;
switch (r_type)
{
@@ -11709,7 +11709,7 @@
// Check if we have an offending branch instruction.
uint16_t upper_insn = (insn >> 16) & 0xffffU;
uint16_t lower_insn = insn & 0xffffU;
- typedef struct Arm_relocate_functions<big_endian> RelocFuncs;
+ typedef class Arm_relocate_functions<big_endian> RelocFuncs;
if (cortex_a8_reloc != NULL
&& cortex_a8_reloc->reloc_stub() != NULL)
@@ -11812,7 +11812,7 @@
Valtype lower_insn = elfcpp::Swap<16, big_endian>::readval(wv + 1);
off_t branch_offset = stub_address - (insn_address + 4);
- typedef struct Arm_relocate_functions<big_endian> RelocFuncs;
+ typedef class Arm_relocate_functions<big_endian> RelocFuncs;
switch (stub->stub_template()->type())
{
case arm_stub_a8_veneer_b_cond:
Index: gc.h
===================================================================
RCS file: /cvs/src/src/gold/gc.h,v
retrieving revision 1.15
diff -u -r1.15 gc.h
--- gc.h 24 May 2011 21:41:10 -0000 1.15
+++ gc.h 26 Apr 2012 00:04:40 -0000
@@ -1,6 +1,6 @@
// gc.h -- garbage collection of unused sections
-// Copyright 2009, 2010 Free Software Foundation, Inc.
+// Copyright 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
// Written by Sriraman Tallam <tmsriram@google.com>.
// This file is part of gold.
@@ -40,7 +40,7 @@
class Sized_relobj_file;
template<int sh_type, int size, bool big_endian>
-class Reloc_types;
+struct Reloc_types;
class Output_section;
class General_options;
Index: object.h
===================================================================
RCS file: /cvs/src/src/gold/object.h,v
retrieving revision 1.116
diff -u -r1.116 object.h
--- object.h 21 Mar 2012 19:02:21 -0000 1.116
+++ object.h 26 Apr 2012 00:04:40 -0000
@@ -1,6 +1,7 @@
// object.h -- support for an object file for linking in gold -*- C++ -*-
-// Copyright 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+// Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012
+// Free Software Foundation, Inc.
// Written by Ian Lance Taylor <iant@google.com>.
// This file is part of gold.
@@ -47,7 +48,7 @@
class Dynobj;
class Object_merge_map;
class Relocatable_relocs;
-class Symbols_data;
+struct Symbols_data;
template<typename Stringpool_char>
class Stringpool_template;
Index: reloc.h
===================================================================
RCS file: /cvs/src/src/gold/reloc.h,v
retrieving revision 1.36
diff -u -r1.36 reloc.h
--- reloc.h 21 Mar 2012 19:02:21 -0000 1.36
+++ reloc.h 26 Apr 2012 00:04:40 -0000
@@ -38,7 +38,7 @@
class General_options;
class Object;
class Relobj;
-class Read_relocs_data;
+struct Read_relocs_data;
class Symbol;
class Layout;
class Output_data;
Index: target.h
===================================================================
RCS file: /cvs/src/src/gold/target.h,v
retrieving revision 1.64
diff -u -r1.64 target.h
--- target.h 19 Mar 2012 23:54:07 -0000 1.64
+++ target.h 26 Apr 2012 00:04:40 -0000
@@ -1,6 +1,7 @@
// target.h -- target support for gold -*- C++ -*-
-// Copyright 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+// Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012
+// Free Software Foundation, Inc.
// Written by Ian Lance Taylor <iant@google.com>.
// This file is part of gold.
@@ -49,7 +50,7 @@
class Sized_relobj_file;
class Relocatable_relocs;
template<int size, bool big_endian>
-class Relocate_info;
+struct Relocate_info;
class Reloc_symbol_changes;
class Symbol;
template<int size>