All of lore.kernel.org
 help / color / mirror / Atom feed
From: Linus Walleij <linus.walleij@linaro.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] tools: build some commands without -pedantic
Date: Tue, 12 Jul 2011 17:24:58 +0200	[thread overview]
Message-ID: <CACRpkdaqvK3730mB67C8Bmpfm6fLHb1Tz-Bzr=Lhxn1bFw2i3g@mail.gmail.com> (raw)
In-Reply-To: <20110712115814.2A91416F53F9@gemini.denx.de>

On Tue, Jul 12, 2011 at 1:58 PM, Wolfgang Denk <wd@denx.de> wrote:
> Dear Linus Walleij,
>
> In message <1310469889-12999-1-git-send-email-linus.walleij@linaro.org> you wrote:
>> On this GCC in Fedora (4.6.0 20110530) the tools gen_eth_addr
>> and img2srec become size zero if compiled with -pedantic (no
>> warnings are emitted however). Marking them _NOPED solves the
>> issue for me.
>>
>> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
>> ---
>> ?tools/Makefile | ? ?6 +++---
>> ?1 files changed, 3 insertions(+), 3 deletions(-)
>
> NAK. ?I hate papering over obvious problems. ?Please let's analyze
> what's going wrong, and fix the cause instead.

Yes I'm reluctant about the whole thing, doesn't say from the patch it
was indeed intended as a discussion item...

> This is all the more so, as I'm running Fedora 15 here on our machines
> [with gcc version 4.6.0 20110530 (Red Hat 4.6.0-9) (GCC)], and I don;t
> see any such problems.

Hm! Then I must be doing something wrong...

I do this, first I apply the patches I sent for Integrator support, then
I apply this patch to test with network support:

diff --git a/include/configs/integratorap.h b/include/configs/integratorap.h
index 26eac8b..39c84b5 100644
--- a/include/configs/integratorap.h
+++ b/include/configs/integratorap.h
@@ -80,17 +80,7 @@
 /*
  * Command line configuration.
  */
-
-
-#define CONFIG_CMD_IMI
-#define CONFIG_CMD_BDI
-#define CONFIG_CMD_BOOTD
-#define CONFIG_CMD_MEMORY
-#define CONFIG_CMD_FLASH
-#define CONFIG_CMD_IMLS
-#define CONFIG_CMD_LOADB
-#define CONFIG_CMD_LOADS
-
+#include <config_cmd_default.h>

 #define CONFIG_BOOTDELAY	2
 #define CONFIG_BOOTARGS		"root=/dev/mtdblock0 mem=32M console=ttyAM0
console=tty"
@@ -155,11 +145,14 @@
  * PCI definitions
  */

+#define CONFIG_PCI
 #ifdef CONFIG_PCI			/* pci support	*/
 #undef CONFIG_PCI_PNP
 #define CONFIG_PCI_SCAN_SHOW	1	/* show pci devices on startup	*/
 #define DEBUG

+#define CONFIG_NET_MULTI
+#define CONFIG_TULIP
 #define CONFIG_EEPRO100
 #define CONFIG_SYS_RX_ETH_BUFFER	8	/* use 8 rx buffer on eepro100	*/


Then I build like this:

cd u-boot
mkdir build
make O=build CROSS_COMPILE=arm-none-eabi- distclean
make O=build CROSS_COMPILE=arm-none-eabi- ap920t_config
make O=build CROSS_COMPILE=arm-none-eabi- all


Then this happens on my side:

make -C tools all
make[1]: Entering directory `/home/linus/u-boot/tools'
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -idirafter
/home/linus/u-boot/include -idirafter
/home/linus/u-boot/build/include2 -idirafter
/home/linus/u-boot/build/include -I /home/linus/u-boot/lib/libfdt -I
/home/linus/u-boot/tools -DCONFIG_SYS_TEXT_BASE=0x01000000
-DUSE_HOSTCC -D__KERNEL_STRICT_NAMES -pedantic   -o
/home/linus/u-boot/build/tools/gen_eth_addr.o gen_eth_addr.c -c
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -idirafter
/home/linus/u-boot/include -idirafter
/home/linus/u-boot/build/include2 -idirafter
/home/linus/u-boot/build/include -I /home/linus/u-boot/lib/libfdt -I
/home/linus/u-boot/tools -DCONFIG_SYS_TEXT_BASE=0x01000000
-DUSE_HOSTCC -D__KERNEL_STRICT_NAMES -pedantic  -o
/home/linus/u-boot/build/tools/gen_eth_addr
/home/linus/u-boot/build/tools/gen_eth_addr.o
/home/linus/u-boot/build/tools/gen_eth_addr.o: file not recognized:
File truncated
collect2: ld returned 1 exit status
make[1]: *** [/home/linus/u-boot/build/tools/gen_eth_addr] Error 1
make[1]: Leaving directory `/home/linus/u-boot/tools'
make: *** [tools] Error 2

Which is because:
ls -al build/tools/gen_eth_addr.o
-rw-rw-r--. 1 linus linus 0 Jul 12 17:16 build/tools/gen_eth_addr.o

If I copy+paste the buildline and remove -pedantic like this:

u-boot]$ cd tools && gcc -Wall -Wstrict-prototypes -O2
-fomit-frame-pointer -idirafter /home/linus/u-boot/include -idirafter
/home/linus/u-boot/build/include2 -idirafter
/home/linus/u-boot/build/include -I /home/linus/u-boot/lib/libfdt -I
/home/linus/u-boot/tools -DCONFIG_SYS_TEXT_BASE=0x01000000
-DUSE_HOSTCC -D__KERNEL_STRICT_NAMES  -o
/home/linus/u-boot/build/tools/gen_eth_addr.o gen_eth_addr.c -c && cd
..

ls -al build/tools/gen_eth_addr.o
-rw-rw-r--. 1 linus linus 1380 Jul 12 17:21 build/tools/gen_eth_addr.o

It's the same effect as if I tag on _NOPED of course.

If I repeat it with "-pedantic -v" to see more what's happening in GCC:

cd tools && gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer
-idirafter /home/linus/u-boot/include -idirafter
/home/linus/u-boot/build/include2 -idirafter
/home/linus/u-boot/build/include -I /home/linus/u-boot/lib/libfdt -I
/home/linus/u-boot/tools -DCONFIG_SYS_TEXT_BASE=0x01000000
-DUSE_HOSTCC -D__KERNEL_STRICT_NAMES -pedantic -v -o
/home/linus/u-boot/build/tools/gen_eth_addr.o gen_eth_addr.c -c && cd
..
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/i686-redhat-linux/4.6.0/lto-wrapper
Target: i686-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info
--with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap
--enable-shared --enable-threads=posix --enable-checking=release
--with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-gnu-unique-object
--enable-linker-build-id
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto
--enable-plugin --enable-java-awt=gtk --disable-dssi
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre
--enable-libgcj-multifile --enable-java-maintainer-mode
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar
--disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic
--with-arch=i686 --build=i686-redhat-linux
Thread model: posix
gcc version 4.6.0 20110530 (Red Hat 4.6.0-9) (GCC)
COLLECT_GCC_OPTIONS='-Wall' '-Wstrict-prototypes' '-O2'
'-fomit-frame-pointer' '-idirafter' '/home/linus/u-boot/include'
'-idirafter' '/home/linus/u-boot/build/include2' '-idirafter'
'/home/linus/u-boot/build/include' '-I'
'/home/linus/u-boot/lib/libfdt' '-I' '/home/linus/u-boot/tools' '-D'
'CONFIG_SYS_TEXT_BASE=0x01000000' '-D' 'USE_HOSTCC' '-D'
'__KERNEL_STRICT_NAMES' '-pedantic' '-v' '-c' '-E' '-mtune=generic'
'-march=i686'
 /usr/libexec/gcc/i686-redhat-linux/4.6.0/cc1 -E -quiet -v -I
/home/linus/u-boot/lib/libfdt -I /home/linus/u-boot/tools -D
CONFIG_SYS_TEXT_BASE=0x01000000 -D USE_HOSTCC -D __KERNEL_STRICT_NAMES
-idirafter /home/linus/u-boot/include -idirafter
/home/linus/u-boot/build/include2 -idirafter
/home/linus/u-boot/build/include gen_eth_addr.c -mtune=generic
-march=i686 -Wall -Wstrict-prototypes -pedantic -fomit-frame-pointer
-O2
ignoring nonexistent directory
"/usr/lib/gcc/i686-redhat-linux/4.6.0/include-fixed"
ignoring nonexistent directory
"/usr/lib/gcc/i686-redhat-linux/4.6.0/../../../../i686-redhat-linux/include"
#include "..." search starts here:
#include <...> search starts here:
 /home/linus/u-boot/lib/libfdt
 /home/linus/u-boot/tools
 /usr/lib/gcc/i686-redhat-linux/4.6.0/include
 /usr/local/include
 /usr/include
 /home/linus/u-boot/include
 /home/linus/u-boot/build/include2
 /home/linus/u-boot/build/include
End of search list.
COMPILER_PATH=/usr/libexec/gcc/i686-redhat-linux/4.6.0/:/usr/libexec/gcc/i686-redhat-linux/4.6.0/:/usr/libexec/gcc/i686-redhat-linux/:/usr/lib/gcc/i686-redhat-linux/4.6.0/:/usr/lib/gcc/i686-redhat-linux/
LIBRARY_PATH=/usr/lib/gcc/i686-redhat-linux/4.6.0/:/usr/lib/gcc/i686-redhat-linux/4.6.0/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-Wall' '-Wstrict-prototypes' '-O2'
'-fomit-frame-pointer' '-idirafter' '/home/linus/u-boot/include'
'-idirafter' '/home/linus/u-boot/build/include2' '-idirafter'
'/home/linus/u-boot/build/include' '-I'
'/home/linus/u-boot/lib/libfdt' '-I' '/home/linus/u-boot/tools' '-D'
'CONFIG_SYS_TEXT_BASE=0x01000000' '-D' 'USE_HOSTCC' '-D'
'__KERNEL_STRICT_NAMES' '-pedantic' '-v' '-c' '-E' '-mtune=generic'
'-march=i686'
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/i686-redhat-linux/4.6.0/lto-wrapper
Target: i686-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info
--with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap
--enable-shared --enable-threads=posix --enable-checking=release
--with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-gnu-unique-object
--enable-linker-build-id
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto
--enable-plugin --enable-java-awt=gtk --disable-dssi
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre
--enable-libgcj-multifile --enable-java-maintainer-mode
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar
--disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic
--with-arch=i686 --build=i686-redhat-linux
Thread model: posix
gcc version 4.6.0 20110530 (Red Hat 4.6.0-9) (GCC)
COLLECT_GCC_OPTIONS='-Wall' '-Wstrict-prototypes' '-O2'
'-fomit-frame-pointer' '-idirafter' '/home/linus/u-boot/include'
'-idirafter' '/home/linus/u-boot/build/include2' '-idirafter'
'/home/linus/u-boot/build/include' '-I'
'/home/linus/u-boot/lib/libfdt' '-I' '/home/linus/u-boot/tools' '-D'
'CONFIG_SYS_TEXT_BASE=0x01000000' '-D' 'USE_HOSTCC' '-D'
'__KERNEL_STRICT_NAMES' '-pedantic' '-v' '-c' '-o'
'/home/linus/.ccache/b/e/640dda2a6bea0b502be1a40f20250c-70431.o.tmp.finux.16608'
'-mtune=generic' '-march=i686'
 /usr/libexec/gcc/i686-redhat-linux/4.6.0/cc1 -fpreprocessed
/home/linus/.ccache/tmp/gen_eth_ad.tmp.finux.16608.i -quiet -dumpbase
gen_eth_ad.tmp.finux.16608.i -mtune=generic -march=i686 -auxbase-strip
/home/linus/.ccache/b/e/640dda2a6bea0b502be1a40f20250c-70431.o.tmp.finux.16608
-O2 -Wall -Wstrict-prototypes -pedantic -version -fomit-frame-pointer
-o /tmp/ccWF9IMp.s
GNU C (GCC) version 4.6.0 20110530 (Red Hat 4.6.0-9) (i686-redhat-linux)
	compiled by GNU C version 4.6.0 20110530 (Red Hat 4.6.0-9), GMP
version 4.3.2, MPFR version 3.0.0, MPC version 0.8.3-dev
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C (GCC) version 4.6.0 20110530 (Red Hat 4.6.0-9) (i686-redhat-linux)
	compiled by GNU C version 4.6.0 20110530 (Red Hat 4.6.0-9), GMP
version 4.3.2, MPFR version 3.0.0, MPC version 0.8.3-dev
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 0738d5e4529b180665bca6e0f3477eb6
COLLECT_GCC_OPTIONS='-Wall' '-Wstrict-prototypes' '-O2'
'-fomit-frame-pointer' '-idirafter' '/home/linus/u-boot/include'
'-idirafter' '/home/linus/u-boot/build/include2' '-idirafter'
'/home/linus/u-boot/build/include' '-I'
'/home/linus/u-boot/lib/libfdt' '-I' '/home/linus/u-boot/tools' '-D'
'CONFIG_SYS_TEXT_BASE=0x01000000' '-D' 'USE_HOSTCC' '-D'
'__KERNEL_STRICT_NAMES' '-pedantic' '-v' '-c' '-o'
'/home/linus/.ccache/b/e/640dda2a6bea0b502be1a40f20250c-70431.o.tmp.finux.16608'
'-mtune=generic' '-march=i686'
 as --32 -o /home/linus/.ccache/b/e/640dda2a6bea0b502be1a40f20250c-70431.o.tmp.finux.16608
/tmp/ccWF9IMp.s
COMPILER_PATH=/usr/libexec/gcc/i686-redhat-linux/4.6.0/:/usr/libexec/gcc/i686-redhat-linux/4.6.0/:/usr/libexec/gcc/i686-redhat-linux/:/usr/lib/gcc/i686-redhat-linux/4.6.0/:/usr/lib/gcc/i686-redhat-linux/
LIBRARY_PATH=/usr/lib/gcc/i686-redhat-linux/4.6.0/:/usr/lib/gcc/i686-redhat-linux/4.6.0/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-Wall' '-Wstrict-prototypes' '-O2'
'-fomit-frame-pointer' '-idirafter' '/home/linus/u-boot/include'
'-idirafter' '/home/linus/u-boot/build/include2' '-idirafter'
'/home/linus/u-boot/build/include' '-I'
'/home/linus/u-boot/lib/libfdt' '-I' '/home/linus/u-boot/tools' '-D'
'CONFIG_SYS_TEXT_BASE=0x01000000' '-D' 'USE_HOSTCC' '-D'
'__KERNEL_STRICT_NAMES' '-pedantic' '-v' '-c' '-o'
'/home/linus/.ccache/b/e/640dda2a6bea0b502be1a40f20250c-70431.o.tmp.finux.16608'
'-mtune=generic' '-march=i686'

Not many hints here though :-(

Any suggestions on how to drill into this are deeply welcome!

Thanks,
Linus Walleij

  reply	other threads:[~2011-07-12 15:24 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-12 11:24 [U-Boot] [PATCH] tools: build some commands without -pedantic Linus Walleij
2011-07-12 11:58 ` Wolfgang Denk
2011-07-12 15:24   ` Linus Walleij [this message]
2011-07-12 15:49     ` Mike Frysinger
2011-07-12 18:48       ` Linus Walleij
2011-07-12 18:57         ` Mike Frysinger
2011-07-12 18:59           ` Linus Walleij
2011-07-12 19:03             ` Mike Frysinger
2011-07-12 20:05             ` Wolfgang Denk
2011-07-12 20:17               ` Mike Frysinger
2011-07-12 22:54               ` Linus Walleij
2011-07-12 20:04     ` Wolfgang Denk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CACRpkdaqvK3730mB67C8Bmpfm6fLHb1Tz-Bzr=Lhxn1bFw2i3g@mail.gmail.com' \
    --to=linus.walleij@linaro.org \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.