[Buildroot] Analysis of build results for 2016-02-21

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Mon Feb 22 22:21:44 UTC 2016


Hello Olivier,

On Mon, 22 Feb 2016 21:05:00 +0200, Olivier Schonken wrote:

> arm |                     cups-2.1.2 | NOK |
> http://autobuild.buildroot.net/results/07ccca8f80c56ab0ff48bfee876885b1c8c3916e/
> arc |                     cups-2.1.2 | NOK |
> http://autobuild.buildroot.net/results/b169b939e38cb761319a92d2871f4f59ddb5c4ac/
> 
> Both error cases looks like it has to do with uclibc not behaving as
> expected at link time for the ippserver build (Both builds link statically
> with position independent execution also set).  For the arm platform it
> can't find the Scrt1.o file, and for the ARC compiler, __init_array_end is
> undefined.
> 
> I haven't considered all the options yet, but two that come to mind are
> disabling cups support for uclibc type compilers, or else to disable the
> cups test-framework.

Disabling for uClibc is completely overkill: this problem only occurs
on ARM with static linking and on ARC. CUPS builds perfectly fine on
ARM/uClibc when dynamic linking is used.

The problem is that CUPS forcefully uses PIE support, and:

 1/ Our static-only toolchain for ARM that uses uClibc-ng does not
    contain Scrt1.o, while a dynamic-linking enabled uClibc-ng ARM
    toolchain does have it. Due to this, trying to link a minimal C
    program with -fPIE -pie fails. I'm Cc'ing Waldemar, the uClibc-ng
    maintainer, to get his input on this.

 2/ PIE is not supported by the ARC architecture, and should not be
    used. Unfortunately, the configure script of CUPS only does an
    AC_TRY_COMPILE() test to verify the support of PIE in the compiler,
    but on ARC, it only fails at link time, so the test should be an
    AC_TRY_LINK(). Olivier, could you try to fix the cups stuff so that
    we can autoreconf it properly, and therefore fix such issues in the
    cups configure.ac ? I'm also Cc'ing Alexey from Synopsys, who can
    give more details about the PIE issue on ARC.

Thanks for your investigation!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com



More information about the buildroot mailing list