- symbol will be written. In the case of the API returning a string,
- this will be set to NULL. LANGUAGE is also a pass-through argument
- denoting the language attributed to the Symbol. In the case of SYM
- being NULL, this will be set to the current language. Returns
- PY_BT_ERROR on error with the appropriate Python exception set, and
- PY_BT_OK on success. */
-
-static enum py_bt_status
-extract_sym (PyObject *obj, char **name, struct symbol **sym,
+ symbol will be written and SYM_BLOCK is a pass-through argument to
+ write the block where the symbol lies in. In the case of the API
+ returning a string, this will be set to NULL. LANGUAGE is also a
+ pass-through argument denoting the language attributed to the
+ Symbol. In the case of SYM being NULL, this will be set to the
+ current language. Returns EXT_LANG_BT_ERROR on error with the
+ appropriate Python exception set, and EXT_LANG_BT_OK on success. */
+
+static enum ext_lang_bt_status
+extract_sym (PyObject *obj, gdb::unique_xmalloc_ptr<char> *name,
+ struct symbol **sym, struct block **sym_block,