From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17498 invoked by alias); 9 Nov 2009 19:07:59 -0000 Received: (qmail 17478 invoked by uid 22791); 9 Nov 2009 19:07:57 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail-bw0-f219.google.com (HELO mail-bw0-f219.google.com) (209.85.218.219) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 09 Nov 2009 19:07:52 +0000 Received: by bwz19 with SMTP id 19so4110077bwz.8 for ; Mon, 09 Nov 2009 11:07:49 -0800 (PST) MIME-Version: 1.0 Received: by 10.204.34.18 with SMTP id j18mr2147887bkd.38.1257793665216; Mon, 09 Nov 2009 11:07:45 -0800 (PST) In-Reply-To: <20091109141000.GA15314@host0.dyn.jankratochvil.net> References: <20091109141000.GA15314@host0.dyn.jankratochvil.net> From: Paolo Bonzini Date: Mon, 09 Nov 2009 19:07:00 -0000 Message-ID: Subject: Re: [patch] Unify AC_SYS_LARGEFILE exception across dirs (+GDB new largefile support) To: Jan Kratochvil Cc: binutils@sourceware.org, gdb-patches@sourceware.org, Joel Brobecker Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2009-11/txt/msg00159.txt.bz2 The patch is fine for the gcc repo too. It would have been nice if enable_plugins was used directly without going through a useless indirection, but this is not the right patch to fix that. Paolo On Mon, Nov 9, 2009 at 15:10, Jan Kratochvil wr= ote: > Hi, > > there is AC_SYS_LARGEFILE present in some */configure.{ac,in} files, > its import history is listed at: > =A0 =A0 =A0 =A0[patch, configures] Unify AC_SYS_LARGEFILE exception acros= s dirs > =A0 =A0 =A0 =A0http://gcc.gnu.org/ml/gcc-patches/2009-11/msg00230.html > > There was found a problem as it is required to have the largefile support > active/inactive exactly the same in all the subdirectories due to ABI > compatibility as shown in PR 9992 fixed by Nick Clifton. > > Therefore got now accepted config/largefile.m4 for it to make it unified: > =A0 =A0 =A0 =A0Re: [patch, configures] Unify AC_SYS_LARGEFILE exception a= cross dirs > =A0 =A0 =A0 =A0http://gcc.gnu.org/ml/gcc-patches/2009-11/msg00353.html > =A0 =A0 =A0 =A0http://gcc.gnu.org/ml/gcc-cvs/2009-11/msg00206.html > > There is a bug in this (currently unused) config/largefile.m4 as it depen= ds on > ${plugins} which is never set there. =A0One would have to always call AC_= PLUGINS > beforehand. =A0Therefore config/largefile.m4 should call AC_PLUGINS itsel= f. > After this patch gets approved for binutils I will ask for an update of > config/largefile.m4 in GCC SVN (+sourceware CVS). > > bfd/ + binutils/ + ld/ have ABI dependency on bfd/ interface, patched her= e. > At least bfd_stat() has such dependency. > > libiberty/ has no largefile-lreated ABI differences in its interface so i= t is > not patched. =A0It already has AC_SYS_LARGEFILE but with no exceptions. > Discussed at: > =A0 =A0 =A0 =A0[patch, configures] Unify AC_SYS_LARGEFILE exception acros= s dirs > =A0 =A0 =A0 =A0http://gcc.gnu.org/ml/gcc-patches/2009-11/msg00230.html > > gas/ + gprof/ have no found dependencies on bfd/ but as they use it they = could > easily start to have (such as if they would start to use bfd_stat()), pat= ched. > > gdb/ patched with new largefile support as this patch is a blocker for fi= x of > a regression of mine: > =A0 =A0 =A0 =A0http://sourceware.org/ml/gdb-patches/2009-11/msg00084.html > > Regression tested on i386-fedora11-linux-gnu for gas/ld/binutils. > > Diff of the the generated parts is at: > =A0 =A0 =A0 =A0http://people.redhat.com/jkratoch/largefile/acx-largefile-= generated.patch > > > Thanks, > Jan > > > config/ > 2009-11-09 =A0Jan Kratochvil =A0 > > =A0 =A0 =A0 =A0* largefile.m4 (ACX_LARGEFILE): Call AC_PLUGINS. > > bfd/ > 2009-11-09 =A0Jan Kratochvil =A0 > > =A0 =A0 =A0 =A0* configure.in: Call ACX_LARGEFILE. =A0Stop calling AC_PLU= GINS, > =A0 =A0 =A0 =A0AC_SYS_LARGEFILE and checking the Solaris largefile except= ion. > =A0 =A0 =A0 =A0* aclocal.m4: Regenerate. > =A0 =A0 =A0 =A0* configure: Regenerate. > > binutils/ > 2009-11-09 =A0Jan Kratochvil =A0 > > =A0 =A0 =A0 =A0* configure.in: Call ACX_LARGEFILE. =A0Stop calling AC_PLU= GINS, > =A0 =A0 =A0 =A0AC_SYS_LARGEFILE and checking the Solaris largefile except= ion. > =A0 =A0 =A0 =A0* aclocal.m4: Regenerate. > =A0 =A0 =A0 =A0* configure: Regenerate. > > gas/ > 2009-11-09 =A0Jan Kratochvil =A0 > > =A0 =A0 =A0 =A0* configure.in: Call ACX_LARGEFILE. =A0Stop calling AC_SYS= _LARGEFILE. > =A0 =A0 =A0 =A0* aclocal.m4: Regenerate. > =A0 =A0 =A0 =A0* configure: Regenerate. > > gprof/ > 2009-11-09 =A0Jan Kratochvil =A0 > > =A0 =A0 =A0 =A0* configure.in: Call ACX_LARGEFILE. =A0Stop calling AC_SYS= _LARGEFILE. > =A0 =A0 =A0 =A0* aclocal.m4: Regenerate. > =A0 =A0 =A0 =A0* configure: Regenerate. > > ld/ > 2009-11-09 =A0Jan Kratochvil =A0 > > =A0 =A0 =A0 =A0* configure.in: Call ACX_LARGEFILE. =A0Stop calling AC_SYS= _LARGEFILE. > =A0 =A0 =A0 =A0* aclocal.m4: Regenerate. > =A0 =A0 =A0 =A0* configure: Regenerate. > > gdb/ > 2009-11-09 =A0Jan Kratochvil =A0 > > =A0 =A0 =A0 =A0* configure.ac: Call ACX_LARGEFILE. > =A0 =A0 =A0 =A0* aclocal.m4: Regenerate. > =A0 =A0 =A0 =A0* configure: Regenerate. > =A0 =A0 =A0 =A0* config.in: Regenerate. > > --- a/config/largefile.m4 > +++ b/config/largefile.m4 > @@ -4,6 +4,12 @@ > =A0# of structures used to describe files. > > =A0AC_DEFUN([ACX_LARGEFILE],[dnl > + > +# As the $enable_largefile decision depends on --enable-plugins we must = set it > +# even in directories otherwise not depending on the $plugins option. > + > +AC_PLUGINS > + > =A0case "${host}" in > =A0changequote(,)dnl > =A0 sparc-*-solaris*|i[3-7]86-*-solaris*) > --- a/bfd/configure.in > +++ b/bfd/configure.in > @@ -25,7 +25,8 @@ AC_USE_SYSTEM_EXTENSIONS > > =A0LT_INIT([dlopen]) > > -AC_PLUGINS > +# AC_PLUGINS setting $plugins is called by ACX_LARGEFILE. > +ACX_LARGEFILE > > =A0AM_CONDITIONAL(PLUGINS, test "$plugins" =3D "yes") > > @@ -37,26 +38,6 @@ if test "$plugins" =3D "yes"; then > =A0 enable_targets=3D"$enable_targets plugin" > =A0fi > > -case "${target}" in > -changequote(,)dnl > - =A0sparc-*-solaris*|i[3-7]86-*-solaris*) > -changequote([,])dnl > - =A0 =A0# On native 32bit sparc and ia32 solaris, large-file and procfs = support > - =A0 =A0# are mutually exclusive; and without procfs support, the elf mo= dule > - =A0 =A0# cannot provide certain routines such as elfcore_write_prpsinfo > - =A0 =A0# or elfcore_write_prstatus. =A0So unless the user explicitly re= quested > - =A0 =A0# large-file support through the --enable-largefile switch, disa= ble > - =A0 =A0# large-file support in favor of procfs support. > - =A0 =A0if test "${target}" =3D "${host}" -a "$enable_largefile" !=3D 'y= es'; then > - =A0 =A0 =A0if test "$plugins" =3D "no"; then > - =A0 =A0 =A0 =A0enable_largefile=3D"no" > - =A0 =A0 =A0fi > - =A0 =A0fi > - =A0 =A0;; > -esac > - > -AC_SYS_LARGEFILE > - > =A0AC_ARG_ENABLE(64-bit-bfd, > =A0[ =A0--enable-64-bit-bfd =A0 =A0 64-bit support (on hosts with narrowe= r word sizes)], > =A0[case "${enableval}" in > --- a/binutils/configure.in > +++ b/binutils/configure.in > @@ -16,25 +16,7 @@ AC_PROG_CC > =A0AC_GNU_SOURCE > =A0AC_USE_SYSTEM_EXTENSIONS > > -AC_PLUGINS > - > -case "${target}" in > -changequote(,)dnl > - =A0sparc-*-solaris*|i[3-7]86-*-solaris*) > -changequote([,])dnl > - =A0 =A0# See comment in bfd/configure.in for the reason for this test. > - =A0 =A0# PR 9992/binutils: We have to duplicate the behaviour of bfd's > - =A0 =A0# configure script so that the utilities in this directory agree > - =A0 =A0# on the size of structures used to describe files. > - =A0 =A0if test "${target}" =3D "${host}" -a "$enable_largefile" !=3D 'y= es'; then > - =A0 =A0 =A0if test "$plugins" =3D "no"; then > - =A0 =A0 =A0 =A0enable_largefile=3D"no" > - =A0 =A0 =A0fi > - =A0 =A0fi > - =A0 =A0;; > -esac > - > -AC_SYS_LARGEFILE > +ACX_LARGEFILE > =A0LT_INIT > > =A0AC_ARG_ENABLE(targets, > --- a/gas/configure.in > +++ b/gas/configure.in > @@ -24,7 +24,7 @@ AM_INIT_AUTOMAKE(gas, ${BFD_VERSION}) > =A0AC_PROG_CC > =A0AC_GNU_SOURCE > =A0AC_USE_SYSTEM_EXTENSIONS > -AC_SYS_LARGEFILE > +ACX_LARGEFILE > > =A0LT_INIT > > --- a/gprof/configure.in > +++ b/gprof/configure.in > @@ -20,7 +20,7 @@ AC_CONFIG_HEADERS([gconfig.h:gconfig.in]) > =A0AC_PROG_CC > =A0AC_GNU_SOURCE > =A0AC_USE_SYSTEM_EXTENSIONS > -AC_SYS_LARGEFILE > +ACX_LARGEFILE > =A0AC_PROG_INSTALL > > =A0LT_INIT > --- a/ld/configure.in > +++ b/ld/configure.in > @@ -110,7 +110,7 @@ fi > =A0AC_PROG_CC > =A0AC_GNU_SOURCE > =A0AC_USE_SYSTEM_EXTENSIONS > -AC_SYS_LARGEFILE > +ACX_LARGEFILE > =A0AC_PROG_INSTALL > > =A0LT_INIT > --- a/gdb/configure.ac > +++ b/gdb/configure.ac > @@ -28,6 +28,7 @@ AM_MAINTAINER_MODE > =A0AC_PROG_CC > =A0AC_USE_SYSTEM_EXTENSIONS > =A0gl_EARLY > +ACX_LARGEFILE > =A0AM_PROG_CC_STDC > > =A0AC_CONFIG_AUX_DIR(..) > >