From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 891 invoked by alias); 4 Jan 2013 14:56:09 -0000 Received: (qmail 866 invoked by uid 22791); 4 Jan 2013 14:56:07 -0000 X-SWARE-Spam-Status: No, hits=-3.8 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,TW_IB X-Spam-Check-By: sourceware.org Received: from mail-qc0-f169.google.com (HELO mail-qc0-f169.google.com) (209.85.216.169) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 04 Jan 2013 14:56:03 +0000 Received: by mail-qc0-f169.google.com with SMTP id t2so8841142qcq.0 for ; Fri, 04 Jan 2013 06:56:02 -0800 (PST) MIME-Version: 1.0 Received: by 10.49.118.162 with SMTP id kn2mr36775328qeb.65.1357311362631; Fri, 04 Jan 2013 06:56:02 -0800 (PST) Received: by 10.49.12.210 with HTTP; Fri, 4 Jan 2013 06:56:02 -0800 (PST) In-Reply-To: References: <20130102111116.GP2315@tucnak.redhat.com> Date: Fri, 04 Jan 2013 14:56:00 -0000 Message-ID: Subject: Re: Use libstdc++-raw-cxx.m4 in libjava From: "H.J. Lu" To: Andreas Schwab Cc: Jakub Jelinek , Paolo Bonzini , DJ Delorie , neroden@gcc.gnu.org, Alexandre Oliva , Ralf Wildenhues , gcc-patches@gcc.gnu.org Content-Type: text/plain; charset=ISO-8859-1 X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2013-01/txt/msg00185.txt.bz2 On Fri, Jan 4, 2013 at 2:06 AM, Andreas Schwab wrote: > "H.J. Lu" writes: > >> On Thu, Jan 3, 2013 at 10:09 AM, Andreas Schwab wrote: >>> "H.J. Lu" writes: >>> >>>> diff --git a/libjava/Makefile.am b/libjava/Makefile.am >>>> index c6c84e4..dd08a4f 100644 >>>> --- a/libjava/Makefile.am >>>> +++ b/libjava/Makefile.am >>>> @@ -594,7 +594,7 @@ lib_gnu_awt_xlib_la_CPPFLAGS = \ >>>> $(AM_CPPFLAGS) \ >>>> $(LIBSTDCXX_RAW_CXX_CXXFLAGS) >>>> ## The mysterious backslash in the grep pattern is consumed by make. >>>> -lib_gnu_awt_xlib_la_LDFLAGS = $(LIBSTDCXX_RAW_CXX_LDLAGS) \ >>>> +lib_gnu_awt_xlib_la_LDFLAGS = $(LIBSTDCXX_RAW_CXX_LIBADD) \ >>>> @X_PRE_LIBS@ @X_LIBS@ -lX11 @X_EXTRA_LIBS@ \ >>>> -rpath $(toolexeclibdir) $(LIBJAVA_LDFLAGS_NOUNDEF) \ >>>> -version-info `grep -v '^\#' $(srcdir)/libtool-version` >>>> $(LIBGCJ_LD_SYMBOLIC) >>> >>> It is still wrong to use LDFLAGS for libraries to be linked in. >>> All of $(LIBSTDCXX_RAW_CXX_LIBADD) @X_PRE_LIBS@ @X_LIBS@ -lX11 >>> @X_EXTRA_LIBS@ should be on lib_gnu_awt_xlib_la_LDADD. >>> >> >> This was how it was done before my change. If we want to >> make a change, I can submit a separate patch. > > Libraries should never occur before the objects which reference them. > This is in GCC 4.7: lib_gnu_awt_xlib_la_LDFLAGS = ../libstdc++-v3/src/libstdc++.la \ @X_PRE_LIBS@ @X_LIBS@ -lX11 @X_EXTRA_LIBS@ \ -rpath $(toolexeclibdir) $(LIBJAVA_LDFLAGS_NOUNDEF) \ -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(LIBGCJ_LD_SYMBOLIC) lib_gnu_awt_xlib_la_LINK = $(LIBLINK) $(lib_gnu_awt_xlib_la_LDFLAGS) \ $(lib_gnu_awt_xlib_la_version_arg) It does put libraries first. If it is a real bug, it should be fixed separately. -- H.J.