Re: [PATCHv2] Use toplevel configure for GMP and MPFR for gdb

2023-08-10 Thread Arsen Arsenović via Gcc-patches

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

2023-08-10 Thread Matthias Klose via Gcc-patches

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

2022-12-21 Thread Tom Tromey
>> 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

2022-12-21 Thread Jeff Law via Gcc-patches




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

2022-12-20 Thread Andrew Pinski via Gcc-patches
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

2022-12-20 Thread Tom Tromey
> "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

2022-11-16 Thread Jeff Law via Gcc-patches



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

2022-11-16 Thread Tom Tromey
> "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

2022-11-15 Thread Jeff Law via Gcc-patches



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