diff options
author | Julius Werner <jwerner@chromium.org> | 2019-08-14 16:40:01 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2019-08-16 17:39:55 -0700 |
commit | 83b4473899bf00a0b5a241b96ebf9de913fd50e4 (patch) | |
tree | 9c4829dbbbe85fed26ad9373330bef0fe69a0a6d /firmware/include | |
parent | eb10ebf76d78a7ac7cb6b66c6f1bba747d4e10ca (diff) | |
download | vboot-83b4473899bf00a0b5a241b96ebf9de913fd50e4.tar.gz |
Makefile: Enable linker garbage collection
This patch enables -ffunction-sections, -fdata-sections and
-Wl,--gc-sections for host builds. These flags already get passed by
firmware builds anyway, so having host builds match that behavior should
be a good idea in general. They may also occasionally help save a bit of
code size (though not much since vboot is a library, but I still get
about half a KB out of futility), and they will prevent clang from
omitting relocations for function calls inside the same file, which
means we don't have to splatter test_mockable all over our codebase
anymore. (We still need it for vb2_get_gbb() since that is so small that
both GCC and clang want to inline it, even if they are outputting a
discrete copy anyway.)
(Also add a comment about why GenerateGuid() has nothing do to with this
even though it is also a weak function, and why it is like that.)
BRANCH=None
BUG=chromium:991812
TEST=make runtests with both GCC and clang
Change-Id: Iede9d29e20b99b75a0c86bc7ecb907d2a0e5e3a1
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1754969
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Diffstat (limited to 'firmware/include')
-rw-r--r-- | firmware/include/vboot_api.h | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/firmware/include/vboot_api.h b/firmware/include/vboot_api.h index 01106c0e..7f00ddc6 100644 --- a/firmware/include/vboot_api.h +++ b/firmware/include/vboot_api.h @@ -34,13 +34,6 @@ extern "C" { struct vb2_context; typedef struct VbSharedDataHeader VbSharedDataHeader; -/* - * Define test_mockable for mocking functions. - */ -#ifndef test_mockable -#define test_mockable __attribute__((weak)) -#endif - /*****************************************************************************/ /* Main entry points from firmware into vboot_reference */ |