Bug 15231

Summary: gcc --help -v doesn't work correctly with gcc>=10 and BR2_RELRO_PARTIAL or BR2_RELRO_FULL
Product: buildroot Reporter: Sagi Mor <sagimor6>
Component: OtherAssignee: Sagi Mor <sagimor6>
Status: RESOLVED MOVED    
Severity: normal CC: buildroot, sagimor6, yann.morin.1998
Priority: P5    
Version: 2020.11.2   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Host: Target:
Build:
Attachments: quick fix

Description Sagi Mor 2023-01-07 17:16:25 UTC
Created attachment 9451 [details]
quick fix

gcc --help -v 2>&1 | grep ffunction-sections

This should display the option with description.
But with buildroot gcc>=10 with RELRO protection configured to Partial or Full, this doesn't work (doesn't display anything).
So affected buildroots are with versions >=2020.11.2
You can check this with bootlin compilers with buildroot>=2021.11

The cause of this is:

1) from gcc 10, the following doesn't work:
gcc -Wl,--some-flag --help -v 2>&1 | grep ffunction-section

I created a bug report:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108328

2) toolchain-wrapper with BR2_RELRO_PARTIAL or BR2_RELRO_FULL adds -Wl,-z,relro linker flags which trigger this

now, BR2_RELRO_PARTIAL or BR2_RELRO_FULL are the default since 2021.05.

Moreover, this causes the python and python3 package to compile without the -fwrapv option, because python detects it using the: gcc --help -v 2>&1 | grep fwrapv

This is just one example that I stumbled upon, I think this can cause problems in general, and in other packages that do these kinds of checks.

I attached a quick fix patch (should I send it to the mailing list too?), but feel free to comment on the gcc bug report I created.
Comment 1 Sagi Mor 2023-01-07 17:23:34 UTC
in newer versions of buildroot -Wl,-z,max-page-size is added, so this bug happens even if RELRO protection is configured to None
Comment 2 Yann E. MORIN 2024-06-15 15:04:55 UTC
Thank you for your report.

The issue tracker for the Buildroot project has been moved to
the Gitlab.com issue tracker:
    https://gitlab.com/buildroot.org/buildroot/-/issues

We are taking this opportunity to close old issues in this old
tracker. If you believe your issue is still relevant, please
open one in the new issue tracker.

Thank you!