Patchwork [PULL,06/10] configure: dtc: Probe for libfdt_env.h

login
register
mail settings
Submitter Peter Maydell
Date June 14, 2013, 2:53 p.m.
Message ID <1371221594-11556-7-git-send-email-peter.maydell@linaro.org>
Download mbox | patch
Permalink /patch/251450/
State New
Headers show

Comments

Peter Maydell - June 14, 2013, 2:53 p.m.
From: Peter Crosthwaite <peter.crosthwaite@xilinx.com>

Currently QEMU provides a local clone of the file libfdt_env.h in
/include. This file is supposed to come with the libfdt package and is
only needed for broken installs of libfdt. Now that we have submodule
dtc, just ignore these broken installs and prompt for the dtc submodule
install instead. QEMU's local libfdt_env.h is removed accordingly.

Manifests as a bug when building QEMU with modern libfdt. The new
version of libfdt does not compile when QEMUs libfdt_env.h takes
precedence over the hosts.

Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 9b6a3a52e3f46cfbc1ded9ab56385ec045e46705.1369628289.git.peter.crosthwaite@xilinx.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 configure            |    2 ++
 include/libfdt_env.h |   36 ------------------------------------
 2 files changed, 2 insertions(+), 36 deletions(-)
 delete mode 100644 include/libfdt_env.h
Andreas Färber - June 17, 2013, 11:24 p.m.
Am 14.06.2013 16:53, schrieb Peter Maydell:
> From: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
> 
> Currently QEMU provides a local clone of the file libfdt_env.h in
> /include. This file is supposed to come with the libfdt package and is
> only needed for broken installs of libfdt. Now that we have submodule
> dtc, just ignore these broken installs and prompt for the dtc submodule
> install instead. QEMU's local libfdt_env.h is removed accordingly.
> 
> Manifests as a bug when building QEMU with modern libfdt. The new
> version of libfdt does not compile when QEMUs libfdt_env.h takes
> precedence over the hosts.
> 
> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
> Acked-by: David Gibson <david@gibson.dropbear.id.au>
> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
> Acked-by: Paolo Bonzini <pbonzini@redhat.com>
> Message-id: 9b6a3a52e3f46cfbc1ded9ab56385ec045e46705.1369628289.git.peter.crosthwaite@xilinx.com
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>  configure            |    2 ++
>  include/libfdt_env.h |   36 ------------------------------------
>  2 files changed, 2 insertions(+), 36 deletions(-)
>  delete mode 100644 include/libfdt_env.h
> 
> diff --git a/configure b/configure
> index 8732185..31b7783 100755
> --- a/configure
> +++ b/configure
> @@ -2488,7 +2488,9 @@ fi
>  # fdt probe
>  if test "$fdt" != "no" ; then
>    fdt_libs="-lfdt"
> +  # explicitly check for libfdt_env.h as it is missing in some stable installs
>    cat > $TMPC << EOF
> +#include <libfdt_env.h>
>  int main(void) { return 0; }
>  EOF
>    if compile_prog "" "$fdt_libs" ; then

As far as I can see, 1.3.0 is the latest available stable dtc version,
and it doesn't install libfdt_env.h yet apparently. Any chance we can
restore build with dtc 1.3.0 tarball (it used to work fine) while
keeping newer versions working?

Also it seems that dtc submodule build is not multithreading-safe:

$ make -j6
[...]
	CHK version_gen.h
	UPD version_gen.h
	 DEP /home/andreas/QEMU/qemu-cpu/dtc/dtc.c
	CHK version_gen.h
	 CC libfdt/fdt.o
	 CC libfdt/fdt_ro.o
	 CC libfdt/fdt_sw.o
	 CC libfdt/fdt_wip.o
	 CC libfdt/fdt_rw.o
	 CC libfdt/fdt_strerror.o
	 AR libfdt/libfdt.a
ar: two different operation options specified
make[1]: *** [libfdt/libfdt.a] Fehler 1
make: *** [subdir-dtc] Fehler 2

$ make
	CHK version_gen.h
	 AR libfdt/libfdt.a
ar: creating libfdt/libfdt.a
a - libfdt/fdt.o
a - libfdt/fdt_ro.o
a - libfdt/fdt_wip.o
a - libfdt/fdt_sw.o
a - libfdt/fdt_rw.o
a - libfdt/fdt_strerror.o
  GEN   qapi-types.c
[...]

Regards,
Andreas

> diff --git a/include/libfdt_env.h b/include/libfdt_env.h
> deleted file mode 100644
> index 3667d4c..0000000
> --- a/include/libfdt_env.h
> +++ /dev/null
> @@ -1,36 +0,0 @@
> -/*
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License, version 2, as
> - * published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; if not, see <http://www.gnu.org/licenses/>.
> - *
> - * Copyright IBM Corp. 2008
> - * Authors: Hollis Blanchard <hollisb@us.ibm.com>
> - *
> - */
> -
> -#ifndef _LIBFDT_ENV_H
> -#define _LIBFDT_ENV_H
> -
> -#include "qemu/bswap.h"
> -
> -#ifdef HOST_WORDS_BIGENDIAN
> -#define fdt32_to_cpu(x)  (x)
> -#define cpu_to_fdt32(x)  (x)
> -#define fdt64_to_cpu(x)  (x)
> -#define cpu_to_fdt64(x)  (x)
> -#else
> -#define fdt32_to_cpu(x)  bswap32(x)
> -#define cpu_to_fdt32(x)  bswap32(x)
> -#define fdt64_to_cpu(x)  bswap64(x)
> -#define cpu_to_fdt64(x)  bswap64(x)
> -#endif
> -
> -#endif /* _LIBFDT_ENV_H */
>
Peter Maydell - June 17, 2013, 11:44 p.m.
On 18 June 2013 00:24, Andreas Färber <afaerber@suse.de> wrote:
> As far as I can see, 1.3.0 is the latest available stable dtc version,
> and it doesn't install libfdt_env.h yet apparently. Any chance we can
> restore build with dtc 1.3.0 tarball (it used to work fine) while
> keeping newer versions working?

I wanted to keep things simple, ie just require a distro
version of libfdt to be installed the way upstream say it
should be, rather than second-guessing whether a broken
libfdt is or isn't going to work with our libfdt_env.h.
Also, a lot of people out there are probably going to end
up building against the submodule libfdt, so it's helpful
to have at least some of the qemu developers building that
way too...

> Also it seems that dtc submodule build is not multithreading-safe:

...it helps reveal bugs like this one before release
rather than afterwards. I'm having trouble figuring out
why it doesn't work, though (I usually run with at least
j3 and it's fine, plus the makefile rules are pretty
simple) -- can you reproduce with V=1 so we can see what
commands are actually being run?

thanks
-- PMM
David Gibson - June 18, 2013, 12:03 a.m.
On Tue, Jun 18, 2013 at 12:44:02AM +0100, Peter Maydell wrote:
> On 18 June 2013 00:24, Andreas Färber <afaerber@suse.de> wrote:
> > As far as I can see, 1.3.0 is the latest available stable dtc version,
> > and it doesn't install libfdt_env.h yet apparently. Any chance we can
> > restore build with dtc 1.3.0 tarball (it used to work fine) while
> > keeping newer versions working?
> 
> I wanted to keep things simple, ie just require a distro
> version of libfdt to be installed the way upstream say it
> should be, rather than second-guessing whether a broken
> libfdt is or isn't going to work with our libfdt_env.h.
> Also, a lot of people out there are probably going to end
> up building against the submodule libfdt, so it's helpful
> to have at least some of the qemu developers building that
> way too...
> 
> > Also it seems that dtc submodule build is not multithreading-safe:
> 
> ...it helps reveal bugs like this one before release
> rather than afterwards. I'm having trouble figuring out
> why it doesn't work, though (I usually run with at least
> j3 and it's fine, plus the makefile rules are pretty
> simple) -- can you reproduce with V=1 so we can see what
> commands are actually being run?

Likewise.  I can't see why that wouldn't work.  V=1 might help,
although V=1 also changes the options to AR (adds verbose mode), so I
hope that doesn't mess up the results.
Andreas Färber - June 18, 2013, 12:46 a.m.
Am 18.06.2013 01:44, schrieb Peter Maydell:
> On 18 June 2013 00:24, Andreas Färber <afaerber@suse.de> wrote:
>> As far as I can see, 1.3.0 is the latest available stable dtc version,
>> and it doesn't install libfdt_env.h yet apparently. Any chance we can
>> restore build with dtc 1.3.0 tarball (it used to work fine) while
>> keeping newer versions working?
> 
> I wanted to keep things simple, ie just require a distro
> version of libfdt to be installed the way upstream say it
> should be, rather than second-guessing whether a broken
> libfdt is or isn't going to work with our libfdt_env.h.

Quote: "(1) Preferred: Install the DTC devel package"

Just to clarify: I am pointing out that apparently there is *no* stable
version 1.4.0 or 1.3.1 that installs the expected libfdt_env.h:

http://git.jdl.com/gitweb/?p=dtc.git;a=tags

And I believe a request to package a random git commit for openSUSE
distro is going to be declined.

So I would be perfectly happy if the dtc maintainers were to provide an
official tarball that I can get into our distribution. Then we don't
need to tweak QEMU's configure at all. :)

> Also, a lot of people out there are probably going to end
> up building against the submodule libfdt, so it's helpful
> to have at least some of the qemu developers building that
> way too...
> 
>> Also it seems that dtc submodule build is not multithreading-safe:
> 
> ...it helps reveal bugs like this one before release
> rather than afterwards.

Yeah, I did write I wanted to test it but didn't get to it immediately
and later forgot. :$

> I'm having trouble figuring out
> why it doesn't work, though (I usually run with at least
> j3 and it's fine, plus the makefile rules are pretty
> simple) -- can you reproduce with V=1 so we can see what
> commands are actually being run?

Here you go, for the next repository:

$ make -j6 V=1
config-host.mak is out-of-date, running configure
python /home/andreas/QEMU/qemu-ppc/scripts/qapi-commands.py -h -m -o "."
< /home/andreas/QEMU/qemu-ppc/qapi-schema.json
python /home/andreas/QEMU/qemu-ppc/scripts/qapi-types.py -h -o "." -b <
/home/andreas/QEMU/qemu-ppc/qapi-schema.json
python /home/andreas/QEMU/qemu-ppc/scripts/qapi-visit.py -h -o "." -b <
/home/andreas/QEMU/qemu-ppc/qapi-schema.json
Install prefix    /usr/local
BIOS directory    /usr/local/share/qemu
binary directory  /usr/local/bin
library directory /usr/local/lib
libexec directory /usr/local/libexec
include directory /usr/local/include
config directory  /usr/local/etc
local state directory   /usr/local/var
Manual directory  /usr/local/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path       /home/andreas/QEMU/qemu-ppc
C compiler        cc
Host C compiler   cc
Objective-C compiler clang
CFLAGS            -O2 -D_FORTIFY_SOURCE=2 -g
QEMU_CFLAGS       -Werror -fPIE -DPIE -m64 -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes
-Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes
-fno-strict-aliasing  -Wendif-labels -Wmissing-include-dirs -Wempty-body
-Wnested-externs -Wformat-security -Wformat-y2k -Winit-self
-Wignored-qualifiers -Wold-style-declaration -Wold-style-definition
-Wtype-limits -fstack-protector-all -I/usr/include/libseccomp-1.0.1
-I/usr/include/libpng15   -I/usr/include/spice-server
-I/usr/include/pixman-1 -I/usr/include/spice-1   -I/usr/include/pixman-1
  -I$(SRC_PATH)/dtc/libfdt
LDFLAGS           -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g
make              make
install           install
python            python
smbd              /usr/sbin/smbd
host CPU          x86_64
host big endian   no
target list       ppc-softmmu ppc64-softmmu ppcemb-softmmu
ppc-linux-user ppc64-linux-user ppc64abi32-linux-user
tcg debug enabled no
gprof enabled     no
sparse enabled    no
strip binaries    yes
profiler          no
static build      no
-Werror enabled   yes
pixman            system
SDL support       yes
GTK support       yes
curses support    yes
curl support      yes
mingw32 support   no
Audio drivers     oss
Block whitelist (rw)
Block whitelist (ro)
Mixer emulation   no
VirtFS support    yes
VNC support       yes
VNC TLS support   no
VNC SASL support  no
VNC JPEG support  no
VNC PNG support   yes
VNC WS support    no
xen support       yes
brlapi support    no
bluez  support    no
Documentation     no
NPTL support      yes
GUEST_BASE        yes
PIE               yes
vde support       no
Linux AIO support yes
ATTR/XATTR support yes
Install blobs     yes
KVM support       yes
TCG interpreter   no
fdt support       yes
preadv support    yes
fdatasync         yes
madvise           yes
posix_madvise     yes
sigev_thread_id   yes
uuid support      yes
libcap-ng support yes
vhost-net support yes
vhost-scsi support yes
Trace backend     nop
Trace output file trace-<pid>
spice support     yes (0.12.3/0.12.0)
rbd support       no
xfsctl support    no
nss used          no
libusb            no
usb net redir     no
GLX support       yes
libiscsi support  no
build guest agent yes
seccomp support   yes
coroutine backend ucontext
GlusterFS support no
virtio-blk-data-plane yes
gcov              gcov
gcov enabled      no
TPM support       no
libssh2 support   no
TPM passthrough   no
QOM debugging     yes
sh /home/andreas/QEMU/qemu-ppc/scripts/create_config < config-host.mak >
config-host.h-timestamp
mkdir -p dtc/libfdt
mkdir -p dtc/tests
python /home/andreas/QEMU/qemu-ppc/scripts/tracetool.py --format=h
--backend=nop < /home/andreas/QEMU/qemu-ppc/trace-events >
trace/generated-tracers.h-timestamp
make -I/home/andreas/QEMU/qemu-ppc/dtc
VPATH=/home/andreas/QEMU/qemu-ppc/dtc -C dtc V="1"
LIBFDT_srcdir=/home/andreas/QEMU/qemu-ppc/dtc/libfdt CFLAGS="-O2
-D_FORTIFY_SOURCE=2 -g  -Werror -fPIE -DPIE -m64 -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes
-Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes
-fno-strict-aliasing  -Wendif-labels -Wmissing-include-dirs -Wempty-body
-Wnested-externs -Wformat-security -Wformat-y2k -Winit-self
-Wignored-qualifiers -Wold-style-declaration -Wold-style-definition
-Wtype-limits -fstack-protector-all -I/usr/include/libseccomp-1.0.1
-I/usr/include/libpng15   -I/usr/include/spice-server
-I/usr/include/pixman-1 -I/usr/include/spice-1   -I/usr/include/pixman-1
  -I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -pthread
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
-I/home/andreas/QEMU/qemu-ppc/tests -I/home/andreas/QEMU/build-ppc/dtc
-I/home/andreas/QEMU/qemu-ppc/dtc
-I/home/andreas/QEMU/qemu-ppc/dtc/libfdt" LDFLAGS="-Wl,--warn-common
-Wl,-z,relro -Wl,-z,now -pie -m64 -g " ARFLAGS="" CC="cc" AR="ar"
LD="ld"  BUILD_DIR=/home/andreas/QEMU/build-ppc libfdt/libfdt.a
make[1]: Entering directory `/home/andreas/QEMU/build-ppc/dtc'
cc -I libfdt -MM -MG -MT "tests/trees.o tests/trees.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/trees.S > tests/trees.d
cc -I libfdt -MM -MG -MT "tests/dumptrees.o tests/dumptrees.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/dumptrees.c > tests/dumptrees.d
cc -I libfdt -MM -MG -MT "tests/value-labels.o tests/value-labels.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/value-labels.c > tests/value-labels.d
cc -I libfdt -MM -MG -MT "tests/testutils.o tests/testutils.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/testutils.c > tests/testutils.d
cc -I libfdt -MM -MG -MT "tests/asm_tree_dump.o tests/asm_tree_dump.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/asm_tree_dump.c >
tests/asm_tree_dump.d
cc -I libfdt -MM -MG -MT "tests/truncated_property.o
tests/truncated_property.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/truncated_property.c >
tests/truncated_property.d
cc -I libfdt -MM -MG -MT "tests/add_subnode_with_nops.o
tests/add_subnode_with_nops.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/add_subnode_with_nops.c >
tests/add_subnode_with_nops.d
cc -I libfdt -MM -MG -MT "tests/path_offset_aliases.o
tests/path_offset_aliases.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/path_offset_aliases.c >
tests/path_offset_aliases.d
cc -I libfdt -MM -MG -MT "tests/dtbs_equal_unordered.o
tests/dtbs_equal_unordered.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/dtbs_equal_unordered.c >
tests/dtbs_equal_unordered.d
cc -I libfdt -MM -MG -MT "tests/dtb_reverse.o tests/dtb_reverse.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/dtb_reverse.c > tests/dtb_reverse.d
cc -I libfdt -MM -MG -MT "tests/dtbs_equal_ordered.o
tests/dtbs_equal_ordered.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/dtbs_equal_ordered.c >
tests/dtbs_equal_ordered.d
cc -I libfdt -MM -MG -MT "tests/extra-terminating-null.o
tests/extra-terminating-null.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/extra-terminating-null.c >
tests/extra-terminating-null.d
cc -I libfdt -MM -MG -MT "tests/incbin.o tests/incbin.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/incbin.c > tests/incbin.d
cc -I libfdt -MM -MG -MT "tests/boot-cpuid.o tests/boot-cpuid.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/boot-cpuid.c > tests/boot-cpuid.d
cc -I libfdt -MM -MG -MT "tests/phandle_format.o tests/phandle_format.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/phandle_format.c >
tests/phandle_format.d
cc -I libfdt -MM -MG -MT "tests/path-references.o
tests/path-references.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/path-references.c >
tests/path-references.d
cc -I libfdt -MM -MG -MT "tests/references.o tests/references.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/references.c > tests/references.d
cc -I libfdt -MM -MG -MT "tests/string_escapes.o tests/string_escapes.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/string_escapes.c >
tests/string_escapes.d
cc -I libfdt -MM -MG -MT "tests/del_node.o tests/del_node.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/del_node.c > tests/del_node.d
cc -I libfdt -MM -MG -MT "tests/del_property.o tests/del_property.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/del_property.c > tests/del_property.d
cc -I libfdt -MM -MG -MT "tests/setprop.o tests/setprop.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/setprop.c > tests/setprop.d
cc -I libfdt -MM -MG -MT "tests/set_name.o tests/set_name.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/set_name.c > tests/set_name.d
cc -I libfdt -MM -MG -MT "tests/rw_tree1.o tests/rw_tree1.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/rw_tree1.c > tests/rw_tree1.d
cc -I libfdt -MM -MG -MT "tests/open_pack.o tests/open_pack.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/open_pack.c > tests/open_pack.d
cc -I libfdt -MM -MG -MT "tests/nopulate.o tests/nopulate.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/nopulate.c > tests/nopulate.d
cc -I libfdt -MM -MG -MT "tests/mangle-layout.o tests/mangle-layout.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/mangle-layout.c >
tests/mangle-layout.d
cc -I libfdt -MM -MG -MT "tests/move_and_save.o tests/move_and_save.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/move_and_save.c >
tests/move_and_save.d
cc -I libfdt -MM -MG -MT "tests/sw_tree1.o tests/sw_tree1.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/sw_tree1.c > tests/sw_tree1.d
cc -I libfdt -MM -MG -MT "tests/nop_node.o tests/nop_node.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/nop_node.c > tests/nop_node.d
cc -I libfdt -MM -MG -MT "tests/nop_property.o tests/nop_property.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/nop_property.c > tests/nop_property.d
cc -I libfdt -MM -MG -MT "tests/setprop_inplace.o
tests/setprop_inplace.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/setprop_inplace.c >
tests/setprop_inplace.d
cc -I libfdt -MM -MG -MT "tests/notfound.o tests/notfound.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/notfound.c > tests/notfound.d
cc -I libfdt -MM -MG -MT "tests/get_alias.o tests/get_alias.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/get_alias.c > tests/get_alias.d
cc -I libfdt -MM -MG -MT "tests/node_offset_by_compatible.o
tests/node_offset_by_compatible.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/node_offset_by_compatible.c >
tests/node_offset_by_compatible.d
cc -I libfdt -MM -MG -MT "tests/node_check_compatible.o
tests/node_check_compatible.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/node_check_compatible.c >
tests/node_check_compatible.d
cc -I libfdt -MM -MG -MT "tests/node_offset_by_phandle.o
tests/node_offset_by_phandle.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/node_offset_by_phandle.c >
tests/node_offset_by_phandle.d
cc -I libfdt -MM -MG -MT "tests/node_offset_by_prop_value.o
tests/node_offset_by_prop_value.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/node_offset_by_prop_value.c >
tests/node_offset_by_prop_value.d
cc -I libfdt -MM -MG -MT "tests/parent_offset.o tests/parent_offset.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/parent_offset.c >
tests/parent_offset.d
cc -I libfdt -MM -MG -MT "tests/supernode_atdepth_offset.o
tests/supernode_atdepth_offset.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/supernode_atdepth_offset.c >
tests/supernode_atdepth_offset.d
cc -I libfdt -MM -MG -MT "tests/get_path.o tests/get_path.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/get_path.c > tests/get_path.d
cc -I libfdt -MM -MG -MT "tests/get_phandle.o tests/get_phandle.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/get_phandle.c > tests/get_phandle.d
cc -I libfdt -MM -MG -MT "tests/getprop.o tests/getprop.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/getprop.c > tests/getprop.d
cc -I libfdt -MM -MG -MT "tests/get_name.o tests/get_name.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/get_name.c > tests/get_name.d
cc -I libfdt -MM -MG -MT "tests/path_offset.o tests/path_offset.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/path_offset.c > tests/path_offset.d
cc -I libfdt -MM -MG -MT "tests/subnode_offset.o tests/subnode_offset.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/subnode_offset.c >
tests/subnode_offset.d
cc -I libfdt -MM -MG -MT "tests/find_property.o tests/find_property.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/find_property.c >
tests/find_property.d
cc -I libfdt -MM -MG -MT "tests/root_node.o tests/root_node.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/root_node.c > tests/root_node.d
cc -I libfdt -MM -MG -MT "tests/get_mem_rsv.o tests/get_mem_rsv.d"
/home/andreas/QEMU/qemu-ppc/dtc/tests/get_mem_rsv.c > tests/get_mem_rsv.d
cc -I libfdt -MM -MG -MT "libfdt/fdt_strerror.o libfdt/fdt_strerror.d"
/home/andreas/QEMU/qemu-ppc/dtc/libfdt/fdt_strerror.c >
libfdt/fdt_strerror.d
cc -I libfdt -MM -MG -MT "libfdt/fdt_rw.o libfdt/fdt_rw.d"
/home/andreas/QEMU/qemu-ppc/dtc/libfdt/fdt_rw.c > libfdt/fdt_rw.d
cc -I libfdt -MM -MG -MT "libfdt/fdt_sw.o libfdt/fdt_sw.d"
/home/andreas/QEMU/qemu-ppc/dtc/libfdt/fdt_sw.c > libfdt/fdt_sw.d
cc -I libfdt -MM -MG -MT "libfdt/fdt_wip.o libfdt/fdt_wip.d"
/home/andreas/QEMU/qemu-ppc/dtc/libfdt/fdt_wip.c > libfdt/fdt_wip.d
cc -I libfdt -MM -MG -MT "libfdt/fdt_ro.o libfdt/fdt_ro.d"
/home/andreas/QEMU/qemu-ppc/dtc/libfdt/fdt_ro.c > libfdt/fdt_ro.d
cc -I libfdt -MM -MG -MT "libfdt/fdt.o libfdt/fdt.d"
/home/andreas/QEMU/qemu-ppc/dtc/libfdt/fdt.c > libfdt/fdt.d
cc -I libfdt -MM -MG -MT "ftdump.o ftdump.d"
/home/andreas/QEMU/qemu-ppc/dtc/ftdump.c > ftdump.d
flex -oconvert-dtsv0-lexer.lex.c
/home/andreas/QEMU/qemu-ppc/dtc/convert-dtsv0-lexer.l
cc -I libfdt -MM -MG -MT "util.o util.d"
/home/andreas/QEMU/qemu-ppc/dtc/util.c > util.d
cc -I libfdt -MM -MG -MT "srcpos.o srcpos.d"
/home/andreas/QEMU/qemu-ppc/dtc/srcpos.c > srcpos.d
flex -odtc-lexer.lex.c /home/andreas/QEMU/qemu-ppc/dtc/dtc-lexer.l
bison -d /home/andreas/QEMU/qemu-ppc/dtc/dtc-parser.y
cc -I libfdt -MM -MG -MT "treesource.o treesource.d"
/home/andreas/QEMU/qemu-ppc/dtc/treesource.c > treesource.d
cc -I libfdt -MM -MG -MT "livetree.o livetree.d"
/home/andreas/QEMU/qemu-ppc/dtc/livetree.c > livetree.d
cc -I libfdt -MM -MG -MT "fstree.o fstree.d"
/home/andreas/QEMU/qemu-ppc/dtc/fstree.c > fstree.d
cc -I libfdt -MM -MG -MT "flattree.o flattree.d"
/home/andreas/QEMU/qemu-ppc/dtc/flattree.c > flattree.d
cc -I libfdt -MM -MG -MT "dtc.o dtc.d"
/home/andreas/QEMU/qemu-ppc/dtc/dtc.c > dtc.d
cc -I libfdt -MM -MG -MT "data.o data.d"
/home/andreas/QEMU/qemu-ppc/dtc/data.c > data.d
cc -I libfdt -MM -MG -MT "checks.o checks.d"
/home/andreas/QEMU/qemu-ppc/dtc/checks.c > checks.d
cc -I libfdt -MM -MG -MT "convert-dtsv0-lexer.lex.o
convert-dtsv0-lexer.lex.d" convert-dtsv0-lexer.lex.c >
convert-dtsv0-lexer.lex.d
cc -I libfdt -MM -MG -MT "dtc-parser.tab.o dtc-parser.tab.d"
dtc-parser.tab.c > dtc-parser.tab.d
cc -I libfdt -MM -MG -MT "dtc-lexer.lex.o dtc-lexer.lex.d"
dtc-lexer.lex.c > dtc-lexer.lex.d
make[1]: Leaving directory `/home/andreas/QEMU/build-ppc/dtc'
make[1]: Entering directory `/home/andreas/QEMU/build-ppc/dtc'
set -e; echo '	CHK version_gen.h'; mkdir -p ./; 	(echo "#define
DTC_VERSION \"DTC 1.3.0\""; ) < Makefile > version_gen.h.tmp; if [ -r
version_gen.h ] && cmp -s version_gen.h version_gen.h.tmp; then rm -f
version_gen.h.tmp; else echo '	UPD version_gen.h'; mv -f
version_gen.h.tmp version_gen.h; fi;
	CHK version_gen.h
	UPD version_gen.h
cc -I libfdt -MM -MG -MT "dtc.o dtc.d"
/home/andreas/QEMU/qemu-ppc/dtc/dtc.c > dtc.d
make[1]: Leaving directory `/home/andreas/QEMU/build-ppc/dtc'
make[1]: Entering directory `/home/andreas/QEMU/build-ppc/dtc'
set -e; echo '	CHK version_gen.h'; mkdir -p ./; 	(echo "#define
DTC_VERSION \"DTC 1.3.0\""; ) < Makefile > version_gen.h.tmp; if [ -r
version_gen.h ] && cmp -s version_gen.h version_gen.h.tmp; then rm -f
version_gen.h.tmp; else echo '	UPD version_gen.h'; mv -f
version_gen.h.tmp version_gen.h; fi;
	CHK version_gen.h
cc -I libfdt -O2 -D_FORTIFY_SOURCE=2 -g  -Werror -fPIE -DPIE -m64
-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings
-Wmissing-prototypes -fno-strict-aliasing  -Wendif-labels
-Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security
-Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration
-Wold-style-definition -Wtype-limits -fstack-protector-all
-I/usr/include/libseccomp-1.0.1   -I/usr/include/libpng15
-I/usr/include/spice-server -I/usr/include/pixman-1
-I/usr/include/spice-1   -I/usr/include/pixman-1
-I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -pthread
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
-I/home/andreas/QEMU/qemu-ppc/tests -I/home/andreas/QEMU/build-ppc/dtc
-I/home/andreas/QEMU/qemu-ppc/dtc
-I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -o libfdt/fdt_ro.o -c
/home/andreas/QEMU/qemu-ppc/dtc/libfdt/fdt_ro.c
cc -I libfdt -O2 -D_FORTIFY_SOURCE=2 -g  -Werror -fPIE -DPIE -m64
-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings
-Wmissing-prototypes -fno-strict-aliasing  -Wendif-labels
-Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security
-Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration
-Wold-style-definition -Wtype-limits -fstack-protector-all
-I/usr/include/libseccomp-1.0.1   -I/usr/include/libpng15
-I/usr/include/spice-server -I/usr/include/pixman-1
-I/usr/include/spice-1   -I/usr/include/pixman-1
-I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -pthread
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
-I/home/andreas/QEMU/qemu-ppc/tests -I/home/andreas/QEMU/build-ppc/dtc
-I/home/andreas/QEMU/qemu-ppc/dtc
-I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -o libfdt/fdt.o -c
/home/andreas/QEMU/qemu-ppc/dtc/libfdt/fdt.c
cc -I libfdt -O2 -D_FORTIFY_SOURCE=2 -g  -Werror -fPIE -DPIE -m64
-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings
-Wmissing-prototypes -fno-strict-aliasing  -Wendif-labels
-Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security
-Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration
-Wold-style-definition -Wtype-limits -fstack-protector-all
-I/usr/include/libseccomp-1.0.1   -I/usr/include/libpng15
-I/usr/include/spice-server -I/usr/include/pixman-1
-I/usr/include/spice-1   -I/usr/include/pixman-1
-I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -pthread
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
-I/home/andreas/QEMU/qemu-ppc/tests -I/home/andreas/QEMU/build-ppc/dtc
-I/home/andreas/QEMU/qemu-ppc/dtc
-I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -o libfdt/fdt_wip.o -c
/home/andreas/QEMU/qemu-ppc/dtc/libfdt/fdt_wip.c
cc -I libfdt -O2 -D_FORTIFY_SOURCE=2 -g  -Werror -fPIE -DPIE -m64
-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings
-Wmissing-prototypes -fno-strict-aliasing  -Wendif-labels
-Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security
-Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration
-Wold-style-definition -Wtype-limits -fstack-protector-all
-I/usr/include/libseccomp-1.0.1   -I/usr/include/libpng15
-I/usr/include/spice-server -I/usr/include/pixman-1
-I/usr/include/spice-1   -I/usr/include/pixman-1
-I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -pthread
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
-I/home/andreas/QEMU/qemu-ppc/tests -I/home/andreas/QEMU/build-ppc/dtc
-I/home/andreas/QEMU/qemu-ppc/dtc
-I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -o libfdt/fdt_sw.o -c
/home/andreas/QEMU/qemu-ppc/dtc/libfdt/fdt_sw.c
cc -I libfdt -O2 -D_FORTIFY_SOURCE=2 -g  -Werror -fPIE -DPIE -m64
-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings
-Wmissing-prototypes -fno-strict-aliasing  -Wendif-labels
-Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security
-Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration
-Wold-style-definition -Wtype-limits -fstack-protector-all
-I/usr/include/libseccomp-1.0.1   -I/usr/include/libpng15
-I/usr/include/spice-server -I/usr/include/pixman-1
-I/usr/include/spice-1   -I/usr/include/pixman-1
-I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -pthread
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
-I/home/andreas/QEMU/qemu-ppc/tests -I/home/andreas/QEMU/build-ppc/dtc
-I/home/andreas/QEMU/qemu-ppc/dtc
-I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -o libfdt/fdt_rw.o -c
/home/andreas/QEMU/qemu-ppc/dtc/libfdt/fdt_rw.c
cc -I libfdt -O2 -D_FORTIFY_SOURCE=2 -g  -Werror -fPIE -DPIE -m64
-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings
-Wmissing-prototypes -fno-strict-aliasing  -Wendif-labels
-Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security
-Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration
-Wold-style-definition -Wtype-limits -fstack-protector-all
-I/usr/include/libseccomp-1.0.1   -I/usr/include/libpng15
-I/usr/include/spice-server -I/usr/include/pixman-1
-I/usr/include/spice-1   -I/usr/include/pixman-1
-I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -pthread
-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
-I/home/andreas/QEMU/qemu-ppc/tests -I/home/andreas/QEMU/build-ppc/dtc
-I/home/andreas/QEMU/qemu-ppc/dtc
-I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -o libfdt/fdt_strerror.o -c
/home/andreas/QEMU/qemu-ppc/dtc/libfdt/fdt_strerror.c
ar  libfdt/libfdt.a libfdt/fdt.o libfdt/fdt_ro.o libfdt/fdt_wip.o
libfdt/fdt_sw.o libfdt/fdt_rw.o libfdt/fdt_strerror.o
ar: two different operation options specified
make[1]: *** [libfdt/libfdt.a] Fehler 1
make[1]: Leaving directory `/home/andreas/QEMU/build-ppc/dtc'
make: *** [subdir-dtc] Fehler 2

Andreas
Peter Crosthwaite - June 18, 2013, 12:52 a.m.
On Tue, Jun 18, 2013 at 10:46 AM, Andreas Färber <afaerber@suse.de> wrote:
> Am 18.06.2013 01:44, schrieb Peter Maydell:
>> On 18 June 2013 00:24, Andreas Färber <afaerber@suse.de> wrote:
>>> As far as I can see, 1.3.0 is the latest available stable dtc version,
>>> and it doesn't install libfdt_env.h yet apparently. Any chance we can
>>> restore build with dtc 1.3.0 tarball (it used to work fine) while
>>> keeping newer versions working?
>>
>> I wanted to keep things simple, ie just require a distro
>> version of libfdt to be installed the way upstream say it
>> should be, rather than second-guessing whether a broken
>> libfdt is or isn't going to work with our libfdt_env.h.
>
> Quote: "(1) Preferred: Install the DTC devel package"
>
> Just to clarify: I am pointing out that apparently there is *no* stable
> version 1.4.0 or 1.3.1 that installs the expected libfdt_env.h:
>
> http://git.jdl.com/gitweb/?p=dtc.git;a=tags
>
> And I believe a request to package a random git commit for openSUSE
> distro is going to be declined.
>
> So I would be perfectly happy if the dtc maintainers were to provide an
> official tarball that I can get into our distribution. Then we don't
> need to tweak QEMU's configure at all. :)
>

Yes, this is massively overdue. Bugfixes aside DTC has seen some
significant feature development since 1.3.0.

Regards,
Peter

>> Also, a lot of people out there are probably going to end
>> up building against the submodule libfdt, so it's helpful
>> to have at least some of the qemu developers building that
>> way too...
>>
>>> Also it seems that dtc submodule build is not multithreading-safe:
>>
>> ...it helps reveal bugs like this one before release
>> rather than afterwards.
>
> Yeah, I did write I wanted to test it but didn't get to it immediately
> and later forgot. :$
>
>> I'm having trouble figuring out
>> why it doesn't work, though (I usually run with at least
>> j3 and it's fine, plus the makefile rules are pretty
>> simple) -- can you reproduce with V=1 so we can see what
>> commands are actually being run?
>
> Here you go, for the next repository:
>
> $ make -j6 V=1
> config-host.mak is out-of-date, running configure
> python /home/andreas/QEMU/qemu-ppc/scripts/qapi-commands.py -h -m -o "."
> < /home/andreas/QEMU/qemu-ppc/qapi-schema.json
> python /home/andreas/QEMU/qemu-ppc/scripts/qapi-types.py -h -o "." -b <
> /home/andreas/QEMU/qemu-ppc/qapi-schema.json
> python /home/andreas/QEMU/qemu-ppc/scripts/qapi-visit.py -h -o "." -b <
> /home/andreas/QEMU/qemu-ppc/qapi-schema.json
> Install prefix    /usr/local
> BIOS directory    /usr/local/share/qemu
> binary directory  /usr/local/bin
> library directory /usr/local/lib
> libexec directory /usr/local/libexec
> include directory /usr/local/include
> config directory  /usr/local/etc
> local state directory   /usr/local/var
> Manual directory  /usr/local/share/man
> ELF interp prefix /usr/gnemul/qemu-%M
> Source path       /home/andreas/QEMU/qemu-ppc
> C compiler        cc
> Host C compiler   cc
> Objective-C compiler clang
> CFLAGS            -O2 -D_FORTIFY_SOURCE=2 -g
> QEMU_CFLAGS       -Werror -fPIE -DPIE -m64 -D_GNU_SOURCE
> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes
> -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes
> -fno-strict-aliasing  -Wendif-labels -Wmissing-include-dirs -Wempty-body
> -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self
> -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition
> -Wtype-limits -fstack-protector-all -I/usr/include/libseccomp-1.0.1
> -I/usr/include/libpng15   -I/usr/include/spice-server
> -I/usr/include/pixman-1 -I/usr/include/spice-1   -I/usr/include/pixman-1
>   -I$(SRC_PATH)/dtc/libfdt
> LDFLAGS           -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g
> make              make
> install           install
> python            python
> smbd              /usr/sbin/smbd
> host CPU          x86_64
> host big endian   no
> target list       ppc-softmmu ppc64-softmmu ppcemb-softmmu
> ppc-linux-user ppc64-linux-user ppc64abi32-linux-user
> tcg debug enabled no
> gprof enabled     no
> sparse enabled    no
> strip binaries    yes
> profiler          no
> static build      no
> -Werror enabled   yes
> pixman            system
> SDL support       yes
> GTK support       yes
> curses support    yes
> curl support      yes
> mingw32 support   no
> Audio drivers     oss
> Block whitelist (rw)
> Block whitelist (ro)
> Mixer emulation   no
> VirtFS support    yes
> VNC support       yes
> VNC TLS support   no
> VNC SASL support  no
> VNC JPEG support  no
> VNC PNG support   yes
> VNC WS support    no
> xen support       yes
> brlapi support    no
> bluez  support    no
> Documentation     no
> NPTL support      yes
> GUEST_BASE        yes
> PIE               yes
> vde support       no
> Linux AIO support yes
> ATTR/XATTR support yes
> Install blobs     yes
> KVM support       yes
> TCG interpreter   no
> fdt support       yes
> preadv support    yes
> fdatasync         yes
> madvise           yes
> posix_madvise     yes
> sigev_thread_id   yes
> uuid support      yes
> libcap-ng support yes
> vhost-net support yes
> vhost-scsi support yes
> Trace backend     nop
> Trace output file trace-<pid>
> spice support     yes (0.12.3/0.12.0)
> rbd support       no
> xfsctl support    no
> nss used          no
> libusb            no
> usb net redir     no
> GLX support       yes
> libiscsi support  no
> build guest agent yes
> seccomp support   yes
> coroutine backend ucontext
> GlusterFS support no
> virtio-blk-data-plane yes
> gcov              gcov
> gcov enabled      no
> TPM support       no
> libssh2 support   no
> TPM passthrough   no
> QOM debugging     yes
> sh /home/andreas/QEMU/qemu-ppc/scripts/create_config < config-host.mak >
> config-host.h-timestamp
> mkdir -p dtc/libfdt
> mkdir -p dtc/tests
> python /home/andreas/QEMU/qemu-ppc/scripts/tracetool.py --format=h
> --backend=nop < /home/andreas/QEMU/qemu-ppc/trace-events >
> trace/generated-tracers.h-timestamp
> make -I/home/andreas/QEMU/qemu-ppc/dtc
> VPATH=/home/andreas/QEMU/qemu-ppc/dtc -C dtc V="1"
> LIBFDT_srcdir=/home/andreas/QEMU/qemu-ppc/dtc/libfdt CFLAGS="-O2
> -D_FORTIFY_SOURCE=2 -g  -Werror -fPIE -DPIE -m64 -D_GNU_SOURCE
> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes
> -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes
> -fno-strict-aliasing  -Wendif-labels -Wmissing-include-dirs -Wempty-body
> -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self
> -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition
> -Wtype-limits -fstack-protector-all -I/usr/include/libseccomp-1.0.1
> -I/usr/include/libpng15   -I/usr/include/spice-server
> -I/usr/include/pixman-1 -I/usr/include/spice-1   -I/usr/include/pixman-1
>   -I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -pthread
> -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
> -I/home/andreas/QEMU/qemu-ppc/tests -I/home/andreas/QEMU/build-ppc/dtc
> -I/home/andreas/QEMU/qemu-ppc/dtc
> -I/home/andreas/QEMU/qemu-ppc/dtc/libfdt" LDFLAGS="-Wl,--warn-common
> -Wl,-z,relro -Wl,-z,now -pie -m64 -g " ARFLAGS="" CC="cc" AR="ar"
> LD="ld"  BUILD_DIR=/home/andreas/QEMU/build-ppc libfdt/libfdt.a
> make[1]: Entering directory `/home/andreas/QEMU/build-ppc/dtc'
> cc -I libfdt -MM -MG -MT "tests/trees.o tests/trees.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/trees.S > tests/trees.d
> cc -I libfdt -MM -MG -MT "tests/dumptrees.o tests/dumptrees.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/dumptrees.c > tests/dumptrees.d
> cc -I libfdt -MM -MG -MT "tests/value-labels.o tests/value-labels.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/value-labels.c > tests/value-labels.d
> cc -I libfdt -MM -MG -MT "tests/testutils.o tests/testutils.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/testutils.c > tests/testutils.d
> cc -I libfdt -MM -MG -MT "tests/asm_tree_dump.o tests/asm_tree_dump.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/asm_tree_dump.c >
> tests/asm_tree_dump.d
> cc -I libfdt -MM -MG -MT "tests/truncated_property.o
> tests/truncated_property.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/truncated_property.c >
> tests/truncated_property.d
> cc -I libfdt -MM -MG -MT "tests/add_subnode_with_nops.o
> tests/add_subnode_with_nops.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/add_subnode_with_nops.c >
> tests/add_subnode_with_nops.d
> cc -I libfdt -MM -MG -MT "tests/path_offset_aliases.o
> tests/path_offset_aliases.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/path_offset_aliases.c >
> tests/path_offset_aliases.d
> cc -I libfdt -MM -MG -MT "tests/dtbs_equal_unordered.o
> tests/dtbs_equal_unordered.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/dtbs_equal_unordered.c >
> tests/dtbs_equal_unordered.d
> cc -I libfdt -MM -MG -MT "tests/dtb_reverse.o tests/dtb_reverse.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/dtb_reverse.c > tests/dtb_reverse.d
> cc -I libfdt -MM -MG -MT "tests/dtbs_equal_ordered.o
> tests/dtbs_equal_ordered.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/dtbs_equal_ordered.c >
> tests/dtbs_equal_ordered.d
> cc -I libfdt -MM -MG -MT "tests/extra-terminating-null.o
> tests/extra-terminating-null.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/extra-terminating-null.c >
> tests/extra-terminating-null.d
> cc -I libfdt -MM -MG -MT "tests/incbin.o tests/incbin.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/incbin.c > tests/incbin.d
> cc -I libfdt -MM -MG -MT "tests/boot-cpuid.o tests/boot-cpuid.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/boot-cpuid.c > tests/boot-cpuid.d
> cc -I libfdt -MM -MG -MT "tests/phandle_format.o tests/phandle_format.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/phandle_format.c >
> tests/phandle_format.d
> cc -I libfdt -MM -MG -MT "tests/path-references.o
> tests/path-references.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/path-references.c >
> tests/path-references.d
> cc -I libfdt -MM -MG -MT "tests/references.o tests/references.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/references.c > tests/references.d
> cc -I libfdt -MM -MG -MT "tests/string_escapes.o tests/string_escapes.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/string_escapes.c >
> tests/string_escapes.d
> cc -I libfdt -MM -MG -MT "tests/del_node.o tests/del_node.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/del_node.c > tests/del_node.d
> cc -I libfdt -MM -MG -MT "tests/del_property.o tests/del_property.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/del_property.c > tests/del_property.d
> cc -I libfdt -MM -MG -MT "tests/setprop.o tests/setprop.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/setprop.c > tests/setprop.d
> cc -I libfdt -MM -MG -MT "tests/set_name.o tests/set_name.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/set_name.c > tests/set_name.d
> cc -I libfdt -MM -MG -MT "tests/rw_tree1.o tests/rw_tree1.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/rw_tree1.c > tests/rw_tree1.d
> cc -I libfdt -MM -MG -MT "tests/open_pack.o tests/open_pack.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/open_pack.c > tests/open_pack.d
> cc -I libfdt -MM -MG -MT "tests/nopulate.o tests/nopulate.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/nopulate.c > tests/nopulate.d
> cc -I libfdt -MM -MG -MT "tests/mangle-layout.o tests/mangle-layout.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/mangle-layout.c >
> tests/mangle-layout.d
> cc -I libfdt -MM -MG -MT "tests/move_and_save.o tests/move_and_save.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/move_and_save.c >
> tests/move_and_save.d
> cc -I libfdt -MM -MG -MT "tests/sw_tree1.o tests/sw_tree1.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/sw_tree1.c > tests/sw_tree1.d
> cc -I libfdt -MM -MG -MT "tests/nop_node.o tests/nop_node.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/nop_node.c > tests/nop_node.d
> cc -I libfdt -MM -MG -MT "tests/nop_property.o tests/nop_property.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/nop_property.c > tests/nop_property.d
> cc -I libfdt -MM -MG -MT "tests/setprop_inplace.o
> tests/setprop_inplace.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/setprop_inplace.c >
> tests/setprop_inplace.d
> cc -I libfdt -MM -MG -MT "tests/notfound.o tests/notfound.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/notfound.c > tests/notfound.d
> cc -I libfdt -MM -MG -MT "tests/get_alias.o tests/get_alias.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/get_alias.c > tests/get_alias.d
> cc -I libfdt -MM -MG -MT "tests/node_offset_by_compatible.o
> tests/node_offset_by_compatible.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/node_offset_by_compatible.c >
> tests/node_offset_by_compatible.d
> cc -I libfdt -MM -MG -MT "tests/node_check_compatible.o
> tests/node_check_compatible.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/node_check_compatible.c >
> tests/node_check_compatible.d
> cc -I libfdt -MM -MG -MT "tests/node_offset_by_phandle.o
> tests/node_offset_by_phandle.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/node_offset_by_phandle.c >
> tests/node_offset_by_phandle.d
> cc -I libfdt -MM -MG -MT "tests/node_offset_by_prop_value.o
> tests/node_offset_by_prop_value.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/node_offset_by_prop_value.c >
> tests/node_offset_by_prop_value.d
> cc -I libfdt -MM -MG -MT "tests/parent_offset.o tests/parent_offset.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/parent_offset.c >
> tests/parent_offset.d
> cc -I libfdt -MM -MG -MT "tests/supernode_atdepth_offset.o
> tests/supernode_atdepth_offset.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/supernode_atdepth_offset.c >
> tests/supernode_atdepth_offset.d
> cc -I libfdt -MM -MG -MT "tests/get_path.o tests/get_path.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/get_path.c > tests/get_path.d
> cc -I libfdt -MM -MG -MT "tests/get_phandle.o tests/get_phandle.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/get_phandle.c > tests/get_phandle.d
> cc -I libfdt -MM -MG -MT "tests/getprop.o tests/getprop.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/getprop.c > tests/getprop.d
> cc -I libfdt -MM -MG -MT "tests/get_name.o tests/get_name.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/get_name.c > tests/get_name.d
> cc -I libfdt -MM -MG -MT "tests/path_offset.o tests/path_offset.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/path_offset.c > tests/path_offset.d
> cc -I libfdt -MM -MG -MT "tests/subnode_offset.o tests/subnode_offset.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/subnode_offset.c >
> tests/subnode_offset.d
> cc -I libfdt -MM -MG -MT "tests/find_property.o tests/find_property.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/find_property.c >
> tests/find_property.d
> cc -I libfdt -MM -MG -MT "tests/root_node.o tests/root_node.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/root_node.c > tests/root_node.d
> cc -I libfdt -MM -MG -MT "tests/get_mem_rsv.o tests/get_mem_rsv.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/get_mem_rsv.c > tests/get_mem_rsv.d
> cc -I libfdt -MM -MG -MT "libfdt/fdt_strerror.o libfdt/fdt_strerror.d"
> /home/andreas/QEMU/qemu-ppc/dtc/libfdt/fdt_strerror.c >
> libfdt/fdt_strerror.d
> cc -I libfdt -MM -MG -MT "libfdt/fdt_rw.o libfdt/fdt_rw.d"
> /home/andreas/QEMU/qemu-ppc/dtc/libfdt/fdt_rw.c > libfdt/fdt_rw.d
> cc -I libfdt -MM -MG -MT "libfdt/fdt_sw.o libfdt/fdt_sw.d"
> /home/andreas/QEMU/qemu-ppc/dtc/libfdt/fdt_sw.c > libfdt/fdt_sw.d
> cc -I libfdt -MM -MG -MT "libfdt/fdt_wip.o libfdt/fdt_wip.d"
> /home/andreas/QEMU/qemu-ppc/dtc/libfdt/fdt_wip.c > libfdt/fdt_wip.d
> cc -I libfdt -MM -MG -MT "libfdt/fdt_ro.o libfdt/fdt_ro.d"
> /home/andreas/QEMU/qemu-ppc/dtc/libfdt/fdt_ro.c > libfdt/fdt_ro.d
> cc -I libfdt -MM -MG -MT "libfdt/fdt.o libfdt/fdt.d"
> /home/andreas/QEMU/qemu-ppc/dtc/libfdt/fdt.c > libfdt/fdt.d
> cc -I libfdt -MM -MG -MT "ftdump.o ftdump.d"
> /home/andreas/QEMU/qemu-ppc/dtc/ftdump.c > ftdump.d
> flex -oconvert-dtsv0-lexer.lex.c
> /home/andreas/QEMU/qemu-ppc/dtc/convert-dtsv0-lexer.l
> cc -I libfdt -MM -MG -MT "util.o util.d"
> /home/andreas/QEMU/qemu-ppc/dtc/util.c > util.d
> cc -I libfdt -MM -MG -MT "srcpos.o srcpos.d"
> /home/andreas/QEMU/qemu-ppc/dtc/srcpos.c > srcpos.d
> flex -odtc-lexer.lex.c /home/andreas/QEMU/qemu-ppc/dtc/dtc-lexer.l
> bison -d /home/andreas/QEMU/qemu-ppc/dtc/dtc-parser.y
> cc -I libfdt -MM -MG -MT "treesource.o treesource.d"
> /home/andreas/QEMU/qemu-ppc/dtc/treesource.c > treesource.d
> cc -I libfdt -MM -MG -MT "livetree.o livetree.d"
> /home/andreas/QEMU/qemu-ppc/dtc/livetree.c > livetree.d
> cc -I libfdt -MM -MG -MT "fstree.o fstree.d"
> /home/andreas/QEMU/qemu-ppc/dtc/fstree.c > fstree.d
> cc -I libfdt -MM -MG -MT "flattree.o flattree.d"
> /home/andreas/QEMU/qemu-ppc/dtc/flattree.c > flattree.d
> cc -I libfdt -MM -MG -MT "dtc.o dtc.d"
> /home/andreas/QEMU/qemu-ppc/dtc/dtc.c > dtc.d
> cc -I libfdt -MM -MG -MT "data.o data.d"
> /home/andreas/QEMU/qemu-ppc/dtc/data.c > data.d
> cc -I libfdt -MM -MG -MT "checks.o checks.d"
> /home/andreas/QEMU/qemu-ppc/dtc/checks.c > checks.d
> cc -I libfdt -MM -MG -MT "convert-dtsv0-lexer.lex.o
> convert-dtsv0-lexer.lex.d" convert-dtsv0-lexer.lex.c >
> convert-dtsv0-lexer.lex.d
> cc -I libfdt -MM -MG -MT "dtc-parser.tab.o dtc-parser.tab.d"
> dtc-parser.tab.c > dtc-parser.tab.d
> cc -I libfdt -MM -MG -MT "dtc-lexer.lex.o dtc-lexer.lex.d"
> dtc-lexer.lex.c > dtc-lexer.lex.d
> make[1]: Leaving directory `/home/andreas/QEMU/build-ppc/dtc'
> make[1]: Entering directory `/home/andreas/QEMU/build-ppc/dtc'
> set -e; echo '  CHK version_gen.h'; mkdir -p ./;        (echo "#define
> DTC_VERSION \"DTC 1.3.0\""; ) < Makefile > version_gen.h.tmp; if [ -r
> version_gen.h ] && cmp -s version_gen.h version_gen.h.tmp; then rm -f
> version_gen.h.tmp; else echo '  UPD version_gen.h'; mv -f
> version_gen.h.tmp version_gen.h; fi;
>         CHK version_gen.h
>         UPD version_gen.h
> cc -I libfdt -MM -MG -MT "dtc.o dtc.d"
> /home/andreas/QEMU/qemu-ppc/dtc/dtc.c > dtc.d
> make[1]: Leaving directory `/home/andreas/QEMU/build-ppc/dtc'
> make[1]: Entering directory `/home/andreas/QEMU/build-ppc/dtc'
> set -e; echo '  CHK version_gen.h'; mkdir -p ./;        (echo "#define
> DTC_VERSION \"DTC 1.3.0\""; ) < Makefile > version_gen.h.tmp; if [ -r
> version_gen.h ] && cmp -s version_gen.h version_gen.h.tmp; then rm -f
> version_gen.h.tmp; else echo '  UPD version_gen.h'; mv -f
> version_gen.h.tmp version_gen.h; fi;
>         CHK version_gen.h
> cc -I libfdt -O2 -D_FORTIFY_SOURCE=2 -g  -Werror -fPIE -DPIE -m64
> -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings
> -Wmissing-prototypes -fno-strict-aliasing  -Wendif-labels
> -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security
> -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration
> -Wold-style-definition -Wtype-limits -fstack-protector-all
> -I/usr/include/libseccomp-1.0.1   -I/usr/include/libpng15
> -I/usr/include/spice-server -I/usr/include/pixman-1
> -I/usr/include/spice-1   -I/usr/include/pixman-1
> -I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -pthread
> -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
> -I/home/andreas/QEMU/qemu-ppc/tests -I/home/andreas/QEMU/build-ppc/dtc
> -I/home/andreas/QEMU/qemu-ppc/dtc
> -I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -o libfdt/fdt_ro.o -c
> /home/andreas/QEMU/qemu-ppc/dtc/libfdt/fdt_ro.c
> cc -I libfdt -O2 -D_FORTIFY_SOURCE=2 -g  -Werror -fPIE -DPIE -m64
> -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings
> -Wmissing-prototypes -fno-strict-aliasing  -Wendif-labels
> -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security
> -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration
> -Wold-style-definition -Wtype-limits -fstack-protector-all
> -I/usr/include/libseccomp-1.0.1   -I/usr/include/libpng15
> -I/usr/include/spice-server -I/usr/include/pixman-1
> -I/usr/include/spice-1   -I/usr/include/pixman-1
> -I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -pthread
> -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
> -I/home/andreas/QEMU/qemu-ppc/tests -I/home/andreas/QEMU/build-ppc/dtc
> -I/home/andreas/QEMU/qemu-ppc/dtc
> -I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -o libfdt/fdt.o -c
> /home/andreas/QEMU/qemu-ppc/dtc/libfdt/fdt.c
> cc -I libfdt -O2 -D_FORTIFY_SOURCE=2 -g  -Werror -fPIE -DPIE -m64
> -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings
> -Wmissing-prototypes -fno-strict-aliasing  -Wendif-labels
> -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security
> -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration
> -Wold-style-definition -Wtype-limits -fstack-protector-all
> -I/usr/include/libseccomp-1.0.1   -I/usr/include/libpng15
> -I/usr/include/spice-server -I/usr/include/pixman-1
> -I/usr/include/spice-1   -I/usr/include/pixman-1
> -I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -pthread
> -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
> -I/home/andreas/QEMU/qemu-ppc/tests -I/home/andreas/QEMU/build-ppc/dtc
> -I/home/andreas/QEMU/qemu-ppc/dtc
> -I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -o libfdt/fdt_wip.o -c
> /home/andreas/QEMU/qemu-ppc/dtc/libfdt/fdt_wip.c
> cc -I libfdt -O2 -D_FORTIFY_SOURCE=2 -g  -Werror -fPIE -DPIE -m64
> -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings
> -Wmissing-prototypes -fno-strict-aliasing  -Wendif-labels
> -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security
> -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration
> -Wold-style-definition -Wtype-limits -fstack-protector-all
> -I/usr/include/libseccomp-1.0.1   -I/usr/include/libpng15
> -I/usr/include/spice-server -I/usr/include/pixman-1
> -I/usr/include/spice-1   -I/usr/include/pixman-1
> -I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -pthread
> -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
> -I/home/andreas/QEMU/qemu-ppc/tests -I/home/andreas/QEMU/build-ppc/dtc
> -I/home/andreas/QEMU/qemu-ppc/dtc
> -I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -o libfdt/fdt_sw.o -c
> /home/andreas/QEMU/qemu-ppc/dtc/libfdt/fdt_sw.c
> cc -I libfdt -O2 -D_FORTIFY_SOURCE=2 -g  -Werror -fPIE -DPIE -m64
> -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings
> -Wmissing-prototypes -fno-strict-aliasing  -Wendif-labels
> -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security
> -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration
> -Wold-style-definition -Wtype-limits -fstack-protector-all
> -I/usr/include/libseccomp-1.0.1   -I/usr/include/libpng15
> -I/usr/include/spice-server -I/usr/include/pixman-1
> -I/usr/include/spice-1   -I/usr/include/pixman-1
> -I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -pthread
> -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
> -I/home/andreas/QEMU/qemu-ppc/tests -I/home/andreas/QEMU/build-ppc/dtc
> -I/home/andreas/QEMU/qemu-ppc/dtc
> -I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -o libfdt/fdt_rw.o -c
> /home/andreas/QEMU/qemu-ppc/dtc/libfdt/fdt_rw.c
> cc -I libfdt -O2 -D_FORTIFY_SOURCE=2 -g  -Werror -fPIE -DPIE -m64
> -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings
> -Wmissing-prototypes -fno-strict-aliasing  -Wendif-labels
> -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security
> -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration
> -Wold-style-definition -Wtype-limits -fstack-protector-all
> -I/usr/include/libseccomp-1.0.1   -I/usr/include/libpng15
> -I/usr/include/spice-server -I/usr/include/pixman-1
> -I/usr/include/spice-1   -I/usr/include/pixman-1
> -I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -pthread
> -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
> -I/home/andreas/QEMU/qemu-ppc/tests -I/home/andreas/QEMU/build-ppc/dtc
> -I/home/andreas/QEMU/qemu-ppc/dtc
> -I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -o libfdt/fdt_strerror.o -c
> /home/andreas/QEMU/qemu-ppc/dtc/libfdt/fdt_strerror.c
> ar  libfdt/libfdt.a libfdt/fdt.o libfdt/fdt_ro.o libfdt/fdt_wip.o
> libfdt/fdt_sw.o libfdt/fdt_rw.o libfdt/fdt_strerror.o
> ar: two different operation options specified
> make[1]: *** [libfdt/libfdt.a] Fehler 1
> make[1]: Leaving directory `/home/andreas/QEMU/build-ppc/dtc'
> make: *** [subdir-dtc] Fehler 2
>
> Andreas
>
> --
> SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
> GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
>
Andreas Färber - June 18, 2013, 1:22 a.m.
Am 18.06.2013 02:52, schrieb Peter Crosthwaite:
> On Tue, Jun 18, 2013 at 10:46 AM, Andreas Färber <afaerber@suse.de> wrote:
>> Am 18.06.2013 01:44, schrieb Peter Maydell:
>>> On 18 June 2013 00:24, Andreas Färber <afaerber@suse.de> wrote:
>>>> As far as I can see, 1.3.0 is the latest available stable dtc version,
>>>> and it doesn't install libfdt_env.h yet apparently. Any chance we can
>>>> restore build with dtc 1.3.0 tarball (it used to work fine) while
>>>> keeping newer versions working?
>>>
>>> I wanted to keep things simple, ie just require a distro
>>> version of libfdt to be installed the way upstream say it
>>> should be, rather than second-guessing whether a broken
>>> libfdt is or isn't going to work with our libfdt_env.h.
>>
>> Quote: "(1) Preferred: Install the DTC devel package"
>>
>> Just to clarify: I am pointing out that apparently there is *no* stable
>> version 1.4.0 or 1.3.1 that installs the expected libfdt_env.h:
>>
>> http://git.jdl.com/gitweb/?p=dtc.git;a=tags
>>
>> And I believe a request to package a random git commit for openSUSE
>> distro is going to be declined.
>>
>> So I would be perfectly happy if the dtc maintainers were to provide an
>> official tarball that I can get into our distribution. Then we don't
>> need to tweak QEMU's configure at all. :)
>>
> 
> Yes, this is massively overdue. Bugfixes aside DTC has seen some
> significant feature development since 1.3.0.

For the record, I came up with the following interim fix for openSUSE to
avoid submodule builds for all my repositories:

https://build.opensuse.org/request/show/179370

Andreas
Peter Maydell - June 18, 2013, 8:41 a.m.
On 18 June 2013 01:46, Andreas Färber <afaerber@suse.de> wrote:
> $ make -j6 V=1

> make -I/home/andreas/QEMU/qemu-ppc/dtc
> VPATH=/home/andreas/QEMU/qemu-ppc/dtc -C dtc V="1"
> LIBFDT_srcdir=/home/andreas/QEMU/qemu-ppc/dtc/libfdt CFLAGS="-O2
> -D_FORTIFY_SOURCE=2 -g  -Werror -fPIE -DPIE -m64 -D_GNU_SOURCE
> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes
> -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes
> -fno-strict-aliasing  -Wendif-labels -Wmissing-include-dirs -Wempty-body
> -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self
> -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition
> -Wtype-limits -fstack-protector-all -I/usr/include/libseccomp-1.0.1
> -I/usr/include/libpng15   -I/usr/include/spice-server
> -I/usr/include/pixman-1 -I/usr/include/spice-1   -I/usr/include/pixman-1
>   -I/home/andreas/QEMU/qemu-ppc/dtc/libfdt -pthread
> -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
> -I/home/andreas/QEMU/qemu-ppc/tests -I/home/andreas/QEMU/build-ppc/dtc
> -I/home/andreas/QEMU/qemu-ppc/dtc
> -I/home/andreas/QEMU/qemu-ppc/dtc/libfdt" LDFLAGS="-Wl,--warn-common
> -Wl,-z,relro -Wl,-z,now -pie -m64 -g " ARFLAGS="" CC="cc" AR="ar"
> LD="ld"  BUILD_DIR=/home/andreas/QEMU/build-ppc libfdt/libfdt.a

...so we tell the libfdt makefile to build libfdt.a...

> make[1]: Entering directory `/home/andreas/QEMU/build-ppc/dtc'
> cc -I libfdt -MM -MG -MT "tests/trees.o tests/trees.d"
> /home/andreas/QEMU/qemu-ppc/dtc/tests/trees.S > tests/trees.d
> cc -I libfdt -MM -MG -MT "tests/dumptrees.o tests/dumptrees.d"

...and it starts to build its test suite?! This doesn't happen
for me. What git commit is your dtc submodule at, please?

However, it's not the cause of the problem:

> ar  libfdt/libfdt.a libfdt/fdt.o libfdt/fdt_ro.o libfdt/fdt_wip.o
> libfdt/fdt_sw.o libfdt/fdt_rw.o libfdt/fdt_strerror.o
> ar: two different operation options specified

...which is that the top level makefile is passing ARFLAGS=""
and so we don't specify any operation to ar at all. For me
the submake is invoked with ARFLAGS ="rv" (which is Make's
default for when ARFLAGS wasn't specified).

QEMU's configure and makefile don't fiddle with ARFLAGS at all:
are you passing some odd values in from your environment?

thanks
-- PMM
Paolo Bonzini - June 18, 2013, 8:44 a.m.
Il 18/06/2013 03:22, Andreas Färber ha scritto:
>> Yes, this is massively overdue. Bugfixes aside DTC has seen some
>> significant feature development since 1.3.0.
> 
> For the record, I came up with the following interim fix for openSUSE to
> avoid submodule builds for all my repositories:
> 
> https://build.opensuse.org/request/show/179370

I did something similar with EPEL.  However, note that it may break
building old QEMU if QEMU's libfdt_env.h is picked up instead of the
installed one.  :(

Paolo
Cole Robinson - June 19, 2013, 2:48 p.m.
CCing qemu-stable. We want this for Fedora 19 at least where updated dtc broke
our build.

- Cole

On 06/14/2013 10:53 AM, Peter Maydell wrote:
> From: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
> 
> Currently QEMU provides a local clone of the file libfdt_env.h in
> /include. This file is supposed to come with the libfdt package and is
> only needed for broken installs of libfdt. Now that we have submodule
> dtc, just ignore these broken installs and prompt for the dtc submodule
> install instead. QEMU's local libfdt_env.h is removed accordingly.
> 
> Manifests as a bug when building QEMU with modern libfdt. The new
> version of libfdt does not compile when QEMUs libfdt_env.h takes
> precedence over the hosts.
> 
> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
> Acked-by: David Gibson <david@gibson.dropbear.id.au>
> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
> Acked-by: Paolo Bonzini <pbonzini@redhat.com>
> Message-id: 9b6a3a52e3f46cfbc1ded9ab56385ec045e46705.1369628289.git.peter.crosthwaite@xilinx.com
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>  configure            |    2 ++
>  include/libfdt_env.h |   36 ------------------------------------
>  2 files changed, 2 insertions(+), 36 deletions(-)
>  delete mode 100644 include/libfdt_env.h
> 
> diff --git a/configure b/configure
> index 8732185..31b7783 100755
> --- a/configure
> +++ b/configure
> @@ -2488,7 +2488,9 @@ fi
>  # fdt probe
>  if test "$fdt" != "no" ; then
>    fdt_libs="-lfdt"
> +  # explicitly check for libfdt_env.h as it is missing in some stable installs
>    cat > $TMPC << EOF
> +#include <libfdt_env.h>
>  int main(void) { return 0; }
>  EOF
>    if compile_prog "" "$fdt_libs" ; then
> diff --git a/include/libfdt_env.h b/include/libfdt_env.h
> deleted file mode 100644
> index 3667d4c..0000000
> --- a/include/libfdt_env.h
> +++ /dev/null
> @@ -1,36 +0,0 @@
> -/*
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License, version 2, as
> - * published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; if not, see <http://www.gnu.org/licenses/>.
> - *
> - * Copyright IBM Corp. 2008
> - * Authors: Hollis Blanchard <hollisb@us.ibm.com>
> - *
> - */
> -
> -#ifndef _LIBFDT_ENV_H
> -#define _LIBFDT_ENV_H
> -
> -#include "qemu/bswap.h"
> -
> -#ifdef HOST_WORDS_BIGENDIAN
> -#define fdt32_to_cpu(x)  (x)
> -#define cpu_to_fdt32(x)  (x)
> -#define fdt64_to_cpu(x)  (x)
> -#define cpu_to_fdt64(x)  (x)
> -#else
> -#define fdt32_to_cpu(x)  bswap32(x)
> -#define cpu_to_fdt32(x)  bswap32(x)
> -#define fdt64_to_cpu(x)  bswap64(x)
> -#define cpu_to_fdt64(x)  bswap64(x)
> -#endif
> -
> -#endif /* _LIBFDT_ENV_H */
>
Peter Maydell - June 19, 2013, 3:42 p.m.
IIRC Paolo's ack on this patch came with a caveat of "if it is
not for -stable" -- cc'ing him.

thanks
-- PMM

On 19 June 2013 15:48, Cole Robinson <crobinso@redhat.com> wrote:
> CCing qemu-stable. We want this for Fedora 19 at least where updated dtc broke
> our build.
>
> - Cole
>
> On 06/14/2013 10:53 AM, Peter Maydell wrote:
>> From: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
>>
>> Currently QEMU provides a local clone of the file libfdt_env.h in
>> /include. This file is supposed to come with the libfdt package and is
>> only needed for broken installs of libfdt. Now that we have submodule
>> dtc, just ignore these broken installs and prompt for the dtc submodule
>> install instead. QEMU's local libfdt_env.h is removed accordingly.
>>
>> Manifests as a bug when building QEMU with modern libfdt. The new
>> version of libfdt does not compile when QEMUs libfdt_env.h takes
>> precedence over the hosts.
>>
>> Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
>> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
>> Acked-by: David Gibson <david@gibson.dropbear.id.au>
>> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
>> Acked-by: Paolo Bonzini <pbonzini@redhat.com>
>> Message-id: 9b6a3a52e3f46cfbc1ded9ab56385ec045e46705.1369628289.git.peter.crosthwaite@xilinx.com
>> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
>> ---
>>  configure            |    2 ++
>>  include/libfdt_env.h |   36 ------------------------------------
>>  2 files changed, 2 insertions(+), 36 deletions(-)
>>  delete mode 100644 include/libfdt_env.h
>>
>> diff --git a/configure b/configure
>> index 8732185..31b7783 100755
>> --- a/configure
>> +++ b/configure
>> @@ -2488,7 +2488,9 @@ fi
>>  # fdt probe
>>  if test "$fdt" != "no" ; then
>>    fdt_libs="-lfdt"
>> +  # explicitly check for libfdt_env.h as it is missing in some stable installs
>>    cat > $TMPC << EOF
>> +#include <libfdt_env.h>
>>  int main(void) { return 0; }
>>  EOF
>>    if compile_prog "" "$fdt_libs" ; then
>> diff --git a/include/libfdt_env.h b/include/libfdt_env.h
>> deleted file mode 100644
>> index 3667d4c..0000000
>> --- a/include/libfdt_env.h
>> +++ /dev/null
>> @@ -1,36 +0,0 @@
>> -/*
>> - * This program is free software; you can redistribute it and/or modify
>> - * it under the terms of the GNU General Public License, version 2, as
>> - * published by the Free Software Foundation.
>> - *
>> - * This program is distributed in the hope that it will be useful,
>> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> - * GNU General Public License for more details.
>> - *
>> - * You should have received a copy of the GNU General Public License
>> - * along with this program; if not, see <http://www.gnu.org/licenses/>.
>> - *
>> - * Copyright IBM Corp. 2008
>> - * Authors: Hollis Blanchard <hollisb@us.ibm.com>
>> - *
>> - */
>> -
>> -#ifndef _LIBFDT_ENV_H
>> -#define _LIBFDT_ENV_H
>> -
>> -#include "qemu/bswap.h"
>> -
>> -#ifdef HOST_WORDS_BIGENDIAN
>> -#define fdt32_to_cpu(x)  (x)
>> -#define cpu_to_fdt32(x)  (x)
>> -#define fdt64_to_cpu(x)  (x)
>> -#define cpu_to_fdt64(x)  (x)
>> -#else
>> -#define fdt32_to_cpu(x)  bswap32(x)
>> -#define cpu_to_fdt32(x)  bswap32(x)
>> -#define fdt64_to_cpu(x)  bswap64(x)
>> -#define cpu_to_fdt64(x)  bswap64(x)
>> -#endif
>> -
>> -#endif /* _LIBFDT_ENV_H */
>>
>

Patch

diff --git a/configure b/configure
index 8732185..31b7783 100755
--- a/configure
+++ b/configure
@@ -2488,7 +2488,9 @@  fi
 # fdt probe
 if test "$fdt" != "no" ; then
   fdt_libs="-lfdt"
+  # explicitly check for libfdt_env.h as it is missing in some stable installs
   cat > $TMPC << EOF
+#include <libfdt_env.h>
 int main(void) { return 0; }
 EOF
   if compile_prog "" "$fdt_libs" ; then
diff --git a/include/libfdt_env.h b/include/libfdt_env.h
deleted file mode 100644
index 3667d4c..0000000
--- a/include/libfdt_env.h
+++ /dev/null
@@ -1,36 +0,0 @@ 
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License, version 2, as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see <http://www.gnu.org/licenses/>.
- *
- * Copyright IBM Corp. 2008
- * Authors: Hollis Blanchard <hollisb@us.ibm.com>
- *
- */
-
-#ifndef _LIBFDT_ENV_H
-#define _LIBFDT_ENV_H
-
-#include "qemu/bswap.h"
-
-#ifdef HOST_WORDS_BIGENDIAN
-#define fdt32_to_cpu(x)  (x)
-#define cpu_to_fdt32(x)  (x)
-#define fdt64_to_cpu(x)  (x)
-#define cpu_to_fdt64(x)  (x)
-#else
-#define fdt32_to_cpu(x)  bswap32(x)
-#define cpu_to_fdt32(x)  bswap32(x)
-#define fdt64_to_cpu(x)  bswap64(x)
-#define cpu_to_fdt64(x)  bswap64(x)
-#endif
-
-#endif /* _LIBFDT_ENV_H */