Vector35 / Vector35/binaryninja-api

TriCore calling convention cannot specify integer argument registers

Aperta
#6,426 0 commenti 0 reazioni 1 assegnatario Vedi su GitHub

@hongyu-dev ci sta già lavorando.

Dal 12/9/2025.

Arch: TriCore Component: Core Core: Calling Convention Effort: Medium Impact: Medium
Lingua principale
C++
Stelle
1.3k
Fork
298
Merge medio
5g 5h
PR unite (30g)
19

Descrizione

Because the calling convention model does not identify groupings of registers (aside from integer/float) we cannot properly model TriCore's dual integer register files (a, d). This resulted in us deciding to fallback entirely to heuristics to pickup the arguments. The one main issue with that is the heuristics are not aware of the register ordering, i.e. that register 1 must be preceded by register 0.

We should either:

  1. Improve our calling convention model to have a notion of register files (or groups)
  2. Create a workflow that fixes up the misidentified functions, this would incur a reanalysis cost as we would likely have to re-analyze the function assuming that we cannot interject our workflow activity before any usage of the bad params.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.