From e94b64ae864e5109d612ad31e78d4d9b2ac29435 Mon Sep 17 00:00:00 2001 From: Vic Yang Date: Tue, 6 Aug 2019 14:18:33 -0700 Subject: bootloader_message: Remove global std::string A global std::string, even if not used, pollutes the bss section unnecessarily. Since this object is only there for testing, make it std::optional, which is constexpr constructible. Bug: 138856262 Test: Along with a fix in fs_mgr, see that the bss section for libbootloader_message.so is now clean on cuttlefish for several processes. Change-Id: I6df837dded88d979ffe14d5b2770b120bcf87341 --- bootloader_message/bootloader_message.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/bootloader_message/bootloader_message.cpp b/bootloader_message/bootloader_message.cpp index e684abbad..b15a9b9fd 100644 --- a/bootloader_message/bootloader_message.cpp +++ b/bootloader_message/bootloader_message.cpp @@ -20,6 +20,7 @@ #include #include +#include #include #include #include @@ -37,7 +38,7 @@ using android::fs_mgr::Fstab; using android::fs_mgr::ReadDefaultFstab; -static std::string g_misc_device_for_test; +static std::optional g_misc_device_for_test; // Exposed for test purpose. void SetMiscBlockDeviceForTest(std::string_view misc_device) { @@ -45,8 +46,8 @@ void SetMiscBlockDeviceForTest(std::string_view misc_device) { } static std::string get_misc_blk_device(std::string* err) { - if (!g_misc_device_for_test.empty()) { - return g_misc_device_for_test; + if (g_misc_device_for_test.has_value() && !g_misc_device_for_test->empty()) { + return *g_misc_device_for_test; } Fstab fstab; if (!ReadDefaultFstab(&fstab)) { -- cgit v1.2.3