Message ID | 1382385786-9178-1-git-send-email-peter.maydell@linaro.org |
---|---|
State | Accepted |
Commit | 45d285abd7028ac72418c1a22f9298bb898fbfb8 |
Headers | show |
On 21 October 2013 21:03, Peter Maydell <peter.maydell@linaro.org> wrote: > Ken: I think this should work (and it doesn't break building with > old makes), but I don't have a make 4.0 to hand; if you could > test it I'd appreciate it. Forwarding a message from Ken (whose mail client is apparently not very good :-): Ken wrote: # I applied it to 1.6.1 - some fuzz and large offsets, but it # completed the default build (i.e. just ./configure so all targets) # and also a DESTDIR install. Ken -- any chance you could test git master? I think it would be more interesting to make sure that 1.7 works with Make 4.0: I don't know if anybody will care enough to backport this patch to 1.6.x. thanks -- PMM
peter.maydell@linaro.org writes: > Our rules.mak adds '-rR' to MAKEFLAGS to indicate that we will be > explicitly specifying everything and not relying on any default > variables or rules. s/sowe/so we/ Otherwise good. Reviewed-by: Alex Bennée <alex@bennee.com>
On Tue, Oct 22, 2013 at 09:24:46AM +0100, Peter Maydell wrote: > On 21 October 2013 21:03, Peter Maydell <peter.maydell@linaro.org> wrote: > > Ken: I think this should work (and it doesn't break building with > > old makes), but I don't have a make 4.0 to hand; if you could > > test it I'd appreciate it. > > Forwarding a message from Ken (whose mail client is apparently > not very good :-): > No, it was operator error - I somehow fell into editing the original mail (didn't even know that was an option for received mails) and trashed the header. Anyway. > Ken wrote: > # I applied it to 1.6.1 - some fuzz and large offsets, but it > # completed the default build (i.e. just ./configure so all targets) > # and also a DESTDIR install. > > Ken -- any chance you could test git master? I think it would > be more interesting to make sure that 1.7 works with Make 4.0: > I don't know if anybody will care enough to backport this patch > to 1.6.x. > > thanks > -- PMM Not sure how to. I cloned git://git.qemu.org/qemu.git which was at commit fc8ead74674b7129e8f31c2595c76658e5622197 Merge: 3551643 7174e54 Author: Anthony Liguori <aliguori@amazon.com> Date: Fri Oct 18 10:03:24 2013 -0700 Merge remote-tracking branch 'qemu-kvm/uq/master' into staging Copied the non-dotfiles (cp -av *), applied the patch, got a message from configure: ERROR: DTC not present. Your options: (1) Preferred: Install the DTC devel package (2) Fetch the DTC submodule, using: git submodule update --init dtc So I went back to git, did the submodule update and copied afresh, applied the patch, and still got the same error. ĸen
On Tue, Oct 22, 2013 at 06:35:47PM +0100, Ken Moffat wrote: > > > > Ken -- any chance you could test git master? I think it would > > be more interesting to make sure that 1.7 works with Make 4.0: > > I don't know if anybody will care enough to backport this patch > > to 1.6.x. > > > > thanks > > -- PMM > > Not sure how to. Scratch that, user error. ĸen
On 22 October 2013 18:35, Ken Moffat <zarniwhoop@ntlworld.com> wrote: > On Tue, Oct 22, 2013 at 09:24:46AM +0100, Peter Maydell wrote: >> Forwarding a message from Ken (whose mail client is apparently >> not very good :-): >> > No, it was operator error - I somehow fell into editing the > original mail (didn't even know that was an option for received > mails) and trashed the header. Anyway. ...you also managed to send to the Envelope-from, not the From. > Not sure how to. I cloned git://git.qemu.org/qemu.git which was at > commit fc8ead74674b7129e8f31c2595c76658e5622197 > Merge: 3551643 7174e54 > Author: Anthony Liguori <aliguori@amazon.com> > Date: Fri Oct 18 10:03:24 2013 -0700 > > Merge remote-tracking branch 'qemu-kvm/uq/master' into staging > > Copied the non-dotfiles (cp -av *), applied the patch, got a > message from configure: > > ERROR: DTC not present. Your options: > (1) Preferred: Install the DTC devel package > (2) Fetch the DTC submodule, using: > git submodule update --init dtc > > So I went back to git, did the submodule update and copied afresh, > applied the patch, and still got the same error. I'm not sure what you're trying to achieve with the copy, but it seems likely to cause problems. Just do a build from the git tree. If you don't want to put object files in your git tree, this is what out-of-tree build is for: cd into the directory you want to put the object files in, and run the configure script from there: mkdir ../build cd ../build ../qemu.git/configure [usual configure options etc] thanks -- PMM
On Tue, Oct 22, 2013 at 07:10:43PM +0100, Peter Maydell wrote: > On 22 October 2013 18:35, Ken Moffat <zarniwhoop@ntlworld.com> wrote: > > On Tue, Oct 22, 2013 at 09:24:46AM +0100, Peter Maydell wrote: > >> Forwarding a message from Ken (whose mail client is apparently > >> not very good :-): > >> > > No, it was operator error - I somehow fell into editing the > > original mail (didn't even know that was an option for received > > mails) and trashed the header. Anyway. > > ...you also managed to send to the Envelope-from, not the From. > > > Not sure how to. I cloned git://git.qemu.org/qemu.git which was at > > commit fc8ead74674b7129e8f31c2595c76658e5622197 > > Merge: 3551643 7174e54 > > Author: Anthony Liguori <aliguori@amazon.com> > > Date: Fri Oct 18 10:03:24 2013 -0700 > > > > Merge remote-tracking branch 'qemu-kvm/uq/master' into staging > > > > Copied the non-dotfiles (cp -av *), applied the patch, got a > > message from configure: > > > > ERROR: DTC not present. Your options: > > (1) Preferred: Install the DTC devel package > > (2) Fetch the DTC submodule, using: > > git submodule update --init dtc > > > > So I went back to git, did the submodule update and copied afresh, > > applied the patch, and still got the same error. > > I'm not sure what you're trying to achieve with the copy, but > it seems likely to cause problems. Just do a build from the > git tree. If you don't want to put object files in your git tree, > this is what out-of-tree build is for: cd into the directory you > want to put the object files in, and run the configure script > from there: > mkdir ../build > cd ../build > ../qemu.git/configure [usual configure options etc] > > thanks > -- PMM Thanks for that info. ĸen
On Tue, Oct 22, 2013 at 07:09:10PM +0100, Ken Moffat wrote: > On Tue, Oct 22, 2013 at 06:35:47PM +0100, Ken Moffat wrote: > > > > > > Ken -- any chance you could test git master? I think it would > > > be more interesting to make sure that 1.7 works with Make 4.0: > > > I don't know if anybody will care enough to backport this patch > > > to 1.6.x. > > > > > > thanks > > > -- PMM > > > > Not sure how to. > Scratch that, user error. > Built and DESTDIR installed with the default targets using make-4.0 ĸen
Il 22/10/2013 09:24, Peter Maydell ha scritto: > > Ken -- any chance you could test git master? I think it would > be more interesting to make sure that 1.7 works with Make 4.0: > I don't know if anybody will care enough to backport this patch > to 1.6.x. Cc: qemu-stable@nongnu.org Mike Roth now will. :) Paolo
Ping! thanks -- PMM On 21 October 2013 21:03, Peter Maydell <peter.maydell@linaro.org> wrote: > Our rules.mak adds '-rR' to MAKEFLAGS to indicate that we will be > explicitly specifying everything and not relying on any default > variables or rules. However we were accidentally relying on the > default ARFLAGS ("rv"). This went unnoticed because of a bug in > GNU Make 3.82 and earlier which meant that adding -rR to MAKEFLAGS > only affected submakes, not the currently running instance. > Explicitly set ARFLAGS in config-host.mak, in the same way we > handle CFLAGS and LDFLAGS; this will allow us to work with > Make 4.0. > > Thanks to Paul Smith for analyzing this bug for us. > > Reported-by: Ken Moffat <zarniwhoop@ntlworld.com> > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > --- > Ken: I think this should work (and it doesn't break building with > old makes), but I don't have a make 4.0 to hand; if you could > test it I'd appreciate it. > > configure | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/configure b/configure > index 57ee62a..4eb3a07 100755 > --- a/configure > +++ b/configure > @@ -308,6 +308,9 @@ query_pkg_config() { > pkg_config=query_pkg_config > sdl_config="${SDL_CONFIG-${cross_prefix}sdl-config}" > > +# If the user hasn't specified ARFLAGS, default to 'rv', just as make does. > +ARFLAGS="${ARFLAGS-rv}" > + > # default flags for all hosts > QEMU_CFLAGS="-fno-strict-aliasing $QEMU_CFLAGS" > QEMU_CFLAGS="-Wall -Wundef -Wwrite-strings -Wmissing-prototypes $QEMU_CFLAGS" > @@ -3664,6 +3667,7 @@ echo "C compiler $cc" > echo "Host C compiler $host_cc" > echo "C++ compiler $cxx" > echo "Objective-C compiler $objcc" > +echo "ARFLAGS $ARFLAGS" > echo "CFLAGS $CFLAGS" > echo "QEMU_CFLAGS $QEMU_CFLAGS" > echo "LDFLAGS $LDFLAGS" > @@ -4239,6 +4243,7 @@ echo "HOST_CC=$host_cc" >> $config_host_mak > echo "CXX=$cxx" >> $config_host_mak > echo "OBJCC=$objcc" >> $config_host_mak > echo "AR=$ar" >> $config_host_mak > +echo "ARFLAGS=$ARFLAGS" >> $config_host_mak > echo "AS=$as" >> $config_host_mak > echo "CPP=$cpp" >> $config_host_mak > echo "OBJCOPY=$objcopy" >> $config_host_mak > -- > 1.7.11.4
Am 05.11.2013 19:04, schrieb Peter Maydell: > Ping! A typo in the commit message has been reported, and it has been requested to add Cc: qemu-stable@nongnu.org. Since you neither CC qemu-trivial nor a particular maintainer that would fix those for you, you'll have to respin. Andreas > > thanks > -- PMM > > On 21 October 2013 21:03, Peter Maydell <peter.maydell@linaro.org> wrote: >> Our rules.mak adds '-rR' to MAKEFLAGS to indicate that we will be >> explicitly specifying everything and not relying on any default >> variables or rules. However we were accidentally relying on the >> default ARFLAGS ("rv"). This went unnoticed because of a bug in >> GNU Make 3.82 and earlier which meant that adding -rR to MAKEFLAGS >> only affected submakes, not the currently running instance. >> Explicitly set ARFLAGS in config-host.mak, in the same way we >> handle CFLAGS and LDFLAGS; this will allow us to work with >> Make 4.0. >> >> Thanks to Paul Smith for analyzing this bug for us. >> >> Reported-by: Ken Moffat <zarniwhoop@ntlworld.com> >> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> >> --- >> Ken: I think this should work (and it doesn't break building with >> old makes), but I don't have a make 4.0 to hand; if you could >> test it I'd appreciate it. >> >> configure | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/configure b/configure >> index 57ee62a..4eb3a07 100755 >> --- a/configure >> +++ b/configure >> @@ -308,6 +308,9 @@ query_pkg_config() { >> pkg_config=query_pkg_config >> sdl_config="${SDL_CONFIG-${cross_prefix}sdl-config}" >> >> +# If the user hasn't specified ARFLAGS, default to 'rv', just as make does. >> +ARFLAGS="${ARFLAGS-rv}" >> + >> # default flags for all hosts >> QEMU_CFLAGS="-fno-strict-aliasing $QEMU_CFLAGS" >> QEMU_CFLAGS="-Wall -Wundef -Wwrite-strings -Wmissing-prototypes $QEMU_CFLAGS" >> @@ -3664,6 +3667,7 @@ echo "C compiler $cc" >> echo "Host C compiler $host_cc" >> echo "C++ compiler $cxx" >> echo "Objective-C compiler $objcc" >> +echo "ARFLAGS $ARFLAGS" >> echo "CFLAGS $CFLAGS" >> echo "QEMU_CFLAGS $QEMU_CFLAGS" >> echo "LDFLAGS $LDFLAGS" >> @@ -4239,6 +4243,7 @@ echo "HOST_CC=$host_cc" >> $config_host_mak >> echo "CXX=$cxx" >> $config_host_mak >> echo "OBJCC=$objcc" >> $config_host_mak >> echo "AR=$ar" >> $config_host_mak >> +echo "ARFLAGS=$ARFLAGS" >> $config_host_mak >> echo "AS=$as" >> $config_host_mak >> echo "CPP=$cpp" >> $config_host_mak >> echo "OBJCOPY=$objcopy" >> $config_host_mak >> -- >> 1.7.11.4 >
diff --git a/configure b/configure index 57ee62a..4eb3a07 100755 --- a/configure +++ b/configure @@ -308,6 +308,9 @@ query_pkg_config() { pkg_config=query_pkg_config sdl_config="${SDL_CONFIG-${cross_prefix}sdl-config}" +# If the user hasn't specified ARFLAGS, default to 'rv', just as make does. +ARFLAGS="${ARFLAGS-rv}" + # default flags for all hosts QEMU_CFLAGS="-fno-strict-aliasing $QEMU_CFLAGS" QEMU_CFLAGS="-Wall -Wundef -Wwrite-strings -Wmissing-prototypes $QEMU_CFLAGS" @@ -3664,6 +3667,7 @@ echo "C compiler $cc" echo "Host C compiler $host_cc" echo "C++ compiler $cxx" echo "Objective-C compiler $objcc" +echo "ARFLAGS $ARFLAGS" echo "CFLAGS $CFLAGS" echo "QEMU_CFLAGS $QEMU_CFLAGS" echo "LDFLAGS $LDFLAGS" @@ -4239,6 +4243,7 @@ echo "HOST_CC=$host_cc" >> $config_host_mak echo "CXX=$cxx" >> $config_host_mak echo "OBJCC=$objcc" >> $config_host_mak echo "AR=$ar" >> $config_host_mak +echo "ARFLAGS=$ARFLAGS" >> $config_host_mak echo "AS=$as" >> $config_host_mak echo "CPP=$cpp" >> $config_host_mak echo "OBJCOPY=$objcopy" >> $config_host_mak
Our rules.mak adds '-rR' to MAKEFLAGS to indicate that we will be explicitly specifying everything and not relying on any default variables or rules. However we were accidentally relying on the default ARFLAGS ("rv"). This went unnoticed because of a bug in GNU Make 3.82 and earlier which meant that adding -rR to MAKEFLAGS only affected submakes, not the currently running instance. Explicitly set ARFLAGS in config-host.mak, in the same way we handle CFLAGS and LDFLAGS; this will allow us to work with Make 4.0. Thanks to Paul Smith for analyzing this bug for us. Reported-by: Ken Moffat <zarniwhoop@ntlworld.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- Ken: I think this should work (and it doesn't break building with old makes), but I don't have a make 4.0 to hand; if you could test it I'd appreciate it. configure | 5 +++++ 1 file changed, 5 insertions(+)