Fa gcov dare il codice analisi di copertura per il codice in linguaggio assembly

StackOverflow https://stackoverflow.com/questions/1367456

  •  21-09-2019
  •  | 
  •  

Domanda

Ho un'applicazione che costruisco con gcc su host Linux per ARM processore target. Questo eseguibile braccio generato eseguo su un bordo di sviluppo ARM ho. Voglio fare qualche analisi della copertura del codice:

  1. Sarà gcov copertura del codice spettacolo se ho file di origine assemblaggio ARM nel mio ambiente di build?
  2. Se il mio ambiente di build ha alcuni file di origine assembly x86, poi sarà gcov mostrano i dati di code coverage?

Grazie. -AD.

È stato utile?

Soluzione

Per quanto ne so, gcov opere di pre-elaborazione vostro C o C ++ di codice sorgente. Se si dispone di file di lingua assemblaggio puri, non penso mai gcov li vede.

Se è così, sarei sorpreso se si capisce come inserire in sicurezza codice nel codice assembly arbitrario-bersaglio, con ARM essere abbastanza comune in modo c'è una debole possibilità. Il problema con il codice assembly instrumentating è il test di codice sonda copertura si possono richiedere i registri, e non v'è un modo sicuro per sapere, per un pezzo arbitraria di assemblatori, a) quali registri sono disponibili, e b) se c'è un'istruzione inserita, sarà qualche altra istruzione rompere a causa dello spazio extra (per esempio, un salto cablata relativa attraverso l'istruzione inserita).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top