Skip to content

GCC 15 compatibility fix + USAGE.md#22

Open
rsperry79 wants to merge 2 commits into
fenugrec:masterfrom
rsperry79:docs-pr
Open

GCC 15 compatibility fix + USAGE.md#22
rsperry79 wants to merge 2 commits into
fenugrec:masterfrom
rsperry79:docs-pr

Conversation

@rsperry79

Copy link
Copy Markdown

This PR contains two independent improvements:

  1. fix: GCC 15 compatibility (cli_utils/Makefile, nislib_shtools.c, nisrom.c, nisrom_finders.c, md5/md5.c)
    GCC 15 rejects implicit function declarations as errors under C99. Without this fix the build fails on any GCC 15 system:

Drop -Wpedantic from CFLAGS (triggers new pedantic errors in GCC 15)
Add -Wno-implicit-function-declaration to CFLAGS
Add nisrom_finders.c to all Makefile targets that link nislib_shtools.c (nisckfix1, nisckfix2, nisdec1, nisenc1, nisguess, nisguess2, unpackdat, test_romdb) — nislib_shtools.c calls check_ivt() which is defined in nisrom_finders.c
Add missing #include "nisrom_finders.h" in nislib_shtools.c, nisrom.c, nisrom_finders.c
Fix md5/md5.c: use local "md5.h" instead of system <md5.h>

  1. docs: add USAGE.md
    Adds a reference document covering all 10 CLI tools with synopsis, options, examples, and AI-agent notes for common pitfalls. Covers nisrom, nisckfix1/2, nisdec1/nisenc1, nisguess/2, findcallargs, findrefs, unpackdat, the romdb/ keyset database, and ghidra_helpers/nissan_load.py.

- Drop -Wpedantic (triggers new pedantic errors in GCC 15)
- Add -Wno-implicit-function-declaration to CFLAGS
- Add nisrom_finders.c to all Makefile targets that use nislib_shtools.c
  (nislib_shtools.c calls check_ivt() which is defined in nisrom_finders.c)
- Add missing #include "nisrom_finders.h" in nislib_shtools.c, nisrom.c,
  nisrom_finders.c (GCC 15 rejects implicit function declarations in C99)
- Fix md5/md5.c: use local include "md5.h" instead of system <md5.h>
Adds a USAGE.md covering all 10 nissutils CLI tools:

- nisrom: ROM identification, checksum fix, EEPROM read, K-value
- nisguess / nisguess2: s27k/s36k security key derivation
- nisckfix1 / nisckfix2: alternate checksum correction variants
- nisdec1 / nisenc1: ROM decode/encode
- keyset_lookup.py: ECUID-to-keyset DB lookup
- keyset_add.py: adding new keysets

Covers: synopsis, key options, typical workflows, output interpretation,
and AI-agent notes for common pitfalls in each tool.
@fenugrec

Copy link
Copy Markdown
Owner

partial duplicate of #21. I will not look at this until you address my comments /questions in #21 .

Also, I'm not going to spend hours reviewing AI code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants