11 Dec, 2013

1 commit

  • Apart from data-type specific alignment constraints, there are also
    architecture-specific alignment requirements.
    For example, on s390 symbols must be on even addresses implying a 2-byte
    alignment. If the system_certificate_list_end symbol is on an odd address
    and if this address is loaded, the least-significant bit is ignored. As a
    result, the load_system_certificate_list() fails to load the certificates
    because of a wrong certificate length calculation.

    To be safe, align system_certificate_list on an 8-byte boundary. Also improve
    the length calculation of the system_certificate_list content. Introduce a
    system_certificate_list_size (8-byte aligned because of unsigned long) variable
    that stores the length. Let the linker calculate this size by introducing
    a start and end label for the certificate content.

    Signed-off-by: Hendrik Brueckner
    Signed-off-by: David Howells

    Hendrik Brueckner
     

30 Oct, 2013

1 commit

  • If a macro is only used within 2 times, and also its contents are
    within 2 lines, recommend to expand it to shrink code line.

    For our case, the macro is not portable either: some architectures'
    assembler may use another character to mark newline in a macro (e.g.
    '`' for arc), which will cause issue.

    If still want to use macro and let it portable enough, it will also
    need include additional header file (e.g "#include ",
    although it also need be fixed).

    Signed-off-by: Chen Gang
    Signed-off-by: David Howells

    Chen Gang
     

26 Sep, 2013

1 commit