make check build failure (tst-printf-bz18872)
Commit Message
> It seems like that is still a bug in the Makefile though, should I
> submit a patch?
I just committed this myself:
2015-10-08 Roland McGrath <roland@hack.frob.com>
[BZ #18872]
* stdio-common/Makefile ($(objpfx)tst-unbputc.out):
Move out from under [$(run-built-tests) = yes] conditional.
($(objpfx)tst-printf.out, $(objpfx)tst-printf-bz18872.c): Likewise.
($(objpfx)tst-printf-bz18872-mem.out): Likewise.
> I found one other issue while doing 'make check'. I am using GCC 4.6.3
> on MIPS and string/tester.c didn't compile due to a
> memset-transposed-args warning. It looks like there is handling for
> this in GCC 5.0 and later but not for 4.6.
Please address that in a separate thread.
Thanks,
Roland
Comments
On Thu, 8 Oct 2015, Roland McGrath wrote:
> > It seems like that is still a bug in the Makefile though, should I
> > submit a patch?
>
> I just committed this myself:
>
> 2015-10-08 Roland McGrath <roland@hack.frob.com>
>
> [BZ #18872]
> * stdio-common/Makefile ($(objpfx)tst-unbputc.out):
> Move out from under [$(run-built-tests) = yes] conditional.
That looks wrong. tst-unbputc.sh uses test_program_prefix to run a newly
built test.
> > 2015-10-08 Roland McGrath <roland@hack.frob.com>
> >
> > [BZ #18872]
> > * stdio-common/Makefile ($(objpfx)tst-unbputc.out):
> > Move out from under [$(run-built-tests) = yes] conditional.
>
> That looks wrong. tst-unbputc.sh uses test_program_prefix to run a newly
> built test.
Oh, it was unrelated. I failed to notice that. But why is it wrong? I
don't see why we need to avoid defining the targets. Adding them to
tests-special is conditionalized, so nothing will depend on that.
On Thu, 8 Oct 2015, Roland McGrath wrote:
> > > 2015-10-08 Roland McGrath <roland@hack.frob.com>
> > >
> > > [BZ #18872]
> > > * stdio-common/Makefile ($(objpfx)tst-unbputc.out):
> > > Move out from under [$(run-built-tests) = yes] conditional.
> >
> > That looks wrong. tst-unbputc.sh uses test_program_prefix to run a newly
> > built test.
>
> Oh, it was unrelated. I failed to notice that. But why is it wrong? I
> don't see why we need to avoid defining the targets. Adding them to
> tests-special is conditionalized, so nothing will depend on that.
In that case it should be OK (but maybe we should be consistent, in
whatever direction, about when such rules are / aren't conditionalized).
> In that case it should be OK (but maybe we should be consistent, in
> whatever direction, about when such rules are / aren't conditionalized).
I think consistency is good. I think we should favor not conditionalizing
anywhere that we do not have to, just to reduce clutter in the makefiles.
On 10/08/2015 06:24 PM, Roland McGrath wrote:
>> In that case it should be OK (but maybe we should be consistent, in
>> whatever direction, about when such rules are / aren't conditionalized).
>
> I think consistency is good. I think we should favor not conditionalizing
> anywhere that we do not have to, just to reduce clutter in the makefiles.
+1.
c.
@@ -74,7 +74,6 @@ include ../Rules
tst-printf-bz18872-ENV = MALLOC_TRACE=$(objpfx)tst-printf-bz18872.mtrace
-ifeq ($(run-built-tests),yes)
$(objpfx)tst-unbputc.out: tst-unbputc.sh $(objpfx)tst-unbputc
$(SHELL) $< $(common-objpfx) '$(test-program-prefix)'; \
$(evaluate-test)
@@ -91,7 +90,6 @@ $(objpfx)tst-printf-bz18872.c: tst-printf-bz18872.sh
$(objpfx)tst-printf-bz18872-mem.out: $(objpfx)tst-printf-bz18872.out
$(common-objpfx)malloc/mtrace $(objpfx)tst-printf-bz18872.mtrace > $@; \
$(evaluate-test)
-endif
CFLAGS-vfprintf.c = -Wno-uninitialized
CFLAGS-vfwprintf.c = -Wno-uninitialized