From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KhoD9-0002my-7C for qemu-devel@nongnu.org; Mon, 22 Sep 2008 12:24:31 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KhoD8-0002m7-HT for qemu-devel@nongnu.org; Mon, 22 Sep 2008 12:24:30 -0400 Received: from [199.232.76.173] (port=47375 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KhoD7-0002lt-Sm for qemu-devel@nongnu.org; Mon, 22 Sep 2008 12:24:29 -0400 Received: from yw-out-1718.google.com ([74.125.46.157]:54021) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KhoD7-0005SK-Cp for qemu-devel@nongnu.org; Mon, 22 Sep 2008 12:24:29 -0400 Received: by yw-out-1718.google.com with SMTP id 6so271626ywa.82 for ; Mon, 22 Sep 2008 09:24:28 -0700 (PDT) Message-ID: Date: Mon, 22 Sep 2008 19:24:27 +0300 From: "Blue Swirl" Subject: Re: [Qemu-devel] [PATCH, RFC] ld flag --warn-common In-Reply-To: <20080921211432.GA28684@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <20080919163730.GA5016@localhost.localdomain> <20080921211432.GA28684@localhost.localdomain> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org On 9/22/08, Kirill A. Shutemov wrote: > On Sat, Sep 20, 2008 at 10:49:36AM +0300, Blue Swirl wrote: > > On 9/19/08, Kirill A. Shutemov wrote: > > > On Sun, Sep 07, 2008 at 11:24:37AM +0300, Blue Swirl wrote: > > > > Hi, > > > > > > > > These trivial patches enable linker flag --warn-common and fix the > > > > warnings caused by enabling the flag. > > > > > > > > > This flag cause a lot of warning on my machine, even with trivial program. > > > > > > $ cat 1.c > > > #include > > > > > > int main() > > > { > > > printf("test\n"); > > > return 0; > > > } > > > $ gcc -Wl,--warn-common -static 1.c > > > /usr/lib64/gcc/x86_64-alt-linux/4.1.2/../../../../lib64/libc.a(strtoul.o): warning: multiple common of `_nl_category_name_idxs' > > > /usr/lib64/gcc/x86_64-alt-linux/4.1.2/../../../../lib64/libc.a(strtol.o): warning: previous common is here > > > /usr/lib64/gcc/x86_64-alt-linux/4.1.2/../../../../lib64/libc.a(strtol_l.o): warning: multiple common of `_nl_category_name_idxs' > > > /usr/lib64/gcc/x86_64-alt-linux/4.1.2/../../../../lib64/libc.a(strtol.o): warning: previous common is here > > > /usr/lib64/gcc/x86_64-alt-linux/4.1.2/../../../../lib64/libc.a(strtoul_l.o): warning: multiple common of `_nl_category_name_idxs' > > > /usr/lib64/gcc/x86_64-alt-linux/4.1.2/../../../../lib64/libc.a(strtol.o): warning: previous common is here > > > /usr/lib64/gcc/x86_64-alt-linux/4.1.2/../../../../lib64/libc.a(vfprintf.o): warning: multiple common of `_nl_category_name_idxs' > > > /usr/lib64/gcc/x86_64-alt-linux/4.1.2/../../../../lib64/libc.a(strtol.o): warning: previous common is here > > > > > > ...and so on. > > > > > > > > > Is it problem with my toolchain? What is your testing environment? > > > > I get no warnings for Qemu build on Debian i386, amd64 > > (stable/unstable), Sparc32, Sparc64 or on OpenBSD/Sparc64. Your > > program produces one warning on Debian stable (all hosts except no > > warnings on arm), no warnings on Debian amd64 unstable or OpenBSD. > > > I've got a lot of warnings on ALT Linux x86_64 and Ubuntu x86_64. Both > with gcc 4.1.2. Are you sure that you test static build? $ gcc -Wl,--warn-common -static main.c /usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../lib64/libc.a(dl-open.o): warning: definition of `_dl_tls_static_size' overriding common /usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../lib64/libc.a(libc-tls.o): warning: common is here $ cat main.c #include int main() { printf("test\n"); return 0; }