[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2 1/5] Remove hardcoded strict -Werror checking



On Thu, Dec 22, 2016 at 1:15 PM, Alistair Francis
<alistair.francis@xxxxxxxxxx> wrote:
> On Thu, Dec 22, 2016 at 1:12 PM, Alistair Francis
> <alistair.francis@xxxxxxxxxx> wrote:
>> On Thu, Dec 22, 2016 at 11:22 AM, Ian Jackson <ian.jackson@xxxxxxxxxxxxx> 
>> wrote:
>>> Alistair Francis writes ("Re: [Xen-devel] [PATCH v2 1/5] Remove hardcoded 
>>> strict -Werror checking"):
>>>> On Thu, Dec 22, 2016 at 12:41 AM, Jan Beulich <JBeulich@xxxxxxxx> wrote:
>>>>> On 20.12.16 at 20:46, <alistair.francis@xxxxxxxxxx> wrote:
>>>> >> Signed-off-by: Alistair Francis <alistair.francis@xxxxxxxxxx>
>>>> >
>>>> > Without some rationale given I don't think such changes are
>>>> > acceptable at all. And then, as already pointed out others, the
>>>> > use of -Werror is there not just for fun. If anything I think an
>>>> > override to that default could be acceptable.
>>>>
>>>> Unfortunately the APPEND_CFLAGS=-Wno-error doesn't fix all the issues
>>>> as I still see warnings/errors when building: tools/kconfig/conf.c.
>>>
>>> That sounds like a bug to me.  Do you know why it's not effective
>>> there ?
>>
>> It actually might be an issue in the way buildroot is handling the arguments.
>>
>> I'll look into it and see what I find after the holidays.

I dug into this a little more. Adding the APPEND_CFLAGS="-Wno-error"
fixes almost everything. The only problem I see is in the log below,
where tools/kconfig/conf.c fails to build as the -Wno-error doesn't
propagate down.

If I manage to find a fix today I'll send it, otherwise this can wait
until next year.

Thanks,

Alistair

>
> Nope, it does look like a Xen build issue. I included the full failing
> log below:
>
> PATH="/work/alistai/software/buildroot/output/host/bin:/work/alistai/software/buildroot/output/host/sbin:/work/alistai/software/buildroot/output/host/usr/bin:/work/alistai/software/buildroot/output/host/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
> XEN_TARGET_ARCH=arm32
> CROSS_COMPILE=/work/alistai/software/buildroot/output/host/usr/bin/arm-linux-
> PATH="/work/alistai/software/buildroot/output/host/bin:/work/alistai/software/buildroot/output/host/sbin:/work/alistai/software/buildroot/output/host/usr/bin:/work/alistai/software/buildroot/output/host/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
> AR="/work/alistai/software/buildroot/output/host/usr/bin/arm-linux-ar"
> AS="/work/alistai/software/buildroot/output/host/usr/bin/arm-linux-as"
> LD="/work/alistai/software/buildroot/output/host/usr/bin/arm-linux-ld"
> NM="/work/alistai/software/buildroot/output/host/usr/bin/arm-linux-nm"
> CC="/work/alistai/software/buildroot/output/host/usr/bin/arm-linux-gcc"
> GCC="/work/alistai/software/buildroot/output/host/usr/bin/arm-linux-gcc"
> CPP="/work/alistai/software/buildroot/output/host/usr/bin/arm-linux-cpp"
> CXX="/work/alistai/software/buildroot/output/host/usr/bin/arm-linux-g++"
> FC="/work/alistai/software/buildroot/output/host/usr/bin/arm-linux-gfortran"
> F77="/work/alistai/software/buildroot/output/host/usr/bin/arm-linux-gfortran"
> RANLIB="/work/alistai/software/buildroot/output/host/usr/bin/arm-linux-ranlib"
> READELF="/work/alistai/software/buildroot/output/host/usr/bin/arm-linux-readelf"
> STRIP="/work/alistai/software/buildroot/output/host/usr/bin/arm-linux-strip"
> OBJCOPY="/work/alistai/software/buildroot/output/host/usr/bin/arm-linux-objcopy"
> OBJDUMP="/work/alistai/software/buildroot/output/host/usr/bin/arm-linux-objdump"
> AR_FOR_BUILD="/usr/bin/ar" AS_FOR_BUILD="/usr/bin/as"
> CC_FOR_BUILD="/usr/bin/gcc" GCC_FOR_BUILD="/usr/bin/gcc"
> CXX_FOR_BUILD="/usr/bin/g++" LD_FOR_BUILD="/usr/bin/ld"
> CPPFLAGS_FOR_BUILD="-I/work/alistai/software/buildroot/output/host/usr/include"
> CFLAGS_FOR_BUILD="-O2
> -I/work/alistai/software/buildroot/output/host/usr/include"
> CXXFLAGS_FOR_BUILD="-O2
> -I/work/alistai/software/buildroot/output/host/usr/include"
> LDFLAGS_FOR_BUILD="-L/work/alistai/software/buildroot/output/host/lib
> -L/work/alistai/software/buildroot/output/host/usr/lib
> -Wl,-rpath,/work/alistai/software/buildroot/output/host/usr/lib"
> FCFLAGS_FOR_BUILD=""
> DEFAULT_ASSEMBLER="/work/alistai/software/buildroot/output/host/usr/bin/arm-linux-as"
> DEFAULT_LINKER="/work/alistai/software/buildroot/output/host/usr/bin/arm-linux-ld"
> CPPFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
> -D_FILE_OFFSET_BITS=64" APPEND_CFLAGS="-Wno-error -D_LARGEFILE_SOURCE
> -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os "
> CXXFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
> -D_FILE_OFFSET_BITS=64  -Os " LDFLAGS="" FAPPEND_CFLAGS="-Wno-error
> -Os " FFLAGS=" -Os "
> PKG_CONFIG="/work/alistai/software/buildroot/output/host/usr/bin/pkg-config"
> STAGING_DIR="/work/alistai/software/buildroot/output/host/usr/arm-buildroot-linux-musleabihf/sysroot"
> INTLTOOL_PERL=/usr/bin/perl /usr/bin/make -j11 dist-xen dist-tools -C
> /work/alistai/software/buildroot/output/build/xen-4.8.0/
> make[1]: Entering directory
> '/work/alistai/software/buildroot/output/build/xen-4.8.0'
> /usr/bin/make -C xen install
> /usr/bin/make -C tools install
> make[2]: Entering directory
> '/work/alistai/software/buildroot/output/build/xen-4.8.0/xen'
> make[2]: Entering directory
> '/work/alistai/software/buildroot/output/build/xen-4.8.0/tools'
> /usr/bin/make -f
> /work/alistai/software/buildroot/output/build/xen-4.8.0/xen/tools/kconfig/Makefile.kconfig
> ARCH=arm32 SRCARCH=arm HOSTCC="/usr/bin/gcc" HOSTCXX="/usr/bin/g++"
> defconfig
> make[3]: Entering directory
> '/work/alistai/software/buildroot/output/build/xen-4.8.0/xen'
> make[3]: Entering directory
> '/work/alistai/software/buildroot/output/build/xen-4.8.0/tools'
> /usr/bin/gcc -Wp,-MD,tools/kconfig/.conf.o.d -Wall -Werror
> -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing
> -Wdeclaration-after-statement     -DCURSES_LOC="<ncurses.h>"
> -DNCURSES_WIDECHAR=1 -DLOCALE -DKBUILD_NO_NLS  -c -o
> tools/kconfig/conf.o tools/kconfig/conf.c
> /usr/bin/gcc -Wp,-MD,tools/kconfig/.zconf.tab.o.d -Wall -Werror
> -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing
> -Wdeclaration-after-statement     -DCURSES_LOC="<ncurses.h>"
> -DNCURSES_WIDECHAR=1 -DLOCALE -DKBUILD_NO_NLS -Itools/kconfig -c -o
> tools/kconfig/zconf.tab.o tools/kconfig/zconf.tab.c
> tools/kconfig/conf.c: In function ‘check_stdin’:
> tools/kconfig/conf.c:77:3: error: format not a string literal and no
> format arguments [-Werror=format-security]
>    printf(_("aborted!\n\n"));
>    ^
> tools/kconfig/conf.c:78:3: error: format not a string literal and no
> format arguments [-Werror=format-security]
>    printf(_("Console input/output is redirected. "));
>    ^
> tools/kconfig/conf.c:79:3: error: format not a string literal and no
> format arguments [-Werror=format-security]
>    printf(_("Run 'make oldconfig' to update configuration.\n\n"));
>    ^
> tools/kconfig/conf.c: In function ‘conf_askvalue’:
> tools/kconfig/conf.c:89:3: error: format not a string literal and no
> format arguments [-Werror=format-security]
>    printf(_("(NEW) "));
>    ^
> tools/kconfig/conf.c: In function ‘conf_choice’:
> tools/kconfig/conf.c:290:5: error: format not a string literal and no
> format arguments [-Werror=format-security]
>      printf(_(" (NEW)"));
>      ^
> tools/kconfig/conf.c: In function ‘check_conf’:
> tools/kconfig/conf.c:438:6: error: format not a string literal and no
> format arguments [-Werror=format-security]
>       printf(_("*\n* Restart config...\n*\n"));
>       ^
> tools/kconfig/conf.c: In function ‘main’:
> tools/kconfig/conf.c:640:6: error: format not a string literal and no
> format arguments [-Werror=format-security]
>       _("\n*** The configuration requires explicit update.\n\n"));
>       ^
> tools/kconfig/conf.c:693:4: error: format not a string literal and no
> format arguments [-Werror=format-security]
>     fprintf(stderr, _("\n*** Error during writing of the 
> configuration.\n\n"));
>     ^
> tools/kconfig/conf.c:697:4: error: format not a string literal and no
> format arguments [-Werror=format-security]
>     fprintf(stderr, _("\n*** Error during update of the configuration.\n\n"));
>     ^
> tools/kconfig/conf.c:708:4: error: format not a string literal and no
> format arguments [-Werror=format-security]
>     fprintf(stderr, _("\n*** Error during writing of the 
> configuration.\n\n"));
>
>
>>
>> Thanks,
>>
>> Alistair
>>
>>>
>>>> Everyone seems fairly open to an override. Is a environment variable,
>>>> which if set will disable Werror acceptable? Something like NO_ERROR=Y
>>>> which will result in no -Werror being appended.
>>>
>>> Yes, an environment variable would be acceptable, but it should have
>>> the right name and semantics and ideally we could reuse an existing
>>> variable or fix it if it is broken.
>>>
>>> How about `APPEND_CFLAGS=-Wno-error' ? :-)
>>>
>>> Thanks,
>>> Ian.
>>>
>>> _______________________________________________
>>> Xen-devel mailing list
>>> Xen-devel@xxxxxxxxxxxxx
>>> https://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.