Fix a bug where Morello GDB wasn't setting the capability tag when calling a
function by hand, and said function received a pointer/capability as
parameter.
This was observed when attempting to call strlen by hand and passing the
argv[] entries.
/* Write the argument to the capability register. */
regcache->raw_write (regnum, tmpbuf);
- if (type->contains_capability ())
+ if (type->contains_capability () || type->code () == TYPE_CODE_CAPABILITY
+ || TYPE_CAPABILITY (type))
{
/* We need to read the tags from memory. */
gdb::byte_vector cap = target_read_capability (address);