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]

Re: [GOLD] Sized_dynobj::do_section_entsize broke gold.


Hi,

    I will check in this patch which seems to be an obvious fix to this problem.

Thanks,
-Sriraman.


Index: dynobj.h
===================================================================
RCS file: /cvs/src/src/gold/dynobj.h,v
retrieving revision 1.29
diff -u -u -p -r1.29 dynobj.h
--- dynobj.h    5 Aug 2009 20:51:56 -0000       1.29
+++ dynobj.h    7 Aug 2009 01:49:18 -0000
@@ -201,7 +201,7 @@ class Sized_dynobj : public Dynobj
  // Not used for dynobj.
  uint64_t
  do_section_entsize(unsigned int )
-  { gold_unreachable(); }
+  { gold_unreachable(); return 0; }

  // Return section address.
  uint64_t


On Thu, Aug 6, 2009 at 6:38 PM, Doug Kwan (éæå)<dougkwan@google.com> wrote:
> Hi Sriraman,
>
> Â ÂIt appears that the new function do_section_entsize broke my
> builds because of warnings.
>
> dougkwan@f666g:~/gold-cvs-3/obj/gold$ make
> make Âall-recursive
> make[1]: Entering directory `/home/dougkwan/gold-cvs-3/obj/gold'
> Making all in po
> make[2]: Entering directory `/home/dougkwan/gold-cvs-3/obj/gold/po'
> make[2]: Nothing to be done for `all'.
> make[2]: Leaving directory `/home/dougkwan/gold-cvs-3/obj/gold/po'
> Making all in testsuite
> make[2]: Entering directory `/home/dougkwan/gold-cvs-3/obj/gold/testsuite'
> make Âall-am
> make[3]: Entering directory `/home/dougkwan/gold-cvs-3/obj/gold/testsuite'
> make[3]: Nothing to be done for `all-am'.
> make[3]: Leaving directory `/home/dougkwan/gold-cvs-3/obj/gold/testsuite'
> make[2]: Leaving directory `/home/dougkwan/gold-cvs-3/obj/gold/testsuite'
> make[2]: Entering directory `/home/dougkwan/gold-cvs-3/obj/gold'
> if g++ -DHAVE_CONFIG_H -I. -I../../src/gold -I. -I../../src/gold
> -I../../src/gold/../include -I../../src/gold/../elfcpp
> -DLOCALEDIR="\"/usr/local/share/locale\""
> -DBINDIR="\"/usr/local/bin\""
> -DTOOLBINDIR="\"/usr/local/x86_64-unknown-linux-gnu/bin\"" Â Â-W -Wall
> Â-Werror -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
> -frandom-seed=binary.o -g -O2 -MT binary.o -MD -MP -MF
> ".deps/binary.Tpo" -c -o binary.o ../../src/gold/binary.cc; \
> Â Â Â Âthen mv -f ".deps/binary.Tpo" ".deps/binary.Po"; else rm -f
> ".deps/binary.Tpo"; exit 1; fi
> cc1plus: warnings being treated as errors
> In file included from ../../src/gold/layout.h:36,
> Â Â Â Â Â Â Â Â from ../../src/gold/output.h:31,
> Â Â Â Â Â Â Â Â from ../../src/gold/binary.cc:32:
> ../../src/gold/dynobj.h: In member function âuint64_t
> gold::Sized_dynobj<size, big_endian>::do_section_entsize(unsigned
> int)â:
> ../../src/gold/dynobj.h:204: warning: no return statement in function
> returning non-void
> make[2]: *** [binary.o] Error 1
> make[2]: Leaving directory `/home/dougkwan/gold-cvs-3/obj/gold'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/home/dougkwan/gold-cvs-3/obj/gold'
> make: *** [all] Error 2
> dougkwan@f666g:~/gold-cvs-3/obj/gold$
>
>
> Perhaps the function should be changed like this?
>
> Index: dynobj.h
> ===================================================================
> RCS file: /cvs/src/src/gold/dynobj.h,v
> retrieving revision 1.29
> diff -u -p -r1.29 dynobj.h
> --- dynobj.h  Â5 Aug 2009 20:51:56 -0000    1.29
> +++ dynobj.h  Â7 Aug 2009 01:38:01 -0000
> @@ -201,7 +201,7 @@ class Sized_dynobj : public Dynobj
> Â // Not used for dynobj.
> Â uint64_t
> Â do_section_entsize(unsigned int )
> - Â{ gold_unreachable(); }
> + Â{ gold_unreachable(); return 0; }
>
> Â // Return section address.
> Â uint64_t
>
> -Doug
>


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