Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* About gmp and mpfr dependencies for gdb building
@ 2025-03-13  8:14 lijiang via Gdb
  2025-03-13  8:32 ` Iru Cai via Gdb
  2025-03-13 20:28 ` Tom Tromey
  0 siblings, 2 replies; 6+ messages in thread
From: lijiang via Gdb @ 2025-03-13  8:14 UTC (permalink / raw)
  To: gdb; +Cc: tom, Lianbo Jiang

Hi,

For the gmp and mpfr dependency libs, is it possible to provide an option
to enable/disable the gmp and mpfr instead of forcely enabling them when
building gdb?

Sometimes, we would like to cross compile the gdb in the crash-utility, but
we did not run into any issues before upgrading to gdb 16.2.

BTW: crash-utility used gdb-10.2 before upgrading to gdb-16.2

Any ideas or suggestions?


Thanks
Lianbo

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: About gmp and mpfr dependencies for gdb building
  2025-03-13  8:14 About gmp and mpfr dependencies for gdb building lijiang via Gdb
@ 2025-03-13  8:32 ` Iru Cai via Gdb
  2025-03-13 20:28 ` Tom Tromey
  1 sibling, 0 replies; 6+ messages in thread
From: Iru Cai via Gdb @ 2025-03-13  8:32 UTC (permalink / raw)
  To: gdb


On 3/13/25 16:14, lijiang via Gdb wrote:
> Hi,
>
> For the gmp and mpfr dependency libs, is it possible to provide an option
> to enable/disable the gmp and mpfr instead of forcely enabling them when
> building gdb?
>
> Sometimes, we would like to cross compile the gdb in the crash-utility, but
> we did not run into any issues before upgrading to gdb 16.2.
>
> BTW: crash-utility used gdb-10.2 before upgrading to gdb-16.2
>
> Any ideas or suggestions?
>
>
> Thanks
> Lianbo

Hi Lianbo,

It seems that gdb cannot be built without gmp and mpfr. You can download 
the gmp and mpfr tarball and unpack them to the binutils-gdb source 
tree, rename gmp-<version>, mpfr-<version> to gmp, mpfr, then building 
gdb will also build the bundled gmp and mpfr, just like the gcc build 
system.

Iru


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: About gmp and mpfr dependencies for gdb building
  2025-03-13  8:14 About gmp and mpfr dependencies for gdb building lijiang via Gdb
  2025-03-13  8:32 ` Iru Cai via Gdb
@ 2025-03-13 20:28 ` Tom Tromey
  2025-03-13 20:37   ` Andrew Pinski via Gdb
  1 sibling, 1 reply; 6+ messages in thread
From: Tom Tromey @ 2025-03-13 20:28 UTC (permalink / raw)
  To: lijiang; +Cc: gdb, tom

> For the gmp and mpfr dependency libs, is it possible to provide an
> option to enable/disable the gmp and mpfr instead of forcely enabling
> them when building gdb?

Not currently.

You could probably try to implement it.  One way might be to replace the
use of GMP with a custom wide-int implementation; or with (assuming
IIRC) the slower single-header GMP implementation.  Not sure about MPFR.

Probably use of wide-int in gdb is just going to grow due to 128-bit
ints becoming more common.

thanks,
Tom

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: About gmp and mpfr dependencies for gdb building
  2025-03-13 20:28 ` Tom Tromey
@ 2025-03-13 20:37   ` Andrew Pinski via Gdb
  2025-03-13 22:09     ` Tom Tromey
  0 siblings, 1 reply; 6+ messages in thread
From: Andrew Pinski via Gdb @ 2025-03-13 20:37 UTC (permalink / raw)
  To: Tom Tromey; +Cc: lijiang, gdb

On Thu, Mar 13, 2025 at 1:31 PM Tom Tromey <tom@tromey.com> wrote:
>
> > For the gmp and mpfr dependency libs, is it possible to provide an
> > option to enable/disable the gmp and mpfr instead of forcely enabling
> > them when building gdb?
>
> Not currently.
>
> You could probably try to implement it.  One way might be to replace the
> use of GMP with a custom wide-int implementation; or with (assuming
> IIRC) the slower single-header GMP implementation.  Not sure about MPFR.
>
> Probably use of wide-int in gdb is just going to grow due to 128-bit
> ints becoming more common.

Well and BitInt increases the wide-int even further past the 128bit
wide length too.
GCC has its own wide-int implementation which might be useful to pull
into GDB if needed. It is used for BitInt and wide integer too.

MPFR might be hard to replace for floating point types are hard to
emulate exactly.
GCC does have some code to do some but most of the folding (except for
simple things) are handled via MPFR also.

Thanks,
Andrew Pinski

>
> thanks,
> Tom

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: About gmp and mpfr dependencies for gdb building
  2025-03-13 20:37   ` Andrew Pinski via Gdb
@ 2025-03-13 22:09     ` Tom Tromey
  2025-03-17  8:29       ` lijiang via Gdb
  0 siblings, 1 reply; 6+ messages in thread
From: Tom Tromey @ 2025-03-13 22:09 UTC (permalink / raw)
  To: Andrew Pinski; +Cc: Tom Tromey, lijiang, gdb

Andrew> GCC has its own wide-int implementation which might be useful to pull
Andrew> into GDB if needed. It is used for BitInt and wide integer too.

FWIW I tried this once but it was a pain, and also the API seemed pretty
gross.  I don't remember the details though.

Tom

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: About gmp and mpfr dependencies for gdb building
  2025-03-13 22:09     ` Tom Tromey
@ 2025-03-17  8:29       ` lijiang via Gdb
  0 siblings, 0 replies; 6+ messages in thread
From: lijiang via Gdb @ 2025-03-17  8:29 UTC (permalink / raw)
  To: Tom Tromey; +Cc: Andrew Pinski, gdb

On Fri, Mar 14, 2025 at 6:09 AM Tom Tromey <tom@tromey.com> wrote:

> Andrew> GCC has its own wide-int implementation which might be useful to
> pull
> Andrew> into GDB if needed. It is used for BitInt and wide integer too.
>
> FWIW I tried this once but it was a pain, and also the API seemed pretty
> gross.  I don't remember the details though.
>

Thank you so much, Tom and Andrew.

I tried to cross compile the gmp and mpfr for the crash-utility, and
succeeded.

https://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.2.1.tar.bz2
https://gcc.gnu.org/pub/gcc/infrastructure/mpfr-4.1.0.tar.bz2

Looks like this is easier than implementing an option to enable/disable gmp
and mpfr. :-)

Thanks
Lianbo


>
> Tom
>
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2025-03-17  8:30 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-03-13  8:14 About gmp and mpfr dependencies for gdb building lijiang via Gdb
2025-03-13  8:32 ` Iru Cai via Gdb
2025-03-13 20:28 ` Tom Tromey
2025-03-13 20:37   ` Andrew Pinski via Gdb
2025-03-13 22:09     ` Tom Tromey
2025-03-17  8:29       ` lijiang via Gdb

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox