Documentation

Overview

    Package alignchecker provides routines to check Go and C struct alignments

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    func CheckStructAlignments

    func CheckStructAlignments(pathToObj string, toCheck map[string][]reflect.Type, checkOffsets bool) error

      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 size info is extracted from the given ELF object file debug section encoded in DWARF.

      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.

      Types

      This section is empty.