[patch] [python] PR python/15461 (gate architecture calls)

Tom Tromey tromey@redhat.com
Wed Aug 28 14:52:00 GMT 2013


>>>>> "Phil" == Phil Muldoon <pmuldoon@redhat.com> writes:

Phil> This patch gates calls to architecture.name and
Phil> architecture.disassemble.  If the underlying GDB architecture is NULL,
Phil> calls to those Python functions will result in an assert call.

Thanks.

Phil> +/* Require a valid Architecture.  */
Phil> +#define ARCHPY_REQUIRE_VALID (arch_obj, arch)		\
Phil> +  do {							\
Phil> +    arch = arch_object_to_gdbarch (arch_obj);		\
Phil> +    if (arch == NULL)					\
Phil> +      error (_("Architecture is invalid."));		\
Phil> +  } while (0)

I think it would be simpler to either:

* Have this set the python exception and not call error, or
* Likewise but just have it be done in arch_object_to_gdbarch.

With the current approach you have to have a try/catch and then throw an
exception; but really all you want is to set the python exception --
which is cheaper to do directly.

Phil>  # You should have received a copy of the GNU General Public License
Phil>  # along with this program.  If not, see <http://www.gnu.org/licenses/>.
Phil> +load_lib gdb-python.exp

It would be handy to get this hunk in sooner.
It's obvious fwiw.

Tom



More information about the Gdb-patches mailing list