Re: HOST_* flags are not used by gnulib

2014-07-27 Thread Andrey Borzenkov
В Wed, 23 Jul 2014 09:41:38 +0200
Vladimir 'φ-coder/phcoder' Serbinenko  пишет:

> 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)

The problem is that CFLAGS leak into target. Default compilation
command used by automake is

COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)

And any initial CFLAGS setting is passed through to all generated
Makefiles. 

So instructions in INSTALL are, unfortunately, wrong - CFLAGS cannot be
safely used to initialize host environment.

> > Is it intentional?
> > 
> > ___
> > Grub-devel mailing list
> > Grub-devel@gnu.org
> > https://lists.gnu.org/mailman/listinfo/grub-devel
> > 
> 
> 



signature.asc
Description: PGP signature
___
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel


Re: HOST_* flags are not used by gnulib

2014-07-27 Thread Mike Gilbert
On Sun, Jul 27, 2014 at 2:48 PM, Andrey Borzenkov  wrote:
> В Sun, 27 Jul 2014 20:42:36 +0200
> Vladimir 'φ-coder/phcoder' Serbinenko  пишет:
>
>> On 27.07.2014 20:39, Andrey Borzenkov wrote:
>> > В Sun, 27 Jul 2014 14:24:07 -0400
>> > Mike Gilbert  пишет:
>> >
>> >> On Sun, Jul 27, 2014 at 2:10 PM, Vladimir 'phcoder' Serbinenko
>> >>  wrote:
>> >>>
>> >>> On 27 Jul 2014 20:07, "Mike Gilbert"  wrote:
>> 
>>  On Wed, Jul 23, 2014 at 3:41 AM, Vladimir 'φ-coder/phcoder' Serbinenko
>>   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.
>
> It sets AM_CFLAGS, not CFLAGS.
>
> AM_CFLAGS = $(TARGET_CFLAGS)
>

Right. I end up with this in grub-core/Makefile:

CFLAGS = -march=x86-64
...
AM_CFLAGS = $(TARGET_CFLAGS)
...
lib/disk_module-disk.o: lib/disk.c
$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES)
$(disk_module_CPPFLAGS) $(CPPFLAGS) $(disk_module_CFLAGS) $(CFLAGS)
-MT lib/disk_module-disk.o -MD -MP -MF
lib/$(DEPDIR)/disk_module-disk.Tpo -c -o lib/disk_module-disk.o `test
-f 'lib/disk.c' || echo '$(srcdir)/'`lib/disk.c

___
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel


Re: HOST_* flags are not used by gnulib

2014-07-27 Thread Andrey Borzenkov
В Sun, 27 Jul 2014 20:42:36 +0200
Vladimir 'φ-coder/phcoder' Serbinenko  пишет:

> On 27.07.2014 20:39, Andrey Borzenkov wrote:
> > В Sun, 27 Jul 2014 14:24:07 -0400
> > Mike Gilbert  пишет:
> > 
> >> On Sun, Jul 27, 2014 at 2:10 PM, Vladimir 'phcoder' Serbinenko
> >>  wrote:
> >>>
> >>> On 27 Jul 2014 20:07, "Mike Gilbert"  wrote:
> 
>  On Wed, Jul 23, 2014 at 3:41 AM, Vladimir 'φ-coder/phcoder' Serbinenko
>   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.

It sets AM_CFLAGS, not CFLAGS.

AM_CFLAGS = $(TARGET_CFLAGS)

> > ./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
> >> Grub-devel@gnu.org
> >> https://lists.gnu.org/mailman/listinfo/grub-devel
> > 
> > 
> > ___
> > Grub-devel mailing list
> > Grub-devel@gnu.org
> > https://lists.gnu.org/mailman/listinfo/grub-devel
> > 
> 
> 



signature.asc
Description: PGP signature
___
Grub-devel maili

Re: HOST_* flags are not used by gnulib

2014-07-27 Thread Vladimir 'φ-coder/phcoder' Serbinenko
On 27.07.2014 20:39, Andrey Borzenkov wrote:
> В Sun, 27 Jul 2014 14:24:07 -0400
> Mike Gilbert  пишет:
> 
>> On Sun, Jul 27, 2014 at 2:10 PM, Vladimir 'phcoder' Serbinenko
>>  wrote:
>>>
>>> On 27 Jul 2014 20:07, "Mike Gilbert"  wrote:

 On Wed, Jul 23, 2014 at 3:41 AM, Vladimir 'φ-coder/phcoder' Serbinenko
  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
>> Grub-devel@gnu.org
>> https://lists.gnu.org/mailman/listinfo/grub-devel
> 
> 
> ___
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
> 




signature.asc
Description: OpenPGP digital signature
___
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel


Re: HOST_* flags are not used by gnulib

2014-07-27 Thread Andrey Borzenkov
В Sun, 27 Jul 2014 14:24:07 -0400
Mike Gilbert  пишет:

> On Sun, Jul 27, 2014 at 2:10 PM, Vladimir 'phcoder' Serbinenko
>  wrote:
> >
> > On 27 Jul 2014 20:07, "Mike Gilbert"  wrote:
> >>
> >> On Wed, Jul 23, 2014 at 3:41 AM, Vladimir 'φ-coder/phcoder' Serbinenko
> >>  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.

./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
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel


___
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel


Re: HOST_* flags are not used by gnulib

2014-07-27 Thread Mike Gilbert
On Sun, Jul 27, 2014 at 2:10 PM, Vladimir 'phcoder' Serbinenko
 wrote:
>
> On 27 Jul 2014 20:07, "Mike Gilbert"  wrote:
>>
>> On Wed, Jul 23, 2014 at 3:41 AM, Vladimir 'φ-coder/phcoder' Serbinenko
>>  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
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
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel


Re: HOST_* flags are not used by gnulib

2014-07-27 Thread Vladimir 'phcoder' Serbinenko
On 27 Jul 2014 20:07, "Mike Gilbert"  wrote:
>
> On Wed, Jul 23, 2014 at 3:41 AM, Vladimir 'φ-coder/phcoder' Serbinenko
>  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?
___
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
___
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel


Re: HOST_* flags are not used by gnulib

2014-07-27 Thread Mike Gilbert
On Wed, Jul 23, 2014 at 3:41 AM, Vladimir 'φ-coder/phcoder' Serbinenko
 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.

___
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel


Re: HOST_* flags are not used by gnulib

2014-07-24 Thread Vladimir 'φ-coder/phcoder' Serbinenko
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)
> Is it intentional?
> 
> ___
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
> 




signature.asc
Description: OpenPGP digital signature
___
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel


HOST_* flags are not used by gnulib

2014-04-03 Thread Andrey Borzenkov
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.

Is it intentional?

___
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel