grub-devel
[Top][All Lists]
Advanced

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

Re: HOST_* flags are not used by gnulib


From: Vladimir 'φ-coder/phcoder' Serbinenko
Subject: Re: HOST_* flags are not used by gnulib
Date: Sun, 27 Jul 2014 20:42:36 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.0

On 27.07.2014 20:39, Andrey Borzenkov wrote:
> В Sun, 27 Jul 2014 14:24:07 -0400
> Mike Gilbert <address@hidden> пишет:
> 
>> On Sun, Jul 27, 2014 at 2:10 PM, Vladimir 'phcoder' Serbinenko
>> <address@hidden> wrote:
>>>
>>> On 27 Jul 2014 20:07, "Mike Gilbert" <address@hidden> wrote:
>>>>
>>>> On Wed, Jul 23, 2014 at 3:41 AM, Vladimir 'φ-coder/phcoder' Serbinenko
>>>> <address@hidden> wrote:
>>>>> On 03.04.2014 20:01, Andrey Borzenkov wrote:
>>>>>> I noticed that host flags are not propagated to gnulib. This does not
>>>>>> feel right; in particular I noticed it because attempt to enable
>>>>>> debugging for host tools (HOST_CFLAGS=-g) did not work for gnulib
>>>>>> files.
>>>>>>
>>>>> It should be just CFLAGS (refer to INSTALL)
>>>>
>>>> Last I checked, CFLAGS ends up getting used for both host utilities
>>>> and at least some of the target/boot code. That might be a bug in the
>>>> build system.
>>>>
>>>>
>>> CFLAGS is used as default for TARGET_CFLAGS. If it happens in another
>>> context it's most likely a bug. Can you provide more details?
>>
>> Sure. If I configure with this script:
>>
>> #!/bin/sh
>> CHOST=x86_64-pc-linux-gnu
>> CBUILD=$CHOST
>> CTARGET=armv7a-hardfloat-linux-gnueabi
>> S="${HOME}"/src/grub
>>
>> # This will cause a build failure if passed to armv7a compiler
>> export CFLAGS="-march=x86-64"
>> export TARGET_CFLAGS="-Os"
>>
>> "${S}"/configure --build="${CBUILD}" --host="${CHOST}" --target="${CTARGET}"
>>
>>
>> I get this build failure:
>>
>> armv7a-hardfloat-linux-gnueabi-gcc -DHAVE_CONFIG_H -I.
>> -I/home/floppym/src/grub/grub-core -I..  -Wall -W
>> -I/home/floppym/src/grub/include -I../include  -DGRUB_MACHINE_UBOOT=1
>> -DGRUB_MACHINE=ARM_UBOOT -nostdinc -isystem
>> /usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/4.8.3/include
>> -DGRUB_FILE=\"lib/disk.c\" -I. -I/home/floppym/src/grub/grub-core -I..
>> -I/home/floppym/src/grub -I/home/floppym/src/grub/include -I../include
>> -I/home/floppym/src/grub/grub-core/lib/libgcrypt-grub/src/     -Os
>> -Wall -W -Wshadow -Wpointer-arith -Wundef -Wchar-subscripts -Wcomment
>> -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero
>> -Wfloat-equal -Wformat-extra-args -Wformat-security -Wformat-y2k
>> -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Wmain
>> -Wmissing-braces -Wmissing-format-attribute -Wmultichar -Wparentheses
>> -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wswitch
>> -Wtrigraphs -Wunknown-pragmas -Wunused -Wunused-function
>> -Wunused-label -Wunused-parameter -Wunused-value  -Wunused-variable
>> -Wwrite-strings -Wnested-externs -Wstrict-prototypes -g
>> -Wredundant-decls -Wmissing-prototypes -Wmissing-declarations
>> -Wcast-align  -Wextra -Wattributes -Wendif-labels -Winit-self
>> -Wint-to-pointer-cast -Winvalid-pch -Wmissing-field-initializers
>> -Wnonnull -Woverflow -Wvla -Wpointer-to-int-cast -Wstrict-aliasing
>> -Wvariadic-macros -Wvolatile-register-var -Wpointer-sign
>> -Wmissing-prototypes -Wmissing-declarations -Wformat=2
>> -freg-struct-return -fno-dwarf2-cfi-asm
>> -fno-asynchronous-unwind-tables -mlong-calls -mthumb-interwork -Qn
>> -fno-stack-protector -mno-unaligned-access -Wtrampolines -Werror
>> -ffreestanding  -march=x86-64 -MT lib/disk_module-disk.o -MD -MP -MF
> 
> This is Automake generated rule for dependency tracking. It adds
> $(CFLAGS) indeed. Not sure how we can work around it.
> 
CFLAGS is supposed to be set to TARGET_CFLAGS in grub-core/Makefile. I
don't know why it didn't happen.
> ./Makefile:   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) 
> $(grub_syslinux2cfg_CPPFLAGS) $(CPPFLAGS) $(grub_syslinux2cfg_CFLAGS) 
> $(CFLAGS) -MT grub-core/kern/emu/grub_syslinux2cfg-hostfs.o -MD -MP -MF 
> grub-core/kern/emu/$(DEPDIR)/grub_syslinux2cfg-hostfs.Tpo -c -o 
> grub-core/kern/emu/grub_syslinux2cfg-hostfs.o `test -f 
> 'grub-core/kern/emu/hostfs.c' || echo '$(srcdir)/'`grub-core/kern/emu/hostfs.c
> 
> For now I'm afraid the only workaround is "do not do it" - any stray
> C(PP)FLAGS during make run will confuse it ... :(
> 
>> lib/.deps-core/disk_module-disk.Tpo -c -o lib/disk_module-disk.o `test
>> -f 'lib/disk.c' || echo '/home/floppym/src/grub/grub-core/'`lib/disk.c
>> armv7a-hardfloat-linux-gnueabi-gcc: error: unrecognized argument in
>> option ‘-march=x86-64’
>>
>> _______________________________________________
>> Grub-devel mailing list
>> address@hidden
>> https://lists.gnu.org/mailman/listinfo/grub-devel
> 
> 
> _______________________________________________
> Grub-devel mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/grub-devel
> 


Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]