Re: [PATCHv2] Use toplevel configure for GMP and MPFR for gdb
Matthias Klose via Gcc-patches writes: > On 10.11.22 20:05, apinski--- via Binutils wrote: >> From: Andrew Pinski >> This patch uses the toplevel configure parts for GMP/MPFR for >> gdb. The only thing is that gdb now requires MPFR for building. >> Before it was a recommended but not required library. >> Also this allows building of GMP and MPFR with the toplevel >> directory just like how it is done for GCC. >> We now error out in the toplevel configure of the version >> of GMP and MPFR that is wrong. >> OK after GDB 13 branches? Build gdb 3 ways: >> with GMP and MPFR in the toplevel (static library used at that point for >> both) >> With only MPFR in the toplevel (GMP distro library used and MPFR built from >> source) >> With neither GMP and MPFR in the toplevel (distro libraries used) > > this still seems to be broken for a gdb trunk build, using GMP and MPFR system > libraries: > > linking gdb: > > [...] > ../gnulib/import/libgnu.a -Lyes/lib -lmpfr -lgmp -lsource-highlight > -lboost_regex -lxxhash -ldebuginfod -ldl > -Wl,--dynamic-list=/<>/gdb/proc-service.list > ./libtool: line 5209: cd: yes/lib: No such file or directory > libtool: link: cannot determine absolute directory name of `yes/lib' > make[3]: *** [Makefile:2174: gdb] Error 1 > make[3]: Leaving directory '/<>/build/default/gdb' > > full build log at > https://launchpad.net/~doko/+archive/ubuntu/toolchain/+sourcepub/15065515/+listing-archive-extra > > > the toplevel config.log has: > > configure:8183: checking for the correct version of gmp.h > configure:8202: x86_64-linux-gnu-gcc -c -Iyes/include -fPIC conftest.c >&5 > configure:8202: $? = 0 > configure:8220: x86_64-linux-gnu-gcc -c -Iyes/include -fPIC conftest.c >&5 > configure:8220: $? = 0 > configure:8221: result: yes > configure:8237: checking for the correct version of mpfr.h > configure:8255: x86_64-linux-gnu-gcc -c -Iyes/include -fPIC conftest.c >&5 > configure:8255: $? = 0 > configure:8272: x86_64-linux-gnu-gcc -c -Iyes/include -fPIC conftest.c >&5 > configure:8272: $? = 0 > configure:8273: result: yes > configure:8342: checking for the correct version of the gmp/mpfr libraries > configure:8366: x86_64-linux-gnu-gcc -o conftest -Iyes/include -fPIC > conftest.c -Lyes/lib -lmpfr -lgmp >&5 > configure:8366: $? = 0 > configure:8367: result: yes > configure:8615: checking for isl 0.15 or later > configure:8628: x86_64-linux-gnu-gcc -o conftest -Iyes/include -fPIC > -lisl > -Lyes/lib -lmpfr -lgmp conftest.c -lisl -lgmp >&5 > configure:8628: $? = 0 Seems that you're passing simply --with-mpfr, however: AC_ARG_WITH(mpfr, [AS_HELP_STRING([--with-mpfr=PATH], [specify prefix directory for installed MPFR package. Equivalent to --with-mpfr-include=PATH/include plus --with-mpfr-lib=PATH/lib])]) ... so it is interpreted to mean that the prefix MPFR is installed in is yes/include (perhaps we should warn for the 'yes' case - that'd be less confusing). I think you should be able to get away without passing --with-mpfr at all if your toolchain has mpfr available (and there's no mpfr in the toplevel, to inhibit the toplevel trying to build its own copy). Hope that helps, have a lovely night. -- Arsen Arsenović signature.asc Description: PGP signature
Re: [PATCHv2] Use toplevel configure for GMP and MPFR for gdb
On 10.11.22 20:05, apinski--- via Binutils wrote: From: Andrew Pinski This patch uses the toplevel configure parts for GMP/MPFR for gdb. The only thing is that gdb now requires MPFR for building. Before it was a recommended but not required library. Also this allows building of GMP and MPFR with the toplevel directory just like how it is done for GCC. We now error out in the toplevel configure of the version of GMP and MPFR that is wrong. OK after GDB 13 branches? Build gdb 3 ways: with GMP and MPFR in the toplevel (static library used at that point for both) With only MPFR in the toplevel (GMP distro library used and MPFR built from source) With neither GMP and MPFR in the toplevel (distro libraries used) this still seems to be broken for a gdb trunk build, using GMP and MPFR system libraries: linking gdb: [...] ../gnulib/import/libgnu.a -Lyes/lib -lmpfr -lgmp -lsource-highlight -lboost_regex -lxxhash -ldebuginfod -ldl -Wl,--dynamic-list=/<>/gdb/proc-service.list ./libtool: line 5209: cd: yes/lib: No such file or directory libtool: link: cannot determine absolute directory name of `yes/lib' make[3]: *** [Makefile:2174: gdb] Error 1 make[3]: Leaving directory '/<>/build/default/gdb' full build log at https://launchpad.net/~doko/+archive/ubuntu/toolchain/+sourcepub/15065515/+listing-archive-extra the toplevel config.log has: configure:8183: checking for the correct version of gmp.h configure:8202: x86_64-linux-gnu-gcc -c -Iyes/include -fPIC conftest.c >&5 configure:8202: $? = 0 configure:8220: x86_64-linux-gnu-gcc -c -Iyes/include -fPIC conftest.c >&5 configure:8220: $? = 0 configure:8221: result: yes configure:8237: checking for the correct version of mpfr.h configure:8255: x86_64-linux-gnu-gcc -c -Iyes/include -fPIC conftest.c >&5 configure:8255: $? = 0 configure:8272: x86_64-linux-gnu-gcc -c -Iyes/include -fPIC conftest.c >&5 configure:8272: $? = 0 configure:8273: result: yes configure:8342: checking for the correct version of the gmp/mpfr libraries configure:8366: x86_64-linux-gnu-gcc -o conftest -Iyes/include -fPIC conftest.c -Lyes/lib -lmpfr -lgmp >&5 configure:8366: $? = 0 configure:8367: result: yes configure:8615: checking for isl 0.15 or later configure:8628: x86_64-linux-gnu-gcc -o conftest -Iyes/include -fPIC -lisl -Lyes/lib -lmpfr -lgmp conftest.c -lisl -lgmp >&5 configure:8628: $? = 0
Re: [PATCHv2] Use toplevel configure for GMP and MPFR for gdb
>> I think it's fine to move forward with this now. >> Thank you again for doing this. Andrew> Just to double check this is an approval? Yes, sorry for being unclear. Tom
Re: [PATCHv2] Use toplevel configure for GMP and MPFR for gdb
On 12/20/22 20:45, Andrew Pinski wrote: On Tue, Dec 20, 2022 at 10:59 AM Tom Tromey wrote: "Andrew" == apinski--- via Gdb-patches writes: Andrew> From: Andrew Pinski Andrew> This patch uses the toplevel configure parts for GMP/MPFR for Andrew> gdb. The only thing is that gdb now requires MPFR for building. Andrew> Before it was a recommended but not required library. Andrew> Also this allows building of GMP and MPFR with the toplevel Andrew> directory just like how it is done for GCC. Andrew> We now error out in the toplevel configure of the version Andrew> of GMP and MPFR that is wrong. Andrew> OK after GDB 13 branches? Build gdb 3 ways: Andrew> with GMP and MPFR in the toplevel (static library used at that point for both) Andrew> With only MPFR in the toplevel (GMP distro library used and MPFR built from source) Andrew> With neither GMP and MPFR in the toplevel (distro libraries used) I think it's fine to move forward with this now. Thank you again for doing this. Just to double check this is an approval? Jeff, Just to double check this is still ok for gcc repo even if we are in stage 3? Yea, it was submitted prior to stage1 closing and approved for GCC once the GDB folks signed off. jeff
Re: [PATCHv2] Use toplevel configure for GMP and MPFR for gdb
On Tue, Dec 20, 2022 at 10:59 AM Tom Tromey wrote: > > > "Andrew" == apinski--- via Gdb-patches > > writes: > > Andrew> From: Andrew Pinski > Andrew> This patch uses the toplevel configure parts for GMP/MPFR for > Andrew> gdb. The only thing is that gdb now requires MPFR for building. > Andrew> Before it was a recommended but not required library. > Andrew> Also this allows building of GMP and MPFR with the toplevel > Andrew> directory just like how it is done for GCC. > Andrew> We now error out in the toplevel configure of the version > Andrew> of GMP and MPFR that is wrong. > > Andrew> OK after GDB 13 branches? Build gdb 3 ways: > Andrew> with GMP and MPFR in the toplevel (static library used at that point > for both) > Andrew> With only MPFR in the toplevel (GMP distro library used and MPFR > built from source) > Andrew> With neither GMP and MPFR in the toplevel (distro libraries used) > > I think it's fine to move forward with this now. > Thank you again for doing this. Just to double check this is an approval? Jeff, Just to double check this is still ok for gcc repo even if we are in stage 3? Thanks, Andrew Pinski > > Tom
Re: [PATCHv2] Use toplevel configure for GMP and MPFR for gdb
> "Andrew" == apinski--- via Gdb-patches > writes: Andrew> From: Andrew Pinski Andrew> This patch uses the toplevel configure parts for GMP/MPFR for Andrew> gdb. The only thing is that gdb now requires MPFR for building. Andrew> Before it was a recommended but not required library. Andrew> Also this allows building of GMP and MPFR with the toplevel Andrew> directory just like how it is done for GCC. Andrew> We now error out in the toplevel configure of the version Andrew> of GMP and MPFR that is wrong. Andrew> OK after GDB 13 branches? Build gdb 3 ways: Andrew> with GMP and MPFR in the toplevel (static library used at that point for both) Andrew> With only MPFR in the toplevel (GMP distro library used and MPFR built from source) Andrew> With neither GMP and MPFR in the toplevel (distro libraries used) I think it's fine to move forward with this now. Thank you again for doing this. Tom
Re: [PATCHv2] Use toplevel configure for GMP and MPFR for gdb
On 11/16/22 09:01, Tom Tromey wrote: "Jeff" == Jeff Law via Gcc-patches writes: This patch uses the toplevel configure parts for GMP/MPFR for gdb. Jeff> If the GDB folks confirm they want this behavior, then the toplevel Jeff> bits are fine. I think we do, but my inclination is to wait until after GDB 13 branches. CCing Joel to see what he thinks, as he handles the releases. I think I may have cut too much context. At some point I know I saw a note that it wouldn't be installed until after gdb-13 releases/branches. jeff
Re: [PATCHv2] Use toplevel configure for GMP and MPFR for gdb
> "Jeff" == Jeff Law via Gcc-patches writes: >> This patch uses the toplevel configure parts for GMP/MPFR for >> gdb. Jeff> If the GDB folks confirm they want this behavior, then the toplevel Jeff> bits are fine. I think we do, but my inclination is to wait until after GDB 13 branches. CCing Joel to see what he thinks, as he handles the releases. Tom
Re: [PATCHv2] Use toplevel configure for GMP and MPFR for gdb
On 11/10/22 12:05, apinski--- via Gcc-patches wrote: From: Andrew Pinski This patch uses the toplevel configure parts for GMP/MPFR for gdb. The only thing is that gdb now requires MPFR for building. Before it was a recommended but not required library. Also this allows building of GMP and MPFR with the toplevel directory just like how it is done for GCC. We now error out in the toplevel configure of the version of GMP and MPFR that is wrong. OK after GDB 13 branches? Build gdb 3 ways: with GMP and MPFR in the toplevel (static library used at that point for both) With only MPFR in the toplevel (GMP distro library used and MPFR built from source) With neither GMP and MPFR in the toplevel (distro libraries used) Changes from v1: * Updated gdb/README and gdb/doc/gdb.texinfo. * Regenerated using unmodified autoconf-2.69 Thanks, Andrew Pinski ChangeLog: * Makefile.def: Add configure-gdb dependencies on all-gmp and all-mpfr. * configure.ac: Split out MPC checking from MPFR. Require GMP and MPFR if the gdb directory exist. * Makefile.in: Regenerate. * configure: Regenerate. gdb/ChangeLog: PR bug/28500 * configure.ac: Remove AC_LIB_HAVE_LINKFLAGS for gmp and mpfr. Use GMPLIBS and GMPINC which is provided by the toplevel configure. * Makefile.in (LIBGMP, LIBMPFR): Remove. (GMPLIBS, GMPINC): Add definition. (INTERNAL_CFLAGS_BASE): Add GMPINC. (CLIBS): Exchange LIBMPFR and LIBGMP for GMPLIBS. * target-float.c: Make the code conditional on HAVE_LIBMPFR unconditional. * top.c: Remove code checking HAVE_LIBMPFR. * configure: Regenerate. * config.in: Regenerate. * README: Update GMP/MPFR section of the config options. * doc/gdb.texinfo: Likewise. If the GDB folks confirm they want this behavior, then the toplevel bits are fine. Jeff