mirror of
https://review.coreboot.org/flashrom.git
synced 2025-07-03 06:53:18 +02:00
tests: Undefine _FORTIFY_SOURCE for unit tests to avoid _chk variants
The option _FORTIFY_SOURCE, when enabled, can result in some functions being expanded into _chk variants. For example, `fprintf` can get expanded into `__fprintf_chk`. This makes sense for building a real binary, but is not needed for unit tests. In unit test environment all those functions are wrapped. In the example above, both `fprintf` and `__fprintf_chk` needed to be mocked. Disabling _FORTIFY_SOURCE avoids expanding functions into _chk variants, without any loss of testing coverage because that would be wrapped/mocked anyway. This patch also removes two existing _chk wraps because they are not needed anymore. BUG=b:237606255 TEST=ninja test on 1) gcc 12.2.0 on Debian 2) clang 15.0 on Chromium OS Ticket: https://ticket.coreboot.org/issues/411 Change-Id: I70cb1cd90d1f377ff4606acad3c1b514120ae4f7 Signed-off-by: Anastasia Klimchuk <aklm@chromium.org> Reviewed-on: https://review.coreboot.org/c/flashrom/+/68432 Reviewed-by: Peter Marheine <pmarheine@chromium.org> Reviewed-by: Felix Singer <felixsinger@posteo.net> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
@ -69,9 +69,7 @@ mocks = [
|
||||
'-Wl,--wrap=fsync',
|
||||
'-Wl,--wrap=fread',
|
||||
'-Wl,--wrap=fgets',
|
||||
'-Wl,--wrap=__fgets_chk',
|
||||
'-Wl,--wrap=fprintf',
|
||||
'-Wl,--wrap=__vfprintf_chk',
|
||||
'-Wl,--wrap=fclose',
|
||||
'-Wl,--wrap=feof',
|
||||
'-Wl,--wrap=ferror',
|
||||
@ -115,6 +113,7 @@ flashrom_tests = executable('flashrom_unit_tests',
|
||||
cargs,
|
||||
'-ffunction-sections',
|
||||
'-fdata-sections',
|
||||
'-U_FORTIFY_SOURCE',
|
||||
],
|
||||
export_dynamic : true,
|
||||
link_args : mocks,
|
||||
|
Reference in New Issue
Block a user