summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Rowe <mark@vector35.com>2025-08-20 11:51:43 -0400
committerMark Rowe <mark@vector35.com>2025-08-27 09:26:37 -0700
commit6293afcb4e10997838f94c38430feba9742bea75 (patch)
tree479fc7d9044dc7bd39eddef370fa70661a55e3df
parenteb09898c0ea423328d929dec4d1730030f99abe4 (diff)
Clarify the documentation on how multiple symbols at the same address are handled
-rw-r--r--binaryninjaapi.h11
-rw-r--r--python/binaryview.py9
2 files changed, 15 insertions, 5 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h
index 589556f1..c7bd2d4c 100644
--- a/binaryninjaapi.h
+++ b/binaryninjaapi.h
@@ -6689,7 +6689,8 @@ namespace BinaryNinja {
/*! Adds a symbol to the internal list of automatically discovered Symbol objects in a given namespace
- \warning If multiple symbols for the same address are defined, only the most recent symbol will ever be used.
+ \warning If multiple symbols for the same address are defined, the most recently added symbol
+ with the highest confidence and lowest `BNSymbolType` value will be used.
\param sym Symbol to define
*/
@@ -6697,8 +6698,11 @@ namespace BinaryNinja {
/*! Defines an "Auto" symbol, and a Variable/Function alongside it
+ \warning If multiple symbols for the same address are defined, the most recently added symbol
+ with the highest confidence and lowest `BNSymbolType` value will be used.
+
\param platform Platform for the Type being defined
- \param sym Symbol being definedd
+ \param sym Symbol being defined
\param type Type being defined
\return The defined symbol
*/
@@ -6712,6 +6716,9 @@ namespace BinaryNinja {
/*! Define a user symbol
+ \warning If multiple symbols for the same address are defined, the most recently added symbol
+ with the highest confidence and lowest `BNSymbolType` value will be used.
+
\param sym Symbol to define
*/
void DefineUserSymbol(Ref<Symbol> sym);
diff --git a/python/binaryview.py b/python/binaryview.py
index e0c6cf10..d516c054 100644
--- a/python/binaryview.py
+++ b/python/binaryview.py
@@ -6410,7 +6410,8 @@ class BinaryView:
``define_auto_symbol`` adds a symbol to the internal list of automatically discovered Symbol objects in a given
namespace.
- .. warning:: If multiple symbols for the same address are defined, only the most recent symbol will ever be used.
+ .. warning:: If multiple symbols for the same address are defined, only the most recently added symbol with the
+ highest confidence and lowest SymbolType value will ever be used.
:param sym: the symbol to define
:rtype: None
@@ -6423,7 +6424,8 @@ class BinaryView:
"""
``define_auto_symbol_and_var_or_function`` Defines an "Auto" symbol, and a Variable/Function alongside it.
- .. warning:: If multiple symbols for the same address are defined, only the most recent symbol will ever be used.
+ .. warning:: If multiple symbols for the same address are defined, only the most recently added symbol with the
+ highest confidence and lowest SymbolType value will ever be used.
:param sym: Symbol to define
:param type: Type for the function/variable being defined (can be None)
@@ -6465,7 +6467,8 @@ class BinaryView:
"""
``define_user_symbol`` adds a symbol to the internal list of user added Symbol objects.
- .. warning:: If multiple symbols for the same address are defined, only the most recent symbol will ever be used.
+ .. warning:: If multiple symbols for the same address are defined, only the most recently added symbol with the
+ highest confidence and lowest SymbolType value will ever be used.
:param Symbol sym: the symbol to define
:rtype: None