[Buildroot] [PATCH 1/1] package/nfs-utils: Backport yet another printf fix

Petr Vorel petr.vorel at gmail.com
Tue Aug 3 21:23:06 UTC 2021



> On 03/08/2021 19:17, Petr Vorel wrote:
> > Hi Thomas,

> >> On Tue, 3 Aug 2021 00:06:46 +0200
> >> Petr Vorel <petr.vorel at gmail.com> wrote:

> >>> I believe all 3 patches (2 already merged + this one) should fix the problem.
> >>> But I was not able to verify it, because ./utils/test-pkg didn't catch even
> >>> this error (I tested all available toolchains), IMHO -Werror=format=2 and other
> >>> -Werror are probably only on http://autobuild.buildroot.net/ (not in Buildroot
> >>> config for users). It'd be great if ./utils/test-pkg had the same CFLAGS.
> >>> Or have I (again) overlooked something?

> >> No, the autobuilders don't do anything specific with -Werror CFLAGS.
> >> The configurations tested by the autobuilders are generated by
> >> utils/genrandconfig in the Buildroot tree. Besides the obvious package
> >> randomization, there is some randomization of "global" options:

> >>     # Per-package folder
> >>     if randint(0, 15) == 0:
> >>         configlines.append("BR2_PER_PACKAGE_DIRECTORIES=y\n")

> >>     # Amend the configuration with a few things.
> >>     if randint(0, 20) == 0:
> >>         configlines.append("BR2_ENABLE_DEBUG=y\n")
> >>     if randint(0, 20) == 0:
> >>         configlines.append("BR2_ENABLE_RUNTIME_DEBUG=y\n")
> >>     if randint(0, 1) == 0:
> >>         configlines.append("BR2_INIT_BUSYBOX=y\n")
> >>     elif randint(0, 15) == 0:
> >>         configlines.append("BR2_INIT_SYSTEMD=y\n")
> >>     elif randint(0, 10) == 0:
> >>         configlines.append("BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y\n")
> >>     if randint(0, 20) == 0:
> >>         configlines.append("BR2_STATIC_LIBS=y\n")
> >>     if randint(0, 20) == 0:
> >>         configlines.append("BR2_PACKAGE_PYTHON_PY_ONLY=y\n")
> >>     if randint(0, 5) == 0:
> >>         configlines.append("BR2_OPTIMIZE_2=y\n")
> >>     if randint(0, 4) == 0:
> >>         configlines.append("BR2_SYSTEM_ENABLE_NLS=y\n")
> >>     if randint(0, 4) == 0:
> >>         configlines.append("BR2_FORTIFY_SOURCE_2=y\n")
> > Thanks for valuable info!
> > I need to have look into https://git.busybox.net/buildroot-test/.

>  The genrandconfig script is in utils/ in the buildroot tree itself. The
> buildroot-test script just calls genrandconfig, followed by make and make
> legal-info. The only interesting thing for you in there is how reproducible
> builds are handled.

Thanks!


> >> For example, did you test with BR2_FORTIFY_SOURCE_2=y ?

> >> Could you point me to the autobuilder failure that you had, but was not
> >> able to reproduce with test-pkg ? We should be able to point out the
> >> difference.
> > Actually, I thought I submitted 0ce30de72f ("package/nfs-utils: bump to version
> > 2.5.4"), but I didn't thus I did not run the verifies.

> > I now tested b2857786f1 ("package/nfs-utils: needs uuid") (which I also didn't

>  The recent issues happen on basically any config and were introduced by
> daa5459b6aaa which fixed it for riscv and broke it for all other 32-bit
> platforms. Only, the two files concerned are only built if sqlite is enable
> resp. if NFSv4 is enabled, so if you don't add those to your test config,
> test-pkg won't catch it.
Yes, the problem was that I didn't realize that running test-pkg with default
options isn't enough. Because that I validate - my patches for fixing RISC
(problem which I found via autobuild), but I didn't check what needs to be
enabled to actually trigger the bug. I usually found arch/toolchain specific
problems with autobuild. But I see I need to do more investigation before
running test-pkg. Lesson learned, thanks!

Kind regards,
Petr

>  Regards,
>  Arnout

> > submit thus didn't tested and all verifiers are OK. I believe that was the first
> > build which failed due warning on printf format. And now:

> > grep ^BR2_FORTIFY_SOURCE_2 ~/br-test-pkg/*/.config
> > # nothing

> > I'll try to test next time with snippet with BR2_FORTIFY_SOURCE_2=y.
> > Anything else it's worth of enabling? E.g. BR2_STATIC_LIBS have at least some of
> > them, also BR2_FORTIFY_SOURCE_1 (but that's not enough)

> >> The thing is that test-pkg cannot test all possibilities, it would take
> >> way too much time.
> > Understand. I just didn't know about the randomizer on autobuilders. I did
> > noticed that sometimes error was reported even I was not able to spot it during
> > test-pkg testing :).

> > Kind regards,
> > Petr

> >> Thomas
> > _______________________________________________
> > buildroot mailing list
> > buildroot at busybox.net
> > http://lists.busybox.net/mailman/listinfo/buildroot



More information about the buildroot mailing list