Re: [PATCH] perf test: Use -Wp,-U_FORTIFY_SOURCE for tests built with -O0
From: Eiichi Tsukata
Date: Mon Aug 26 2024 - 22:46:30 EST
> On Aug 26, 2024, at 23:42, Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote:
>
> On Mon, Aug 26, 2024 at 03:04:12AM +0000, Eiichi Tsukata wrote:
>> Ping
>
> Tried, didn't work, can you please check on the tmp.perf-tools-next?
>
It failed because "perf-test-y += landlock.o” line was added recently.
I’ll rebase the patch on tmp.perf-tools-next in v2.
Thanks
Eiichi
> ⬢[acme@toolbox perf-tools-next]$ b4 am -ctsl --cc-trailers 20240806061749.143072-1-eiichi.tsukata@xxxxxxxxxxx
> Grabbing thread from lore.kernel.org/all/20240806061749.143072-1-eiichi.tsukata@xxxxxxxxxxx/t.mbox.gz
> Analyzing 3 messages in the thread
> Looking for additional code-review trailers on lore.kernel.org
> Checking attestation on all messages, may take a moment...
> ---
> ✓ [PATCH] perf test: Use -Wp,-U_FORTIFY_SOURCE for tests built with -O0
> + Link: https://urldefense.proofpoint.com/v2/url?u=https-3A__lore.kernel.org_r_20240806061749.143072-2D1-2Deiichi.tsukata-40nutanix.com&d=DwIDaQ&c=s883GpUCOChKOHiocYtGcg&r=dy01Dr4Ly8mhvnUdx1pZhhT1bkq4h9z5aVWu3paoZtk&m=_0OObZsmx6FjjueHZafPjJj8gKzbBsFc_De-z9V-NlDqBdP2JXkVHey4ZnvbC5et&s=Rw2ve-4V8ySCyy7B99P6fc1biLAeFkcjpcB2SjTAAc8&e=
> + Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> ---
> ✓ Signed: DKIM/nutanix.com
> ---
> Total patches: 1
> ---
> Link: https://urldefense.proofpoint.com/v2/url?u=https-3A__lore.kernel.org_r_20240806061749.143072-2D1-2Deiichi.tsukata-40nutanix.com&d=DwIDaQ&c=s883GpUCOChKOHiocYtGcg&r=dy01Dr4Ly8mhvnUdx1pZhhT1bkq4h9z5aVWu3paoZtk&m=_0OObZsmx6FjjueHZafPjJj8gKzbBsFc_De-z9V-NlDqBdP2JXkVHey4ZnvbC5et&s=Rw2ve-4V8ySCyy7B99P6fc1biLAeFkcjpcB2SjTAAc8&e=
> Base: not specified
> git am ./20240806_eiichi_tsukata_perf_test_use_wp_u_fortify_source_for_tests_built_with_o0.mbx
> ⬢[acme@toolbox perf-tools-next]$ git am ./20240806_eiichi_tsukata_perf_test_use_wp_u_fortify_source_for_tests_built_with_o0.mbx
> Applying: perf test: Use -Wp,-U_FORTIFY_SOURCE for tests built with -O0
> error: patch failed: tools/perf/tests/workloads/Build:7
> error: tools/perf/tests/workloads/Build: patch does not apply
> Patch failed at 0001 perf test: Use -Wp,-U_FORTIFY_SOURCE for tests built with -O0
> hint: Use 'git am --show-current-patch=diff' to see the failed patch
> hint: When you have resolved this problem, run "git am --continue".
> hint: If you prefer to skip this patch, run "git am --skip" instead.
> hint: To restore the original branch and stop patching, run "git am --abort".
> hint: Disable this message with "git config advice.mergeConflict false"
> ⬢[acme@toolbox perf-tools-next]$ git am --abort
> ⬢[acme@toolbox perf-tools-next]$
>
>>> 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://urldefense.proofpoint.com/v2/url?u=https-3A__src.fedoraproject.org_rpms_kernel_blob_rawhide_f_kernel.spec-23-5F2908&d=DwIDaQ&c=s883GpUCOChKOHiocYtGcg&r=dy01Dr4Ly8mhvnUdx1pZhhT1bkq4h9z5aVWu3paoZtk&m=_0OObZsmx6FjjueHZafPjJj8gKzbBsFc_De-z9V-NlDqBdP2JXkVHey4ZnvbC5et&s=9EKEgobk4lamLGzFX9G0hfSjJmqvmU1cOeoJUGVXn_g&e=
>>>
>>> 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
>>>>
>>>
>>