Skip to content

ECoff support (MIPS & Alpha only)#5447

Merged
wargio merged 5 commits intodevfrom
coff-refactoring-2
Feb 28, 2026
Merged

ECoff support (MIPS & Alpha only)#5447
wargio merged 5 commits intodevfrom
coff-refactoring-2

Conversation

@wargio
Copy link
Member

@wargio wargio commented Oct 10, 2025

Your checklist for this pull request

  • I've read the guidelines for contributing to this repository.
  • I made sure to follow the project's coding style.
  • I've documented every RZ_API function and struct this PR changes.
  • I've added tests that prove my changes are effective (required for changes to RZ_API).
  • I've updated the Rizin book with the relevant information (if needed).

Detailed description

Adds support to parse ECOFF file format with support only for alpha & mips.

Relocs are not supported as i cannot find binaries to implement them

Fix #4302

@wargio wargio force-pushed the coff-refactoring-2 branch from 7ecdcab to 386ddff Compare November 5, 2025 05:13
@wargio wargio changed the title Coff refactoring 2 ECoff support (MIPS & Alpha only) Nov 5, 2025
@wargio wargio force-pushed the coff-refactoring-2 branch from 067b8e7 to 7118af6 Compare February 27, 2026 07:00
@wargio wargio marked this pull request as ready for review February 27, 2026 07:01
@wargio wargio force-pushed the coff-refactoring-2 branch from 7118af6 to b21c0fd Compare February 27, 2026 14:20
notxvilka

This comment was marked as resolved.

@wargio wargio force-pushed the coff-refactoring-2 branch from 58826c1 to ac2f48b Compare February 27, 2026 16:48
@notxvilka

This comment was marked as resolved.

@notxvilka
Copy link
Contributor

Also:


17m 52s
Run python3 rz-bindgen/src/lint.py \
Missing type comment at <rizin/librz/bin/format/ecoff/ecoff.c:97:1> (token is not a comment)
Missing type comment at <rizin/librz/bin/format/ecoff/ecoff.c:98:1> (token is not a comment)
Error: Process completed with exit code 2.

Copy link
Contributor

@notxvilka notxvilka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@codecov
Copy link

codecov bot commented Feb 28, 2026

Codecov Report

❌ Patch coverage is 37.43877% with 894 lines in your changes missing coverage. Please review.
✅ Project coverage is 47.81%. Comparing base (a65be1e) to head (6895f9f).
⚠️ Report is 3 commits behind head on dev.

Files with missing lines Patch % Lines
librz/bin/format/ecoff/ecoff.c 36.03% 608 Missing and 269 partials ⚠️
librz/bin/p/bin_ecoff.c 70.68% 9 Missing and 8 partials ⚠️
Additional details and impacted files
Files with missing lines Coverage Δ
librz/bin/p/bin_ecoff.c 70.68% <70.68%> (ø)
librz/bin/format/ecoff/ecoff.c 36.03% <36.03%> (ø)

... and 20 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ec02889...6895f9f. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@wargio wargio requested a review from notxvilka February 28, 2026 07:51
Copy link
Contributor

@notxvilka notxvilka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor things still left:


16m 49s
Run python3 rz-bindgen/src/lint.py \
Missing type comment at <rizin/librz/bin/format/ecoff/ecoff.c:97:1> (token is not a comment)
Missing type comment at <rizin/librz/bin/format/ecoff/ecoff.c:98:1> (token is not a comment)
Error: Process completed with exit code 2.
[XX] 00h00m00s189ms db/formats/ecoff Alpha 64 ECOFF
RZ_NOPLUGINS=1 /home/travis/build/rizinorg/rizin/install/bin/rizin -escr.utf8=0 -escr.color=0 -escr.interactive=0 -eflirt.sigdb.load.system=false -esearch.show_progress=false -eflirt.sigdb.load.home=false -N -qc 'echo "=== bin ==="
iH
echo "=== info ==="
it
echo "=== entrypoints ==="
iet
echo "=== exports ==="
iEt
echo "=== imports ==="
iit
echo "=== symbols ==="
ist
echo "=== sections ==="
iSt
pdf
' bins/ecoff/alpha/gettext
-- stdout
--- expected
+++ actual
@@ -14,7 +14,7 @@
       - "CALL_SHARED"
 aouthdr:
   magic: "ZMAGIC (0x010b)"
-  vstamp: "v3.13"
+  vstamp: "v13.3"
   bldrev: 0xc
   padding: 0x0
   tsize: 0x6000
-- stderr
ERROR: Cannot find function at 0x120001c30

https://app.travis-ci.com/github/rizinorg/rizin/jobs/638201759#L4660

@wargio
Copy link
Member Author

wargio commented Feb 28, 2026

the linter issue is probably a bug on the linter, because i use RzPVector & RzVector and i have defined the types.
Probably when the macro gets resolved it does not write the comment.

@wargio wargio merged commit 00fba1d into dev Feb 28, 2026
48 of 50 checks passed
@wargio wargio deleted the coff-refactoring-2 branch February 28, 2026 15:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support ECOFF COFF extension

2 participants