From 4e76380c42e33813af1b6d4b7e9e56eef233000a Mon Sep 17 00:00:00 2001 From: David Pinedo Date: Wed, 28 Feb 2018 16:20:42 -0700 Subject: scripts: Roundup strings sizes in struct to multiple of 4 vktrace layer needs strings sizes to be multiple of 4 for data alignment in the trace file. --- scripts/helper_file_generator.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'scripts') diff --git a/scripts/helper_file_generator.py b/scripts/helper_file_generator.py index 7e0876d8..ab0ceed5 100644 --- a/scripts/helper_file_generator.py +++ b/scripts/helper_file_generator.py @@ -530,10 +530,10 @@ class HelperFileOutputGenerator(OutputGenerator): if member.len is not None: struct_size_funcs, counter_declared = self.DeclareCounter(struct_size_funcs, counter_declared) struct_size_funcs += ' for (i = 0; i < struct_ptr->%s; i++) {\n' % member.len - struct_size_funcs += ' struct_size += (sizeof(char*) + (sizeof(char) * (1 + strlen(struct_ptr->%s[i]))));\n' % (member.name) + struct_size_funcs += ' struct_size += (sizeof(char*) + ROUNDUP_TO_4((sizeof(char) * (1 + strlen(struct_ptr->%s[i])))));\n' % (member.name) struct_size_funcs += ' }\n' else: - struct_size_funcs += ' struct_size += (struct_ptr->%s != NULL) ? sizeof(char)*(1+strlen(struct_ptr->%s)) : 0;\n' % (member.name, member.name) + struct_size_funcs += ' struct_size += (struct_ptr->%s != NULL) ? ROUNDUP_TO_4(sizeof(char)*(1+strlen(struct_ptr->%s))) : 0;\n' % (member.name, member.name) else: if member.len is not None: # Avoid using 'sizeof(void)', which generates compile-time warnings/errors @@ -560,6 +560,7 @@ class HelperFileOutputGenerator(OutputGenerator): struct_size_helper_source += '#include \n' struct_size_helper_source += '#include \n' struct_size_helper_source += '\n' + struct_size_helper_source += '#define ROUNDUP_TO_4(_len) ((((_len) + 3) >> 2) << 2)\n\n' struct_size_helper_source += '// Function Definitions\n' struct_size_helper_source += self.GenerateStructSizeSource() return struct_size_helper_source -- cgit v1.2.3