CheckStructAlignments checks whether size and offsets match of the given
C and Go structs which are listed in the given toCheck map (C struct name =>
Go struct []reflect.Type).
C struct layout is extracted from the given ELF object file's BTF info.
To find a matching C struct field, a Go field has to be tagged with
`align:"field_name_in_c_struct". In the case of unnamed union field, such
union fields can be referred with special tags - `align:"$union0"`,
`align:"$union1"`, etc.