Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4379a289 authored by Vic Yang's avatar Vic Yang Committed by Gerrit Code Review
Browse files

Merge "Move android_ids from .data.rel.ro to .rodata"

parents 696dd3bd 5b3a7c00
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -1108,9 +1108,14 @@ class AIDArrayGen(BaseGenerator):

    _INCLUDE = '#include <private/android_filesystem_config.h>'

    # Note that the android_id name field is of type 'const char[]' instead of
    # 'const char*'.  While this seems less straightforward as we need to
    # calculate the max length of all names, this allows the entire android_ids
    # table to be placed in .rodata section instead of .data.rel.ro section,
    # resulting in less memory pressure.
    _STRUCT_FS_CONFIG = textwrap.dedent("""
                         struct android_id_info {
                             const char *name;
                             const char name[%d];
                             unsigned aid;
                         };""")

@@ -1132,12 +1137,13 @@ class AIDArrayGen(BaseGenerator):
    def __call__(self, args):

        hdr = AIDHeaderParser(args['hdrfile'])
        max_name_length = max(len(aid.friendly) + 1 for aid in hdr.aids)

        print AIDArrayGen._GENERATED
        print
        print AIDArrayGen._INCLUDE
        print
        print AIDArrayGen._STRUCT_FS_CONFIG
        print AIDArrayGen._STRUCT_FS_CONFIG % max_name_length
        print
        print AIDArrayGen._OPEN_ID_ARRAY