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