2lib: Add test_mockable attribute

Some tests mock library functions.  This previously worked due to adding

  CFLAGS += -Xlinker --allow-multiple-definition

to the test binaries.  But the new version of binutils seems to need
the default implementation to be weak if compiled with -O2 in some
cases.  Add test_mockable for use with functions where this is now
needed.

BUG=chromium:723906
BRANCH=none
TEST=Add CFLAGS += -O2 to the makefile, then make -j runtests
     Tests break before this change with -O2, and work afterwards

Change-Id: I95996a3e1086251442055765295a75de4c20ee3c
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/527601
Commit-Ready: Manoj Gupta <manojgupta@chromium.org>
Tested-by: Rahul Chaudhry <rahulchaudhry@chromium.org>
Reviewed-by: Rahul Chaudhry <rahulchaudhry@chromium.org>
This commit is contained in:
Randall Spangler
2017-06-07 13:20:46 -07:00
committed by chrome-bot
parent 4007d6ff21
commit 3522e574a2
3 changed files with 15 additions and 0 deletions

View File

@@ -39,7 +39,9 @@ typedef uint32_t VbError_t;
/*
* Define test_mockable for mocking functions.
*/
#ifndef test_mockable
#define test_mockable __attribute__((weak))
#endif
/*
* Predefined error numbers. Success is 0. Errors are non-zero, but differ