Treat warnings different from errors in buildman?
Hey,
So as I migrate scripts over to buildman, one issue I have is that
today warning and errors are treated the same:
u-boot (master)$ ./tools/buildman/buildman -b master -c 1 -ve -T 1 -j 9 'arc|blackfin|microblaze|m68k|nds32|sparc|x86|aarch64|sandbox|mips' -s Summary of 1 commit for 128 boards (1 thread, 9 jobs per thread)
01: git-mailrc: add patman and buildman alias
mips: + pb1000 dbau1550_el qemu_mipsel maltael
sparc: + grsim_leon2 gr_cpci_ax2000 gr_ep2s60 grsim gr_xc3s_1500
arc: + tb100 arcangel4-be axs101 arcangel4
sandbox: + sandboxmips is the mipsel libgcc thing, I need to see if eldk5.5 behaves better than 5.2.1 in that regard and passing or setting CONFIG_USE_PRIVATE_LIBGCC=yes. sparc is however all warnings (old gcc warning when it should not).
Also, is there any way to note which boards/arches an error comes from? +/home/trini/work/u-boot/master/.bm-work/00/disk/part.c: In function `get_device':+/home/trini/work/u-boot/master/.bm-work/00/disk/part.c:453: warning:
'hwpart' might be used uninitialized in this function
Is confusing if you hadn't done a sparc solo build before and seen that.
Thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140821/b6c49953/attachment.pgp>
Quoted 11 lines · Tom Rini
Hey,
So as I migrate scripts over to buildman, one issue I have is that
today warning and errors are treated the same:
u-boot (master)$./tools/buildman/buildman-b master -c 1 -ve -T 1 -j 9 'arc|blackfin|microblaze|m68k|nds32|sparc|x86|aarch64|sandbox|mips' -s Summary of 1 commit for 128 boards (1 thread, 9 jobs per thread)
01: git-mailrc: add patman and buildman aliasmips: + pb1000 dbau1550_el qemu_mipsel maltael sparc: + grsim_leon2 gr_cpci_ax2000 gr_ep2s60 grsim gr_xc3s_1500 arc: + tb100 arcangel4-be axs101 arcangel4 sandbox: + sandbox
Oh, and the sandbox error is because with sparse installed, it picks 'cgcc' as the toolchain to use rather than 'gcc' and then fails to link as there's no 'cld'.
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140821/c43592ba/attachment.pgp>
Hi Tom,
Quoted 7 lines · Tom Rini
Hey,
So as I migrate scripts over to buildman, one issue I have is that
today warning and errors are treated the same:
u-boot (master)$./tools/buildman/buildman-b master -c 1 -ve -T 1 -j 9 'arc|blackfin|microblaze|m68k|nds32|sparc|x86|aarch64|sandbox|mips' -s Summary of 1 commit for 128 boards (1 thread, 9 jobs per thread)
01: git-mailrc: add patman and buildman alias
Quoted 8 lines
mips: + pb1000 dbau1550_el qemu_mipsel maltael sparc: + grsim_leon2 gr_cpci_ax2000 gr_ep2s60 grsim gr_xc3s_1500 arc: + tb100 arcangel4-be axs101 arcangel4 sandbox: + sandboxmips is the mipsel libgcc thing, I need to see if eldk5.5 behaves better than 5.2.1 in that regard and passing or setting
CONFIG_USE_PRIVATE_LIBGCC=yes.
ELDK-5.5 doesn't behave better. You will always need CONFIG_USE_PRIVATE_LIBGCC=yes to build all MIPS boards at once and if you don't have a full multilib toolchain. I'm still wondering why Wolfgang decided long time ago, that U-Boot should rely on the toolchain's libgcc and not use its own variant like the kernel does.
Signature · 1 line
- Daniel
Quoted 19 lines · Daniel Schwierzeck
Hi Tom,
Quoted 7 lines · Tom Rini
Hey,
So as I migrate scripts over to buildman, one issue I have is that
today warning and errors are treated the same:
u-boot (master)$./tools/buildman/buildman-b master -c 1 -ve -T 1 -j 9 'arc|blackfin|microblaze|m68k|nds32|sparc|x86|aarch64|sandbox|mips' -s Summary of 1 commit for 128 boards (1 thread, 9 jobs per thread)
01: git-mailrc: add patman and buildman aliasQuoted 8 lines
mips: + pb1000 dbau1550_el qemu_mipsel maltael sparc: + grsim_leon2 gr_cpci_ax2000 gr_ep2s60 grsim gr_xc3s_1500 arc: + tb100 arcangel4-be axs101 arcangel4 sandbox: + sandboxmips is the mipsel libgcc thing, I need to see if eldk5.5 behaves better than 5.2.1 in that regard and passing or setting
CONFIG_USE_PRIVATE_LIBGCC=yes.
Quoted 5 lines
ELDK-5.5 doesn't behave better. You will always need
CONFIG_USE_PRIVATE_LIBGCC=yesto build all MIPS boards at once and if you don't have a full multilib toolchain. I'm still wondering why Wolfgang decided long time ago, that U-Boot should rely on the toolchain's libgcc and not use its own variant like the kernel does.
Ah, what I mean was that I can't seem to find the right 'trick' to have CONFIG_USE_PRIVATE_LIBGCC work today. I tried make-flags for buildman and export CONFIG_USE_PRIVATE_LIBGCC=yes in my wrapper around MAKEALL.
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140822/7a0b639d/attachment.pgp>
Quoted 26 lines · Tom Rini
Quoted 19 lines · Daniel Schwierzeck
Hi Tom,
Quoted 7 lines · Tom Rini
Hey,
So as I migrate scripts over to buildman, one issue I have is that
today warning and errors are treated the same:
u-boot (master)$./tools/buildman/buildman-b master -c 1 -ve -T 1 -j 9 'arc|blackfin|microblaze|m68k|nds32|sparc|x86|aarch64|sandbox|mips' -s Summary of 1 commit for 128 boards (1 thread, 9 jobs per thread)
01: git-mailrc: add patman and buildman aliasQuoted 8 lines
mips: + pb1000 dbau1550_el qemu_mipsel maltael sparc: + grsim_leon2 gr_cpci_ax2000 gr_ep2s60 grsim gr_xc3s_1500 arc: + tb100 arcangel4-be axs101 arcangel4 sandbox: + sandboxmips is the mipsel libgcc thing, I need to see if eldk5.5 behaves better than 5.2.1 in that regard and passing or setting
CONFIG_USE_PRIVATE_LIBGCC=yes.Quoted 5 lines
ELDK-5.5 doesn't behave better. You will always need
CONFIG_USE_PRIVATE_LIBGCC=yesto build all MIPS boards at once and if you don't have a full multilib toolchain. I'm still wondering why Wolfgang decided long time ago, that U-Boot should rely on the toolchain's libgcc and not use its own variant like the kernel does.
Quoted 4 lines
Ah, what I mean was that I can't seem to find the right 'trick' to have
CONFIG_USE_PRIVATE_LIBGCCwork today. I tried make-flags for buildman and exportCONFIG_USE_PRIVATE_LIBGCC=yesin my wrapper around MAKEALL.
The trick is to use "CONFIG_USE_PRIVATE_LIBGCC=y" instead of "CONFIG_USE_PRIVATE_LIBGCC=yes" because it is handled like a boolean Kconfig symbol.
BTW: I'm using env scripts for different toolchains which could be sourced. For ELDK-5.5 I have:
$ cat env-eldk5.5-mips export CONFIG_USE_PRIVATE_LIBGCC=y export USE_PRIVATE_LIBGCC=yes export CROSS_COMPILE=/opt/eldk-5.5/mips/sysroots/i686-eldk-linux/usr/bin/mips-linux/mips-linux-
Signature · 1 line
- Daniel
Quoted 36 lines · Daniel Schwierzeck
Quoted 26 lines · Tom Rini
Quoted 19 lines · Daniel Schwierzeck
Hi Tom,
Quoted 7 lines · Tom Rini
Hey,
So as I migrate scripts over to buildman, one issue I have is that
today warning and errors are treated the same:
u-boot (master)$./tools/buildman/buildman-b master -c 1 -ve -T 1 -j 9 'arc|blackfin|microblaze|m68k|nds32|sparc|x86|aarch64|sandbox|mips' -s Summary of 1 commit for 128 boards (1 thread, 9 jobs per thread)
01: git-mailrc: add patman and buildman aliasQuoted 8 lines
mips: + pb1000 dbau1550_el qemu_mipsel maltael sparc: + grsim_leon2 gr_cpci_ax2000 gr_ep2s60 grsim gr_xc3s_1500 arc: + tb100 arcangel4-be axs101 arcangel4 sandbox: + sandboxmips is the mipsel libgcc thing, I need to see if eldk5.5 behaves better than 5.2.1 in that regard and passing or setting
CONFIG_USE_PRIVATE_LIBGCC=yes.Quoted 5 lines
ELDK-5.5 doesn't behave better. You will always need
CONFIG_USE_PRIVATE_LIBGCC=yesto build all MIPS boards at once and if you don't have a full multilib toolchain. I'm still wondering why Wolfgang decided long time ago, that U-Boot should rely on the toolchain's libgcc and not use its own variant like the kernel does.Quoted 4 lines
Ah, what I mean was that I can't seem to find the right 'trick' to have
CONFIG_USE_PRIVATE_LIBGCCwork today. I tried make-flags for buildman and exportCONFIG_USE_PRIVATE_LIBGCC=yesin my wrapper around MAKEALL.The trick is to use "
CONFIG_USE_PRIVATE_LIBGCC=y" instead of "CONFIG_USE_PRIVATE_LIBGCC=yes" because it is handled like a booleanKconfigsymbol.
Quoted 8 lines
BTW: I'm using env scripts for different toolchains which could be sourced. For ELDK-5.5 I have:
$ cat env-eldk5.5-mips export CONFIG_USE_PRIVATE_LIBGCC=y export USE_PRIVATE_LIBGCC=yes export CROSS_COMPILE=/opt/eldk-5.5/mips/sysroots/i686-eldk-linux/usr/bin/mips-linux/mips-linux-
Ah, OK. I've got something started on buildman now for an env-flags section and it's building mips/mipsel. I'll post a patch once it's less embarassing looking.
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140822/87042d29/attachment.pgp>
Hi Tom,
Quoted 4 lines · Tom Rini
Hey,
So as I migrate scripts over to buildman, one issue I have is that today warning and errors are treated the same:
Actually buildman can't tell the difference at present. Both errors and warnings end up in stderr. Buildman assumes that if make returns an exit code of 0 then there were no errors (since they would have terminated the build). So we have three categories:
- board with no errors/warnings
- board which builds but has output in stderr, assumed to be warnings
- board with errors, but may also contain warnings
I will take a look at trying to distinguish between warnings and errors by looking at the stderr output. My philosophy with buildman has been to go to quite extreme measured to help summarise and categorise the problems, so I suppose this would be just another step.
Quoted 13 lines
u-boot (master)$
./tools/buildman/buildman-b master -c 1 -ve -T 1 -j 9 'arc|blackfin|microblaze|m68k|nds32|sparc|x86|aarch64|sandbox|mips' -s Summary of 1 commit for 128 boards (1 thread, 9 jobs per thread)
01: git-mailrc: add patman and buildman aliasmips: + pb1000 dbau1550_el qemu_mipsel maltael sparc: + grsim_leon2 gr_cpci_ax2000 gr_ep2s60 grsim gr_xc3s_1500 arc: + tb100 arcangel4-be axs101 arcangel4 sandbox: + sandboxmips is the mipsel libgcc thing, I need to see if eldk5.5 behaves better than 5.2.1 in that regard and passing or setting
CONFIG_USE_PRIVATE_LIBGCC=yes. sparc is however all warnings (old gcc warning when it should not).
Quoted 7 lines
Also, is there any way to note which boards/arches an error comes from?
+/home/trini/work/u-boot/master/.bm-work/00/disk/part.c: In function `get_device':+/home/trini/work/u-boot/master/.bm-work/00/disk/part.c:453: warning:
'hwpart' might be used uninitialized in this functionIs confusing if you hadn't done a sparc solo build before and seen that.
I'll add an option for that.
Regards,
Simon