Commit e5db52bf authored by 4ast's avatar 4ast Committed by GitHub

Merge pull request #1484 from iovisor/yhs_dev

add padding to the end of structure
parents b384b76e b32b4a5f
......@@ -145,6 +145,13 @@ bool BMapDeclVisitor::VisitRecordDecl(RecordDecl *D) {
Offset = FieldOffset + FieldSize;
genJSONForField(F);
}
/* Additional Padding after the last field so that the Record Size matches */
CharUnits RecordSize = Layout.getSize();
if (RecordSize > Offset) {
result_ += "[\"__pad_end\",\"char\",["
+ to_string((RecordSize - Offset).getQuantity()) + "]], ";
}
}
if (!D->getDefinition()->field_empty())
......
......@@ -685,6 +685,7 @@ struct key_t {
};
u8 f1_3; /* offset 48 */
unsigned __int128 f1_4; /* offset 64 */
char f1_5; /* offset 80 */
};
struct value_t {
u8 src[4] __attribute__ ((aligned (8))); /* offset 0 */
......@@ -694,8 +695,8 @@ BPF_HASH(table1, struct key_t, struct value_t);
"""
b = BPF(text=text)
table = b['table1']
self.assertEqual(ct.sizeof(table.Key), 80)
self.assertEqual(ct.sizeof(table.Leaf), 12)
self.assertEqual(ct.sizeof(table.Key), 96)
self.assertEqual(ct.sizeof(table.Leaf), 16)
if __name__ == "__main__":
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment