Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Hexagon lifting issues

Open Beginner friendly
#8,621 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 2 days

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
72/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
rust

Research direction

Start in arch/hexagon/src/lift.rs at line 123 and compare the endloop0 lifting with the provided disassembly and current LLIL. Verify the one-iteration hardware-loop behavior against the expected LLIL sketch, then check the same handling for endloop1. Done means both cases fall through after one body execution and preserve looping for counts greater than one.

Written by the indexing model from the issue text.

Description

Binary files and instruction addresses (ZIP available for upload separately):

  • kat-hexagon.elf: 0x10e84; SHA-256 c92042e5504ec1eb0d3bf576e723b612cf35267adc963210b42d15aaba95e49a

1: Hexagon endloop0 / endloop1

Binary instruction: kat-hexagon.elf / adler32 at 0x10e84; bytes ff83000023c681e1.

Disassembly: { immext(#65472); r3 -= mpyi(r1,#65521); } endloop0.

Current lifted LLIL (relevant lines):

if (lc0 != 0) then loop else exit
lc0 = lc0 - 1
jump(sa0)

Expected LLIL (semantic sketch):

if (lc0 > 1) { lc0 = lc0 - 1; jump(sa0) } else { fallthrough }

A one-iteration hardware loop must leave the loop after its first body execution.

Code: arch/hexagon/src/lift.rs:123

Dominant language
C++
Stars
1.3k
Forks
297
Avg merge
2d 22h
Merged PRs (30d)
14

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Vector35/binaryninja-api

All issues in Vector35/binaryninja-api

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.