gdb: Force use of float version of log10

This commit:

  commit aa17805fb9
  Date:   Sat Aug 31 23:44:40 2019 +0100

      gdb: Have 'maint info sections' print all sections again

introduced a use of log10 that took an int as a parameter.
Unfortunately this was causing a compilation error on Solaris, see:

  https://sourceware.org/ml/gdb-patches/2019-09/msg00230.html
  https://sourceware.org/ml/gdb-patches/2019-09/msg00231.html

because there was only a float, double, or long double version of
log10, and the compiler doesn't know which to choose.

This commit should resolve this issue by casting the argument to
float.

gdb/ChangeLog:

	* maint.c (maint_print_section_data::maint_print_section_data):
	Force use of 'float log10 (float)' by casting the argument to
	float.
This commit is contained in:
Andrew Burgess 2019-09-12 21:23:37 -04:00
parent 5fabdcd680
commit ec6c8338a8
2 changed files with 7 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2019-09-12 Andrew Burgess <andrew.burgess@embecosm.com>
* maint.c (maint_print_section_data::maint_print_section_data):
Force use of 'float log10 (float)' by casting the argument to
float.
2019-09-12 Andrew Burgess <andrew.burgess@embecosm.com>
* maint.c: Add 'cmath' include.

View File

@ -301,7 +301,7 @@ struct maint_print_section_data
arg(arg)
{
int section_count = gdb_bfd_count_sections (abfd);
index_digits = ((int) log10 (section_count)) + 1;
index_digits = ((int) log10 ((float) section_count)) + 1;
}
private: