Version and Platform (required):
- Binary Ninja Version: 5.3.9757/5.4.10060-dev
- Edition: Personal
- OS: macOS
- OS Version: Sequoia 15.7.7
- CPU Architecture: M1 Pro
Bug Description:
I'm currently writing a plugin for the AVR architecture (https://github.com/m1stadev/binavry), and I wrote a custom Architecture.analyze_basic_blocks() implementation for reading MCU-specific IO registers stored in the BinaryView & saving them to the shared context. I use them in Architecture.get_instruction_text_with_context() to have IO addresses display the proper register names, but analyze_basic_blocks() doesn't seem to run on the entry function, leaving the IO registers unnamed (picture example below is interrupt table, RESET is the entry point, INT0 jumps to it):

Steps To Reproduce:
- Install https://github.com/m1stadev/binavry + dependencies
- Load firmware.hex (basic ATmega328P example binary)
- View unmodified entry point IO register addresses
Expected Behavior:
Architecture.analyze_basic_blocks() running on the entry point function
Additional Information:
Adding other entry points using bv.add_entry_point() or bv.add_to_entry_functions() still calls Architecture.analyze_basic_blocks()
Version and Platform (required):
Bug Description:

I'm currently writing a plugin for the AVR architecture (https://github.com/m1stadev/binavry), and I wrote a custom
Architecture.analyze_basic_blocks()implementation for reading MCU-specific IO registers stored in the BinaryView & saving them to the shared context. I use them inArchitecture.get_instruction_text_with_context()to have IO addresses display the proper register names, butanalyze_basic_blocks()doesn't seem to run on the entry function, leaving the IO registers unnamed (picture example below is interrupt table,RESETis the entry point,INT0jumps to it):Steps To Reproduce:
Expected Behavior:
Architecture.analyze_basic_blocks()running on the entry point functionAdditional Information:
Adding other entry points using
bv.add_entry_point()orbv.add_to_entry_functions()still callsArchitecture.analyze_basic_blocks()