[lldb-dev] add custom vendor commands

Giusti, Valentina via lldb-dev lldb-dev at lists.llvm.org
Thu Oct 13 02:24:10 PDT 2016

Hello all,

Intel CPUs that support MPX have a limited number of bound registers. For any program that has more objects than fit into these registers, the bounds must be kept elsewhere. For this purpose, Bounds Tables (BT) are stored in application memory: for each pointer there is a bound table entry with lower bound, upper bound, check pointer value.

It would be convenient for the user to be able to access the BT and possibly also manipulate it, through commands like: 'set/show mpx-bounds <pointer_name> <lower-bound-value> <upper-bound-value>'.

Is there a way to add customized commands for vendor features, such as this one?
I have seen that CommandObjectCommands has a class to add commands interpreted by command interpreter scripts and an interface for command aliases, so I wonder if it would make sense to add something else for vendor commands. For example, I could create a new class CommandObjectVendor that allows vendors to create their own specific commands. In my case, for the MPX bound table, the commands could be:
	intel show mpx-bounds <pointer_name> <lower-bound-value> <upper-bound-value>
	intel set mpx-bounds  <pointer_name> <lower-bound-value> <upper-bound-value>

Thanks in advance for your help,

- V.

Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Christian Lamprechter
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928

More information about the lldb-dev mailing list