From: Walfred Tedeschi Date: Fri, 12 Jun 2015 07:42:16 +0000 (+0200) Subject: Fix broken GDB build after adding Bound table support for i386. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=966f0aefa6a96df2c45ec36a7ecc02419e3842db;p=binutils-gdb.git Fix broken GDB build after adding Bound table support for i386. Types used for some variables could not be used for 32 bits, causing a compilation failure. This patch adds a cast to force a quite compilation, but at the same time it bails out in the case that the cast performed is not safe, i.e. in the case where the debuggee is 64bit and debugger is 32bit. Documentation was also affected, once a different version of texinfo the docs could not be build. 2015-06-10 Walfred Tedeschi * i386-tdep.c (i386_mpx_get_bt_entry): Add a cast for mpx_bd_mask and bt_mask to CORE_ADDR. doc: * gdb.textinfo (i386): Fix "@end table" end and "@table" placement. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9075fcc87d9..c5730cc4b8a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2015-06-10 Walfred Tedeschi + + * i386-tdep.c (i386_mpx_get_bt_entry): Add a cast for mpx_bd_mask + and bt_mask to CORE_ADDR. + 2015-06-11 Gary Benson * nat/linux-namespaces.c (mnsh_send_message): Use pulongest. diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 9264cfa3314..71f45087357 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,8 @@ +2015-06-10 Walfred Tedeschi + + * gdb.textinfo (i386): Fix "@end table" end and "@table" placement. + + 2015-06-10 Gary Benson * gdb.texinfo (Remote Configuration): Document the diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index f5021436140..65c9d4fee4b 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -22131,6 +22131,7 @@ be returned in a register. @kindex show struct-convention Show the current setting of the convention to return @code{struct}s from functions. +@end table @subsubsection Intel(R) @dfn{Memory Protection Extensions} (MPX). @@ -22172,6 +22173,7 @@ the bounds pointer's value along with its bounds. Evaluating and changing bounds located in bound tables is therefore interesting while investigating bugs on MPX context. @value{GDBN} provides commands for this purpose: +@table @code @item show mpx bound @var{pointer} @kindex show mpx bound Display bounds of the given @var{pointer}. diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c index 133021fe4fa..42d0346bfba 100644 --- a/gdb/i386-tdep.c +++ b/gdb/i386-tdep.c @@ -8678,12 +8678,15 @@ i386_mpx_get_bt_entry (CORE_ADDR ptr, CORE_ADDR bd_base) if (gdbarch_ptr_bit (gdbarch) == 64) { - mpx_bd_mask = MPX_BD_MASK; + mpx_bd_mask = (CORE_ADDR) MPX_BD_MASK; bd_ptr_r_shift = 20; bd_ptr_l_shift = 3; bt_select_r_shift = 3; bt_select_l_shift = 5; - bt_mask = MPX_BT_MASK; + bt_mask = (CORE_ADDR) MPX_BT_MASK; + + if ( sizeof (CORE_ADDR) == 4) + error (_("operation not supported")); } else {