Re: another Make (maybe) problem
Jilles Tjoelker writes: > These messages are harmless, but are fixed by r264167. And so they were. Thank you. Now back to the original issue. Robert Huff ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
static linking, libc multiple definitions
Doing static linking of qemu bsd user applications and I seem to get a lot of warnings about multiple symbols in libc. What's going on here? /usr/lib/libc.a(svc_simple.o): warning: multiple common of `__svc_maxrec' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(svc_simple.o): warning: multiple common of `__svc_xports' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(svc_generic.o): warning: multiple common of `__svc_maxrec' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(svc_generic.o): warning: multiple common of `__svc_xports' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(svc_dg.o): warning: multiple common of `__svc_maxrec' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(svc_dg.o): warning: multiple common of `__svc_xports' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(clnt_bcast.o): warning: multiple common of `__svc_maxrec' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(clnt_bcast.o): warning: multiple common of `__svc_xports' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(svc_vc.o): warning: multiple common of `__svc_maxrec' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(svc_vc.o): warning: multiple common of `__svc_xports' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(svc.o): warning: multiple common of `__svc_maxrec' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(svc.o): warning: multiple common of `__svc_xports' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(pmap_clnt.o): warning: multiple common of `__svc_maxrec' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(pmap_clnt.o): warning: multiple common of `__svc_xports' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(clnt_generic.o): warning: multiple common of `__svc_maxrec' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(clnt_generic.o): warning: multiple common of `__svc_xports' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(clnt_dg.o): warning: multiple common of `__svc_maxrec' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(clnt_dg.o): warning: multiple common of `__svc_xports' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(clnt_vc.o): warning: multiple common of `__svc_maxrec' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(clnt_vc.o): warning: multiple common of `__svc_xports' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(xdr_rec.o): warning: multiple common of `__svc_maxrec' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(xdr_rec.o): warning: multiple common of `__svc_xports' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(rpc_generic.o): warning: multiple common of `__svc_maxrec' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(rpc_generic.o): warning: multiple common of `__svc_xports' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(getnetconfig.o): warning: multiple common of `__svc_maxrec' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(getnetconfig.o): warning: multiple common of `__svc_xports' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(rpcb_clnt.o): warning: multiple common of `__svc_maxrec' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here /usr/lib/libc.a(rpcb_clnt.o): warning: multiple common of `__svc_xports' /usr/lib/libc.a(rpc_soc.o): warning: previous common is here signature.asc Description: This is a digitally signed message part
Re: static linking, libc multiple definitions
It looks like these two are defined in rpc_com.h, so they are declared and defined in multiple compilation units. That's not actually wrong (they'll have common linkage and be merged), but it's discouraged because it can mask other errors. Can you see if this patch fixes it for you? David Index: rpc/rpc_com.h === --- rpc/rpc_com.h (revision 264068) +++ rpc/rpc_com.h (working copy) @@ -86,8 +86,8 @@ bool_t __xdrrec_getrec(XDR *, enum xprt_stat *, bool_t); void __xprt_unregister_unlocked(SVCXPRT *); -SVCXPRT **__svc_xports; -int __svc_maxrec; +extern SVCXPRT **__svc_xports; +extern int __svc_maxrec; __END_DECLS Index: rpc/svc.c === --- rpc/svc.c (revision 264068) +++ rpc/svc.c (working copy) @@ -84,6 +84,9 @@ void(*sc_dispatch)(struct svc_req *, SVCXPRT *); } *svc_head; +SVCXPRT **__svc_xports; +int __svc_maxrec; + static struct svc_callout *svc_find(rpcprog_t, rpcvers_t, struct svc_callout **, char *); static void __xprt_do_unregister (SVCXPRT *xprt, bool_t dolock); On 6 Apr 2014, at 16:55, Sean Bruno wrote: > Doing static linking of qemu bsd user applications and I seem to get a > lot of warnings about multiple symbols in libc. What's going on here? > > > /usr/lib/libc.a(svc_simple.o): warning: multiple common of > `__svc_maxrec' > /usr/lib/libc.a(rpc_soc.o): warning: previous common is here > /usr/lib/libc.a(svc_simple.o): warning: multiple common of > `__svc_xports' > /usr/lib/libc.a(rpc_soc.o): warning: previous common is here > /usr/lib/libc.a(svc_generic.o): warning: multiple common of > `__svc_maxrec' > /usr/lib/libc.a(rpc_soc.o): warning: previous common is here > /usr/lib/libc.a(svc_generic.o): warning: multiple common of > `__svc_xports' > /usr/lib/libc.a(rpc_soc.o): warning: previous common is here > /usr/lib/libc.a(svc_dg.o): warning: multiple common of `__svc_maxrec' > /usr/lib/libc.a(rpc_soc.o): warning: previous common is here > /usr/lib/libc.a(svc_dg.o): warning: multiple common of `__svc_xports' > /usr/lib/libc.a(rpc_soc.o): warning: previous common is here > /usr/lib/libc.a(clnt_bcast.o): warning: multiple common of > `__svc_maxrec' > /usr/lib/libc.a(rpc_soc.o): warning: previous common is here > /usr/lib/libc.a(clnt_bcast.o): warning: multiple common of > `__svc_xports' > /usr/lib/libc.a(rpc_soc.o): warning: previous common is here > /usr/lib/libc.a(svc_vc.o): warning: multiple common of `__svc_maxrec' > /usr/lib/libc.a(rpc_soc.o): warning: previous common is here > /usr/lib/libc.a(svc_vc.o): warning: multiple common of `__svc_xports' > /usr/lib/libc.a(rpc_soc.o): warning: previous common is here > /usr/lib/libc.a(svc.o): warning: multiple common of `__svc_maxrec' > /usr/lib/libc.a(rpc_soc.o): warning: previous common is here > /usr/lib/libc.a(svc.o): warning: multiple common of `__svc_xports' > /usr/lib/libc.a(rpc_soc.o): warning: previous common is here > /usr/lib/libc.a(pmap_clnt.o): warning: multiple common of `__svc_maxrec' > /usr/lib/libc.a(rpc_soc.o): warning: previous common is here > /usr/lib/libc.a(pmap_clnt.o): warning: multiple common of `__svc_xports' > /usr/lib/libc.a(rpc_soc.o): warning: previous common is here > /usr/lib/libc.a(clnt_generic.o): warning: multiple common of > `__svc_maxrec' > /usr/lib/libc.a(rpc_soc.o): warning: previous common is here > /usr/lib/libc.a(clnt_generic.o): warning: multiple common of > `__svc_xports' > /usr/lib/libc.a(rpc_soc.o): warning: previous common is here > /usr/lib/libc.a(clnt_dg.o): warning: multiple common of `__svc_maxrec' > /usr/lib/libc.a(rpc_soc.o): warning: previous common is here > /usr/lib/libc.a(clnt_dg.o): warning: multiple common of `__svc_xports' > /usr/lib/libc.a(rpc_soc.o): warning: previous common is here > /usr/lib/libc.a(clnt_vc.o): warning: multiple common of `__svc_maxrec' > /usr/lib/libc.a(rpc_soc.o): warning: previous common is here > /usr/lib/libc.a(clnt_vc.o): warning: multiple common of `__svc_xports' > /usr/lib/libc.a(rpc_soc.o): warning: previous common is here > /usr/lib/libc.a(xdr_rec.o): warning: multiple common of `__svc_maxrec' > /usr/lib/libc.a(rpc_soc.o): warning: previous common is here > /usr/lib/libc.a(xdr_rec.o): warning: multiple common of `__svc_xports' > /usr/lib/libc.a(rpc_soc.o): warning: previous common is here > /usr/lib/libc.a(rpc_generic.o): warning: multiple common of > `__svc_maxrec' > /usr/lib/libc.a(rpc_soc.o): warning: previous common is here > /usr/lib/libc.a(rpc_generic.o): warning: multiple common of > `__svc_xports' > /usr/lib/libc.a(rpc_soc.o): warning: previous common is here > /usr/lib/libc.a(getnetconfig.o): warning: multiple common of > `__svc_maxrec' > /usr/lib/libc.a(rpc_soc.o): warning: previous common is here > /usr/lib/libc.a(getnetconfig.o): warning: multiple common of > `__svc_xports' > /usr/lib/libc.a(rpc_soc.o): warning: previous common is here > /usr/lib/libc.a(rpcb_cl
Re: static linking, libc multiple definitions
On Sun, 2014-04-06 at 17:12 +0100, David Chisnall wrote: > It looks like these two are defined in rpc_com.h, so they are declared and > defined in multiple compilation units. That's not actually wrong (they'll > have common linkage and be merged), but it's discouraged because it can mask > other errors. Can you see if this patch fixes it for you? > > David > > > Index: rpc/rpc_com.h > === > --- rpc/rpc_com.h (revision 264068) > +++ rpc/rpc_com.h (working copy) > @@ -86,8 +86,8 @@ > bool_t __xdrrec_getrec(XDR *, enum xprt_stat *, bool_t); > void __xprt_unregister_unlocked(SVCXPRT *); > > -SVCXPRT **__svc_xports; > -int __svc_maxrec; > +extern SVCXPRT **__svc_xports; > +extern int __svc_maxrec; > > __END_DECLS > > Index: rpc/svc.c > === > --- rpc/svc.c (revision 264068) > +++ rpc/svc.c (working copy) > @@ -84,6 +84,9 @@ > void(*sc_dispatch)(struct svc_req *, SVCXPRT *); > } *svc_head; > > +SVCXPRT **__svc_xports; > +int __svc_maxrec; > + > static struct svc_callout *svc_find(rpcprog_t, rpcvers_t, > struct svc_callout **, char *); > static void __xprt_do_unregister (SVCXPRT *xprt, bool_t dolock); > > Yep, that make it much quieter now. :-) Thank you. sean signature.asc Description: This is a digitally signed message part
Re: another Make (maybe) problem
I have new information. The previous problem occurs when I run this script: #! /bin/sh set -x cd /usr/src if [ -f buildworld.log ] then rm buildworld.log fi rm -rf /usr/obj cp -p /usr/src/sys/amd64/conf/JERUSALEM /root make cleandir date > ./buildworld.time make -d l buildworld > ./buildworld.log 2>&1 (Which has worked for years.) _However_ if root>> cd /usr/src/rescue root>> make clean root>> make obj root>> make I get the this: http://users.rcn.com/roberthuff/rescue_log.txt Questions: 1) does this mean building rescue (both dynamic and static) succeeded? It looks like it, but 2) if so - why does the automated version fail while the manual one succeed? 3) Assuming: a) all previous steps of "make buildworld" succeeded b) I have run "make", but not "make install" in /usr/src/rescue can I re-run "make buildworld" in /usr/src and have it Do The Right Thing? (Independent errors notwithstanding.) Respectfully, Robert Huff ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
patch: report per-CPU per-state wakeup counts
Hi, We don't report how many actual sleeps (ie, wakeups) that we're doing via ACPI. I'd like to add support for this. http://people.freebsd.org/~adrian/misc/20140406-acpica-wakeup-stat-1.diff comments? -a ___ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"