* [patch] Unify AC_SYS_LARGEFILE exception across dirs (+GDB new largefile support)
@ 2009-11-09 14:10 Jan Kratochvil
2009-11-09 15:38 ` Tom Tromey
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Jan Kratochvil @ 2009-11-09 14:10 UTC (permalink / raw)
To: binutils, gdb-patches; +Cc: Joel Brobecker, Paolo Bonzini
Hi,
there is AC_SYS_LARGEFILE present in some */configure.{ac,in} files,
its import history is listed at:
[patch, configures] Unify AC_SYS_LARGEFILE exception across dirs
http://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:
Re: [patch, configures] Unify AC_SYS_LARGEFILE exception across dirs
http://gcc.gnu.org/ml/gcc-patches/2009-11/msg00353.html
http://gcc.gnu.org/ml/gcc-cvs/2009-11/msg00206.html
There is a bug in this (currently unused) config/largefile.m4 as it depends on
${plugins} which is never set there. One would have to always call AC_PLUGINS
beforehand. Therefore config/largefile.m4 should call AC_PLUGINS itself.
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 here.
At least bfd_stat() has such dependency.
libiberty/ has no largefile-lreated ABI differences in its interface so it is
not patched. It already has AC_SYS_LARGEFILE but with no exceptions.
Discussed at:
[patch, configures] Unify AC_SYS_LARGEFILE exception across dirs
http://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()), patched.
gdb/ patched with new largefile support as this patch is a blocker for fix of
a regression of mine:
http://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:
http://people.redhat.com/jkratoch/largefile/acx-largefile-generated.patch
Thanks,
Jan
config/
2009-11-09 Jan Kratochvil <jan.kratochvil@redhat.com>
* largefile.m4 (ACX_LARGEFILE): Call AC_PLUGINS.
bfd/
2009-11-09 Jan Kratochvil <jan.kratochvil@redhat.com>
* configure.in: Call ACX_LARGEFILE. Stop calling AC_PLUGINS,
AC_SYS_LARGEFILE and checking the Solaris largefile exception.
* aclocal.m4: Regenerate.
* configure: Regenerate.
binutils/
2009-11-09 Jan Kratochvil <jan.kratochvil@redhat.com>
* configure.in: Call ACX_LARGEFILE. Stop calling AC_PLUGINS,
AC_SYS_LARGEFILE and checking the Solaris largefile exception.
* aclocal.m4: Regenerate.
* configure: Regenerate.
gas/
2009-11-09 Jan Kratochvil <jan.kratochvil@redhat.com>
* configure.in: Call ACX_LARGEFILE. Stop calling AC_SYS_LARGEFILE.
* aclocal.m4: Regenerate.
* configure: Regenerate.
gprof/
2009-11-09 Jan Kratochvil <jan.kratochvil@redhat.com>
* configure.in: Call ACX_LARGEFILE. Stop calling AC_SYS_LARGEFILE.
* aclocal.m4: Regenerate.
* configure: Regenerate.
ld/
2009-11-09 Jan Kratochvil <jan.kratochvil@redhat.com>
* configure.in: Call ACX_LARGEFILE. Stop calling AC_SYS_LARGEFILE.
* aclocal.m4: Regenerate.
* configure: Regenerate.
gdb/
2009-11-09 Jan Kratochvil <jan.kratochvil@redhat.com>
* configure.ac: Call ACX_LARGEFILE.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* config.in: Regenerate.
--- a/config/largefile.m4
+++ b/config/largefile.m4
@@ -4,6 +4,12 @@
# of structures used to describe files.
AC_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
+
case "${host}" in
changequote(,)dnl
sparc-*-solaris*|i[3-7]86-*-solaris*)
--- a/bfd/configure.in
+++ b/bfd/configure.in
@@ -25,7 +25,8 @@ AC_USE_SYSTEM_EXTENSIONS
LT_INIT([dlopen])
-AC_PLUGINS
+# AC_PLUGINS setting $plugins is called by ACX_LARGEFILE.
+ACX_LARGEFILE
AM_CONDITIONAL(PLUGINS, test "$plugins" = "yes")
@@ -37,26 +38,6 @@ if test "$plugins" = "yes"; then
enable_targets="$enable_targets plugin"
fi
-case "${target}" in
-changequote(,)dnl
- sparc-*-solaris*|i[3-7]86-*-solaris*)
-changequote([,])dnl
- # On native 32bit sparc and ia32 solaris, large-file and procfs support
- # are mutually exclusive; and without procfs support, the elf module
- # cannot provide certain routines such as elfcore_write_prpsinfo
- # or elfcore_write_prstatus. So unless the user explicitly requested
- # large-file support through the --enable-largefile switch, disable
- # large-file support in favor of procfs support.
- if test "${target}" = "${host}" -a "$enable_largefile" != 'yes'; then
- if test "$plugins" = "no"; then
- enable_largefile="no"
- fi
- fi
- ;;
-esac
-
-AC_SYS_LARGEFILE
-
AC_ARG_ENABLE(64-bit-bfd,
[ --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)],
[case "${enableval}" in
--- a/binutils/configure.in
+++ b/binutils/configure.in
@@ -16,25 +16,7 @@ AC_PROG_CC
AC_GNU_SOURCE
AC_USE_SYSTEM_EXTENSIONS
-AC_PLUGINS
-
-case "${target}" in
-changequote(,)dnl
- sparc-*-solaris*|i[3-7]86-*-solaris*)
-changequote([,])dnl
- # See comment in bfd/configure.in for the reason for this test.
- # PR 9992/binutils: We have to duplicate the behaviour of bfd's
- # configure script so that the utilities in this directory agree
- # on the size of structures used to describe files.
- if test "${target}" = "${host}" -a "$enable_largefile" != 'yes'; then
- if test "$plugins" = "no"; then
- enable_largefile="no"
- fi
- fi
- ;;
-esac
-
-AC_SYS_LARGEFILE
+ACX_LARGEFILE
LT_INIT
AC_ARG_ENABLE(targets,
--- a/gas/configure.in
+++ b/gas/configure.in
@@ -24,7 +24,7 @@ AM_INIT_AUTOMAKE(gas, ${BFD_VERSION})
AC_PROG_CC
AC_GNU_SOURCE
AC_USE_SYSTEM_EXTENSIONS
-AC_SYS_LARGEFILE
+ACX_LARGEFILE
LT_INIT
--- a/gprof/configure.in
+++ b/gprof/configure.in
@@ -20,7 +20,7 @@ AC_CONFIG_HEADERS([gconfig.h:gconfig.in])
AC_PROG_CC
AC_GNU_SOURCE
AC_USE_SYSTEM_EXTENSIONS
-AC_SYS_LARGEFILE
+ACX_LARGEFILE
AC_PROG_INSTALL
LT_INIT
--- a/ld/configure.in
+++ b/ld/configure.in
@@ -110,7 +110,7 @@ fi
AC_PROG_CC
AC_GNU_SOURCE
AC_USE_SYSTEM_EXTENSIONS
-AC_SYS_LARGEFILE
+ACX_LARGEFILE
AC_PROG_INSTALL
LT_INIT
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -28,6 +28,7 @@ AM_MAINTAINER_MODE
AC_PROG_CC
AC_USE_SYSTEM_EXTENSIONS
gl_EARLY
+ACX_LARGEFILE
AM_PROG_CC_STDC
AC_CONFIG_AUX_DIR(..)
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [patch] Unify AC_SYS_LARGEFILE exception across dirs (+GDB new largefile support)
2009-11-09 14:10 [patch] Unify AC_SYS_LARGEFILE exception across dirs (+GDB new largefile support) Jan Kratochvil
@ 2009-11-09 15:38 ` Tom Tromey
2009-11-09 19:07 ` Paolo Bonzini
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Tom Tromey @ 2009-11-09 15:38 UTC (permalink / raw)
To: Jan Kratochvil; +Cc: binutils, gdb-patches, Joel Brobecker, Paolo Bonzini
>>>>> "Jan" == Jan Kratochvil <jan.kratochvil@redhat.com> writes:
Jan> there is AC_SYS_LARGEFILE present in some */configure.{ac,in} files,
Jan> its import history is listed at:
The gdb part is ok.
Tom
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [patch] Unify AC_SYS_LARGEFILE exception across dirs (+GDB new largefile support)
2009-11-09 14:10 [patch] Unify AC_SYS_LARGEFILE exception across dirs (+GDB new largefile support) Jan Kratochvil
2009-11-09 15:38 ` Tom Tromey
@ 2009-11-09 19:07 ` Paolo Bonzini
2009-11-09 22:36 ` Alan Modra
2009-11-11 4:48 ` Jan Kratochvil
3 siblings, 0 replies; 5+ messages in thread
From: Paolo Bonzini @ 2009-11-09 19:07 UTC (permalink / raw)
To: Jan Kratochvil; +Cc: binutils, gdb-patches, Joel Brobecker
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 <jan.kratochvil@redhat.com> wrote:
> Hi,
>
> there is AC_SYS_LARGEFILE present in some */configure.{ac,in} files,
> its import history is listed at:
> [patch, configures] Unify AC_SYS_LARGEFILE exception across dirs
> http://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:
> Re: [patch, configures] Unify AC_SYS_LARGEFILE exception across dirs
> http://gcc.gnu.org/ml/gcc-patches/2009-11/msg00353.html
> http://gcc.gnu.org/ml/gcc-cvs/2009-11/msg00206.html
>
> There is a bug in this (currently unused) config/largefile.m4 as it depends on
> ${plugins} which is never set there. One would have to always call AC_PLUGINS
> beforehand. Therefore config/largefile.m4 should call AC_PLUGINS itself.
> 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 here.
> At least bfd_stat() has such dependency.
>
> libiberty/ has no largefile-lreated ABI differences in its interface so it is
> not patched. It already has AC_SYS_LARGEFILE but with no exceptions.
> Discussed at:
> [patch, configures] Unify AC_SYS_LARGEFILE exception across dirs
> http://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()), patched.
>
> gdb/ patched with new largefile support as this patch is a blocker for fix of
> a regression of mine:
> http://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:
> http://people.redhat.com/jkratoch/largefile/acx-largefile-generated.patch
>
>
> Thanks,
> Jan
>
>
> config/
> 2009-11-09 Jan Kratochvil <jan.kratochvil@redhat.com>
>
> * largefile.m4 (ACX_LARGEFILE): Call AC_PLUGINS.
>
> bfd/
> 2009-11-09 Jan Kratochvil <jan.kratochvil@redhat.com>
>
> * configure.in: Call ACX_LARGEFILE. Stop calling AC_PLUGINS,
> AC_SYS_LARGEFILE and checking the Solaris largefile exception.
> * aclocal.m4: Regenerate.
> * configure: Regenerate.
>
> binutils/
> 2009-11-09 Jan Kratochvil <jan.kratochvil@redhat.com>
>
> * configure.in: Call ACX_LARGEFILE. Stop calling AC_PLUGINS,
> AC_SYS_LARGEFILE and checking the Solaris largefile exception.
> * aclocal.m4: Regenerate.
> * configure: Regenerate.
>
> gas/
> 2009-11-09 Jan Kratochvil <jan.kratochvil@redhat.com>
>
> * configure.in: Call ACX_LARGEFILE. Stop calling AC_SYS_LARGEFILE.
> * aclocal.m4: Regenerate.
> * configure: Regenerate.
>
> gprof/
> 2009-11-09 Jan Kratochvil <jan.kratochvil@redhat.com>
>
> * configure.in: Call ACX_LARGEFILE. Stop calling AC_SYS_LARGEFILE.
> * aclocal.m4: Regenerate.
> * configure: Regenerate.
>
> ld/
> 2009-11-09 Jan Kratochvil <jan.kratochvil@redhat.com>
>
> * configure.in: Call ACX_LARGEFILE. Stop calling AC_SYS_LARGEFILE.
> * aclocal.m4: Regenerate.
> * configure: Regenerate.
>
> gdb/
> 2009-11-09 Jan Kratochvil <jan.kratochvil@redhat.com>
>
> * configure.ac: Call ACX_LARGEFILE.
> * aclocal.m4: Regenerate.
> * configure: Regenerate.
> * config.in: Regenerate.
>
> --- a/config/largefile.m4
> +++ b/config/largefile.m4
> @@ -4,6 +4,12 @@
> # of structures used to describe files.
>
> AC_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
> +
> case "${host}" in
> changequote(,)dnl
> sparc-*-solaris*|i[3-7]86-*-solaris*)
> --- a/bfd/configure.in
> +++ b/bfd/configure.in
> @@ -25,7 +25,8 @@ AC_USE_SYSTEM_EXTENSIONS
>
> LT_INIT([dlopen])
>
> -AC_PLUGINS
> +# AC_PLUGINS setting $plugins is called by ACX_LARGEFILE.
> +ACX_LARGEFILE
>
> AM_CONDITIONAL(PLUGINS, test "$plugins" = "yes")
>
> @@ -37,26 +38,6 @@ if test "$plugins" = "yes"; then
> enable_targets="$enable_targets plugin"
> fi
>
> -case "${target}" in
> -changequote(,)dnl
> - sparc-*-solaris*|i[3-7]86-*-solaris*)
> -changequote([,])dnl
> - # On native 32bit sparc and ia32 solaris, large-file and procfs support
> - # are mutually exclusive; and without procfs support, the elf module
> - # cannot provide certain routines such as elfcore_write_prpsinfo
> - # or elfcore_write_prstatus. So unless the user explicitly requested
> - # large-file support through the --enable-largefile switch, disable
> - # large-file support in favor of procfs support.
> - if test "${target}" = "${host}" -a "$enable_largefile" != 'yes'; then
> - if test "$plugins" = "no"; then
> - enable_largefile="no"
> - fi
> - fi
> - ;;
> -esac
> -
> -AC_SYS_LARGEFILE
> -
> AC_ARG_ENABLE(64-bit-bfd,
> [ --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)],
> [case "${enableval}" in
> --- a/binutils/configure.in
> +++ b/binutils/configure.in
> @@ -16,25 +16,7 @@ AC_PROG_CC
> AC_GNU_SOURCE
> AC_USE_SYSTEM_EXTENSIONS
>
> -AC_PLUGINS
> -
> -case "${target}" in
> -changequote(,)dnl
> - sparc-*-solaris*|i[3-7]86-*-solaris*)
> -changequote([,])dnl
> - # See comment in bfd/configure.in for the reason for this test.
> - # PR 9992/binutils: We have to duplicate the behaviour of bfd's
> - # configure script so that the utilities in this directory agree
> - # on the size of structures used to describe files.
> - if test "${target}" = "${host}" -a "$enable_largefile" != 'yes'; then
> - if test "$plugins" = "no"; then
> - enable_largefile="no"
> - fi
> - fi
> - ;;
> -esac
> -
> -AC_SYS_LARGEFILE
> +ACX_LARGEFILE
> LT_INIT
>
> AC_ARG_ENABLE(targets,
> --- a/gas/configure.in
> +++ b/gas/configure.in
> @@ -24,7 +24,7 @@ AM_INIT_AUTOMAKE(gas, ${BFD_VERSION})
> AC_PROG_CC
> AC_GNU_SOURCE
> AC_USE_SYSTEM_EXTENSIONS
> -AC_SYS_LARGEFILE
> +ACX_LARGEFILE
>
> LT_INIT
>
> --- a/gprof/configure.in
> +++ b/gprof/configure.in
> @@ -20,7 +20,7 @@ AC_CONFIG_HEADERS([gconfig.h:gconfig.in])
> AC_PROG_CC
> AC_GNU_SOURCE
> AC_USE_SYSTEM_EXTENSIONS
> -AC_SYS_LARGEFILE
> +ACX_LARGEFILE
> AC_PROG_INSTALL
>
> LT_INIT
> --- a/ld/configure.in
> +++ b/ld/configure.in
> @@ -110,7 +110,7 @@ fi
> AC_PROG_CC
> AC_GNU_SOURCE
> AC_USE_SYSTEM_EXTENSIONS
> -AC_SYS_LARGEFILE
> +ACX_LARGEFILE
> AC_PROG_INSTALL
>
> LT_INIT
> --- a/gdb/configure.ac
> +++ b/gdb/configure.ac
> @@ -28,6 +28,7 @@ AM_MAINTAINER_MODE
> AC_PROG_CC
> AC_USE_SYSTEM_EXTENSIONS
> gl_EARLY
> +ACX_LARGEFILE
> AM_PROG_CC_STDC
>
> AC_CONFIG_AUX_DIR(..)
>
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [patch] Unify AC_SYS_LARGEFILE exception across dirs (+GDB new largefile support)
2009-11-09 14:10 [patch] Unify AC_SYS_LARGEFILE exception across dirs (+GDB new largefile support) Jan Kratochvil
2009-11-09 15:38 ` Tom Tromey
2009-11-09 19:07 ` Paolo Bonzini
@ 2009-11-09 22:36 ` Alan Modra
2009-11-11 4:48 ` Jan Kratochvil
3 siblings, 0 replies; 5+ messages in thread
From: Alan Modra @ 2009-11-09 22:36 UTC (permalink / raw)
To: Jan Kratochvil; +Cc: binutils, gdb-patches, Joel Brobecker, Paolo Bonzini
The binutils parts are OK too.
--
Alan Modra
Australia Development Lab, IBM
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [patch] Unify AC_SYS_LARGEFILE exception across dirs (+GDB new largefile support)
2009-11-09 14:10 [patch] Unify AC_SYS_LARGEFILE exception across dirs (+GDB new largefile support) Jan Kratochvil
` (2 preceding siblings ...)
2009-11-09 22:36 ` Alan Modra
@ 2009-11-11 4:48 ` Jan Kratochvil
3 siblings, 0 replies; 5+ messages in thread
From: Jan Kratochvil @ 2009-11-11 4:48 UTC (permalink / raw)
To: gdb-patches; +Cc: Joel Brobecker, Paolo Bonzini
On Mon, 09 Nov 2009 15:10:00 +0100, Jan Kratochvil wrote:
> gdb/
> 2009-11-09 Jan Kratochvil <jan.kratochvil@redhat.com>
>
> * configure.ac: Call ACX_LARGEFILE.
> * aclocal.m4: Regenerate.
> * configure: Regenerate.
> * config.in: Regenerate.
Checked-in:
http://sourceware.org/ml/gdb-cvs/2009-11/msg00079.html
aclocal.m4 was patched instead of regenerated, there is some missing
lead-dot.m4 etc. to clean up later.
gdb/
* configure.ac: Call ACX_LARGEFILE.
* aclocal.m4: Call m4_include for ../config/largefile.m4 and
../config/plugins.m4.
* configure: Regenerate.
* config.in: Regenerate.
Thanks,
Jan
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2009-11-11 4:48 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-11-09 14:10 [patch] Unify AC_SYS_LARGEFILE exception across dirs (+GDB new largefile support) Jan Kratochvil
2009-11-09 15:38 ` Tom Tromey
2009-11-09 19:07 ` Paolo Bonzini
2009-11-09 22:36 ` Alan Modra
2009-11-11 4:48 ` Jan Kratochvil
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox