[P4] Hibajavítások

Brunner Márton brmarci at caesar.elte.hu
Wed Jan 3 23:55:19 CET 2018


Sziasztok!

A mai hibákkal/hiányosságokkal kapcsolatos előrehaladások:

  *

    Konstanssal nem lehet módosítani 32 bitnél nagyobb mezőt: kijavítva.
    Bár szokásos módon nem teszteltem agyon, de látszólag jól működik.

  *

    A verifikációhoz használandó C kódban a GET_INT32_AUTO_PACKET makró
    nem jól működik: nem a példa kód volt a hibás, hanem tényleg a makró
    nem működött jól. Ha olyan mező értékét kérdeztük le vele, ami nem
    metadata és nem hosszabb mint 16 bit, *bájtkonverzió nélkül*, akkor
    nullát kaptunk eredményül. (Mintha Sanyi korábban jelezte is volna,
    hogy találtak valami ilyesmi hibát a makrók működésében.) Remélem,
    hogy sikerült most úgy kijavítanom, hogy a javítás nem vezet be
    újabb hibát. Fun fact: ez a kód másfél éve hibás.

Ezen kívül a C-s verifikációhoz kapcsolódóan van egy aggasztó 
megfigyelésem. Nem tudom, hogy jutottatok-e már bármire a modify_field 
C-s verifikációjával, de én ma kíváncsiságból megnéztem, hogy mit kapunk 
a preprocesszálás után. A *MODIFY_INT32_INT32_AUTO_PACKET* makró 
feloldása után egy 250 000 karakteres sort kapunk. (Az optimalizáció 
után ebből valójában csak egy értékadás marad.) Nem tudom, hogy a C K-s 
szemantikája milyen formában várja a kódot, de valószínűleg ebben a 
formában nem örülne neki túlságosan.

Marci

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://plc.inf.elte.hu/pipermail/p4/attachments/20180103/92a5aa4e/attachment.html>


More information about the P4 mailing list