[Buildroot] [PATCH] argp-standalone: fix build with > GCC5.1
Peter Korsgaard
peter at korsgaard.com
Sun Nov 26 09:17:18 UTC 2017
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni at free-electrons.com> writes:
> Hello,
> On Tue, 31 Oct 2017 01:18:34 -0500, Matt Weber wrote:
>> The problem is the change of the default C standard from gnu89 to gnu11
>> which changes the semantics of 'inline'. The issue is described in the
>> Porting guide at https://gcc.gnu.org/gcc-5/porting_to.html. Adding the
>> '-fgnu89-inline' option fixes the issue.
>>
>> Similar issue:
>> https://www.mail-archive.com/ptxdist@pengutronix.de/msg09746.html
>>
>> Fixes:
>> http://autobuild.buildroot.net/results/a9c/a9cedc54829b7bd2dd7ae6ff2bd6c6db242f1c35//
>>
>> Tested via test-pkg with the following cfg
>> BR2_PACKAGE_ARGP_STANDALONE=y
>>
>> Signed-off-by: Matthew Weber <matthew.weber at rockwellcollins.com>
> So, I've applied, but with those tweaks. Indeed, your patch could
> definitely not be fixing an issue with gcc >= 5.x, because we have been
> using gcc 5.x for a while, and this build error was not popping up with
> anything but gcc 7.x.
> So, what happened is that in commit
> a662ff7e79630ca0875dd8529fe54db27a275007, we added a patch that fixes
> the build with C99 compilers (in fact this means gcc 5.x, which uses
> C99 inline semantics). This changed "extern inline" to just "inline".
> But that broke again with gcc 7.x, and causes the problem we're seeing
> now.
> So instead, I've dropped the chunk of the patch that changed from
> extern inline to inline, and passsed -fgnu89-inline as you suggested. I
> updated the commit log accordingly.
> See
> https://git.buildroot.org/buildroot/commit/?id=f0b65bd90ce4429d6b7e952ce7de2d5f92a2dd26
> for more details.
Committed the revised patch to 2017.02.x and 2017.08.x, thanks both!
--
Bye, Peter Korsgaard
More information about the buildroot
mailing list