mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-27 18:25:05 +00:00
The version struct and EC_CMD_GET_VERSION assume 32-character version
strings. But if the git tree is dirty and the board name is long, the
version string overflows that limit.
This change truncates what's stored in the version string to fit.
The build info still contains the full version string, as it did before.
BUG=chrome-os-partner:21156
BRANCH=none
TEST=build BOARD=mccroskey with a dirty tree; it should build.
Then cat build/mccroskey/ec_version.h to see CROS_EC_VERSION32 has
truncated the version string. Then build a platform of your choice
and type 'version' to see that the version string and build info is
still reported correctly.
Change-Id: Ie71b8efd99a83315f8b4d5ad10c51e48781b12f4
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/62649
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
25 lines
612 B
C
25 lines
612 B
C
/* Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
/* Version number for Chrome EC */
|
|
|
|
#ifndef __CROS_EC_VERSION_H
|
|
#define __CROS_EC_VERSION_H
|
|
|
|
#define CROS_EC_VERSION_COOKIE1 0xce112233
|
|
#define CROS_EC_VERSION_COOKIE2 0xce445566
|
|
|
|
struct version_struct {
|
|
uint32_t cookie1;
|
|
char version[32];
|
|
uint32_t cookie2;
|
|
} __packed;
|
|
|
|
extern const struct version_struct version_data;
|
|
extern const char build_info[];
|
|
extern const char __version_struct_offset[];
|
|
|
|
#endif /* __CROS_EC_VERSION_H */
|