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] Sized_dynobj::do_section_entsize broke gold.


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]