Re: [PATCH] perf test: Use -Wp,-U_FORTIFY_SOURCE for tests built with -O0
From: Eiichi Tsukata
Date: Sun Aug 25 2024 - 23:35:42 EST
Ping
> On Aug 6, 2024, at 15:27, Eiichi Tsukata <eiichi.tsukata@xxxxxxxxxxx> wrote:
>
> Hi,
>
> FYI: Fedora uses “RPM_OPT_FLAGS” as “EXTRA_CFLAGS” to build perf.
> https://src.fedoraproject.org/rpms/kernel/blob/rawhide/f/kernel.spec#_2908
>
> And on Fedora40, it has “-Wp,-D_FORTIFY_SOURCE=3”.
>
> [eiichi@t495 ~]$ rpm --showrc | grep RPM_OPT | head -n 1
> RPM_OPT_FLAGS="%{optflags}"
> [eiichi@t495 ~]$ rpm --eval '%{optflags}'
> -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mon-omit-leaf-frame-pointer
>
> Best,
> Eiichi
>
>> On Aug 6, 2024, at 15:17, Eiichi Tsukata <eiichi.tsukata@xxxxxxxxxxx> wrote:
>>
>> If EXTRA_CFLAGS has "-Wp,-D_FORTIFY_SOURCE=2", the build fails with:
>>
>> error: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp]
>>
>> Use "-Wp,-U_FORTIFY_SOURCE" instead of "-U_FORTIFY_SOURCE" for tests
>> built with -O0.
>>
>> Signed-off-by: Eiichi Tsukata <eiichi.tsukata@xxxxxxxxxxx>
>> ---
>> tools/perf/tests/workloads/Build | 8 ++++----
>> 1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/tools/perf/tests/workloads/Build b/tools/perf/tests/workloads/Build
>> index 48bf0d3b0f3d..ec36c21e375e 100644
>> --- a/tools/perf/tests/workloads/Build
>> +++ b/tools/perf/tests/workloads/Build
>> @@ -7,7 +7,7 @@ perf-test-y += sqrtloop.o
>> perf-test-y += brstack.o
>> perf-test-y += datasym.o
>>
>> -CFLAGS_sqrtloop.o = -g -O0 -fno-inline -U_FORTIFY_SOURCE
>> -CFLAGS_leafloop.o = -g -O0 -fno-inline -fno-omit-frame-pointer -U_FORTIFY_SOURCE
>> -CFLAGS_brstack.o = -g -O0 -fno-inline -U_FORTIFY_SOURCE
>> -CFLAGS_datasym.o = -g -O0 -fno-inline -U_FORTIFY_SOURCE
>> +CFLAGS_sqrtloop.o = -g -O0 -fno-inline -Wp,-U_FORTIFY_SOURCE
>> +CFLAGS_leafloop.o = -g -O0 -fno-inline -fno-omit-frame-pointer -Wp,-U_FORTIFY_SOURCE
>> +CFLAGS_brstack.o = -g -O0 -fno-inline -Wp,-U_FORTIFY_SOURCE
>> +CFLAGS_datasym.o = -g -O0 -fno-inline -Wp,-U_FORTIFY_SOURCE
>> --
>> 2.45.2
>>
>