[U-Boot] GNU specific sed argument in rules.mk

Hi Wolfgang / All,
rules.mk uses the GNU specific sed \w leading to not directly obvious Make / _depend errors in the build process, like circular dependencies warnings / crc32.c not found (some example and (incorrect) fixes), e.g.: http://lists.denx.de/pipermail/u-boot/2009-May/051931.html http://lists.denx.de/pipermail/u-boot/2009-June/054662.html http://lists.denx.de/pipermail/u-boot/2009-November/064655.html http://lists.denx.de/pipermail/u-boot/2011-March/088884.html
Some test:
Current command (gsed = GNU sed, sed = FreeBSD takes \w as w). The first command is not the intention. [jeroen@blue ~]$ echo some/example/test.c | sed -e 's/(.*).\w/\1.o/'; some/example/test.c [jeroen@blue ~]$ echo some/example/test.c | gsed -e 's/(.*).\w/\1.o/'; some/example/test.o [jeroen@blue ~]$ echo some/example/test.w | sed -e 's/(.*).\w/\1.o/'; some/example/test.o [jeroen@blue ~]$ echo some/example/test.w | gsed -e 's/(.*).\w/\1.o/'; some/example/test.o
None GNU specific as per GNU docs (fine): [jeroen@blue ~]$ echo some/example/test.c | sed -e 's/(.*).[[:alnum:]_]/\1.o/'; some/example/test.o [jeroen@blue ~]$ echo some/example/test.c | gsed -e 's/(.*).[[:alnum:]_]/\1.o/'; some/example/test.o
or shorter (regex are greedy): [jeroen@blue ~]$ echo some/example/test.c | sed -e 's/(.*)..*/\1.o/'; some/example/test.o [jeroen@blue ~]$ echo some/example/test.c | gsed -e 's/(.*)..*/\1.o/'; some/example/test.o
Would you accept a patch for this?
Regards, Jeroen
----------------------------------------------------
patch would look something like this, GNU man suggested or ...
diff --git a/rules.mk b/rules.mk index c2860e5..385e5f5 100644 --- a/rules.mk +++ b/rules.mk @@ -29,11 +29,11 @@ $(obj).depend: $(src)Makefile $(TOPDIR)/config.mk $(SRCS) $(HOSTSRCS) @rm -f $@ @touch $@ @for f in $(SRCS); do \ - g=`basename $$f | sed -e 's/(.*).\w/\1.o/'`; \ + g=`basename $$f | sed -e 's/(.*)..*/\1.o/'`; \ $(CC) -M $(CPPFLAGS) -MQ $(obj)$$g $$f>> $@ ; \ done @for f in $(HOSTSRCS); do \ - g=`basename $$f | sed -e 's/(.*).\w/\1.o/'`; \ + g=`basename $$f | sed -e 's/(.*)..*/\1.o/'`; \ $(HOSTCC) -M $(HOSTCPPFLAGS) -MQ $(obj)$$g $$f>> $@ ; \ done
GNU extension to regex are documented here: See http://www.gnu.org/software/gawk/manual/html_node/GNU-Regexp-Operators.html

Dear Jeroen Hofstee,
In message 4E0B8F82.4000600@myspectrum.nl you wrote:
rules.mk uses the GNU specific sed \w leading to not directly obvious Make / _depend errors in the build process, like circular dependencies
You should probably mention when such errors result - I have never seen any of these.
Current command (gsed = GNU sed, sed = FreeBSD takes \w as w). The first command is not the intention. [jeroen@blue ~]$ echo some/example/test.c | sed -e 's/(.*).\w/\1.o/'; some/example/test.c [jeroen@blue ~]$ echo some/example/test.c | gsed -e 's/(.*).\w/\1.o/'; some/example/test.o [jeroen@blue ~]$ echo some/example/test.w | sed -e 's/(.*).\w/\1.o/'; some/example/test.o [jeroen@blue ~]$ echo some/example/test.w | gsed -e 's/(.*).\w/\1.o/'; some/example/test.o
None GNU specific as per GNU docs (fine): [jeroen@blue ~]$ echo some/example/test.c | sed -e 's/(.*).[[:alnum:]_]/\1.o/'; some/example/test.o [jeroen@blue ~]$ echo some/example/test.c | gsed -e 's/(.*).[[:alnum:]_]/\1.o/'; some/example/test.o
or shorter (regex are greedy): [jeroen@blue ~]$ echo some/example/test.c | sed -e 's/(.*)..*/\1.o/'; some/example/test.o [jeroen@blue ~]$ echo some/example/test.c | gsed -e 's/(.*)..*/\1.o/'; some/example/test.o
I don't think this last version is equivalent to the original code. With GNU sed:
-> echo foo/bar-baz.frob-nitz | sed -e 's/(.*).\w/\1.o/' foo/bar-baz.orob-nitz -> echo foo/bar-baz.frob-nitz | sed -e 's/(.*)..*/\1.o/' foo/bar-baz.o
Would you accept a patch for this?
Yes, of course - if the resultinmg code works, and if you follow patch submission rules (like SoB: line etc.).
Best regards,
Wolfgang Denk

Hello Wolfgang,
rules.mk uses the GNU specific sed \w leading to not directly obvious Make / _depend errors in the build process, like circular dependencies
You should probably mention when such errors result - I have never seen any of these.
I understand. Logs for what it solves are below. For clarity, this only affects systems with a sed version not supporting the GNU \w option.
Current command (gsed = GNU sed, sed = FreeBSD takes \w as w). The first command is not the intention. [jeroen@blue ~]$ echo some/example/test.c | sed -e 's/(.*).\w/\1.o/'; some/example/test.c
[..]
or shorter (regex are greedy): [jeroen@blue ~]$ echo some/example/test.c | sed -e 's/(.*)..*/\1.o/'; some/example/test.o [jeroen@blue ~]$ echo some/example/test.c | gsed -e 's/(.*)..*/\1.o/'; some/example/test.o
I don't think this last version is equivalent to the original code. With GNU sed:
-> echo foo/bar-baz.frob-nitz | sed -e 's/(.*).\w/\1.o/' foo/bar-baz.orob-nitz -> echo foo/bar-baz.frob-nitz | sed -e 's/(.*)..*/\1.o/' foo/bar-baz.o
It is indeed not the exact equivalent; it will always replace the extension, also if the extension contains non-alphanumerical chars. I will use the alphanumerical version to be on the safe side..
Would you accept a patch for this?
Yes, of course - if the resultinmg code works, and if you follow patch submission rules (like SoB: line etc.).
Good, I will check, cygwin/linux and make a patch request when ok (this weekend or so).
Regards, Jeroen
[jeroen@blue ~/u-boot]$ gmake ARCH=arm CROSS_COMPILE=arm-none-eabi- distclean
[jeroen@blue ~/u-boot]$ gmake ARCH=arm CROSS_COMPILE=arm-none-eabi- at91rm9200ek_config awk '(NF && $1 !~ /^#/) { print $1 ": " $1 "_config; $(MAKE)" }' boards.cfg > .boards.depend Configuring for at91rm9200ek board...
[jeroen@blue ~/u-boot]$ gmake ARCH=arm CROSS_COMPILE=arm-none-eabi- all Generating include/autoconf.mk Generating include/autoconf.mk.dep arm-none-eabi-gcc -DDO_DEPS_ONLY \ -g -Os -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x10000000 -I/usr/home/jeroen/u-boot/include -fno-builtin -ffreestanding -nostdinc -isystem /usr/compat/linux/usr/local/cs/bin/../lib/gcc/arm-none-eabi/4.5.2/include -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-interwork -march=armv4 -Wall -Wstrict-prototypes -fno-stack-protector \ -o lib/asm-offsets.s lib/asm-offsets.c -c -S Generating include/generated/generic-asm-offsets.h tools/scripts/make-asm-offsets lib/asm-offsets.s include/generated/generic-asm-offsets.h for dir in tools examples/standalone examples/api arch/arm/cpu/arm920t /usr/home/jeroen/u-boot/arch/arm/cpu/arm920t/ ; do \ gmake -C $dir _depend ; done gmake[1]: Entering directory `/usr/home/jeroen/u-boot/tools' gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/tools' gmake[1]: Entering directory `/usr/home/jeroen/u-boot/tools' gmake[1]: Nothing to be done for `_depend'. gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/tools' gmake[1]: Entering directory `/usr/home/jeroen/u-boot/examples/standalone' gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/examples/standalone' gmake[1]: Entering directory `/usr/home/jeroen/u-boot/examples/standalone' gmake[1]: Circular hello_world.c <- hello_world.c dependency dropped. gmake[1]: Circular stubs.c <- stubs.c dependency dropped. gmake[1]: Nothing to be done for `_depend'. gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/examples/standalone' gmake[1]: Entering directory `/usr/home/jeroen/u-boot/examples/api' gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/examples/api' gmake[1]: Entering directory `/usr/home/jeroen/u-boot/examples/api' gmake[1]: Nothing to be done for `_depend'. gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/examples/api' gmake[1]: Entering directory `/usr/home/jeroen/u-boot/arch/arm/cpu/arm920t' gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/arch/arm/cpu/arm920t' gmake[1]: Entering directory `/usr/home/jeroen/u-boot/arch/arm/cpu/arm920t' gmake[1]: Circular start.S <- start.S dependency dropped. gmake[1]: Circular cpu.c <- cpu.c dependency dropped. gmake[1]: Nothing to be done for `_depend'. gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/arch/arm/cpu/arm920t' gmake[1]: Entering directory `/usr/home/jeroen/u-boot/arch/arm/cpu/arm920t' gmake[1]: Circular start.S <- start.S dependency dropped. gmake[1]: Circular cpu.c <- cpu.c dependency dropped. gmake[1]: Nothing to be done for `_depend'. gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/arch/arm/cpu/arm920t' gmake -C tools all gmake[1]: Entering directory `/usr/home/jeroen/u-boot/tools' arm-none-eabi-gcc -g -Os -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x10000000 -I/usr/home/jeroen/u-boot/include -fno-builtin -ffreestanding -nostdinc -isystem /usr/compat/linux/usr/local/cs/bin/../lib/gcc/arm-none-eabi/4.5.2/include -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-interwork -march=armv4 -Wall -Wstrict-prototypes -fno-stack-protector -o crc32.o crc32.c -c arm-none-eabi-gcc: crc32.c: No such file or directory arm-none-eabi-gcc: no input files gmake[1]: *** [crc32.o] Error 1 gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/tools' gmake: *** [tools] Error 2
==== edit rules.mk diff --git a/rules.mk b/rules.mk index c2860e5..d79fcd3 100644 --- a/rules.mk +++ b/rules.mk @@ -29,11 +29,11 @@ $(obj).depend: $(src)Makefile $(TOPDIR)/config.mk $(SRCS) $(HOSTSRCS) @rm -f $@ @touch $@ @for f in $(SRCS); do \ - g=`basename $$f | sed -e 's/(.*).\w/\1.o/'`; \ + g=`basename $$f | sed -e 's/(.*).[[:alnum:]_]/\1.o/'`; \ $(CC) -M $(CPPFLAGS) -MQ $(obj)$$g $$f >> $@ ; \ done @for f in $(HOSTSRCS); do \ - g=`basename $$f | sed -e 's/(.*).\w/\1.o/'`; \ + g=`basename $$f | sed -e 's/(.*).[[:alnum:]_]/\1.o/'`; \ $(HOSTCC) -M $(HOSTCPPFLAGS) -MQ $(obj)$$g $$f
$@ ; \
done
[At least on FreeBSD, add typedef for ulong to include/compiler.h, separate issue] ====
[jeroen@blue ~/u-boot]$ gmake ARCH=arm CROSS_COMPILE=arm-none-eabi- distclean
Generating include/autoconfGenerating include/autoconf.mk Generating include/autoconf.mk.dep arm-none-eabi-gcc -DDO_DEPS_ONLY \ -g -Os -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x10000000 -I/usr/home/jeroen/u-boot/include -fno-builtin -ffreestanding -nostdinc -isystem /usr/compat/linux/usr/local/cs/bin/../lib/gcc/arm-none-eabi/4.5.2/include -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-interwork -march=armv4 -Wall -Wstrict-prototypes -fno-stack-protector \ -o lib/asm-offsets.s lib/asm-offsets.c -c -S Generating include/generated/generic-asm-offsets.h tools/scripts/make-asm-offsets lib/asm-offsets.s include/generated/generic-asm-offsets.h for dir in tools examples/standalone examples/api arch/arm/cpu/arm920t /usr/home/jeroen/u-boot/arch/arm/cpu/arm920t/ ; do \ gmake -C $dir _depend ; done gmake[1]: Entering directory `/usr/home/jeroen/u-boot/tools' gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/tools' gmake[1]: Entering directory `/usr/home/jeroen/u-boot/tools' gmake[1]: Nothing to be done for `_depend'. gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/tools' gmake[1]: Entering directory `/usr/home/jeroen/u-boot/examples/standalone' gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/examples/standalone' gmake[1]: Entering directory `/usr/home/jeroen/u-boot/examples/standalone' gmake[1]: Nothing to be done for `_depend'. gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/examples/standalone' gmake[1]: Entering directory `/usr/home/jeroen/u-boot/examples/api' gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/examples/api' gmake[1]: Entering directory `/usr/home/jeroen/u-boot/examples/api' gmake[1]: Nothing to be done for `_depend'. gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/examples/api' gmake[1]: Entering directory `/usr/home/jeroen/u-boot/arch/arm/cpu/arm920t' gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/arch/arm/cpu/arm920t' gmake[1]: Entering directory `/usr/home/jeroen/u-boot/arch/arm/cpu/arm920t' gmake[1]: Nothing to be done for `_depend'. gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/arch/arm/cpu/arm920t' gmake[1]: Entering directory `/usr/home/jeroen/u-boot/arch/arm/cpu/arm920t' gmake[1]: Nothing to be done for `_depend'. gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/arch/arm/cpu/arm920t' gmake -C tools all gmake[1]: Entering directory `/usr/home/jeroen/u-boot/tools' gcc -g -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -idirafter /usr/home/jeroen/u-boot/include -idirafter /usr/home/jeroen/u-boot/include2 -idirafter /usr/home/jeroen/u-boot/include -I /usr/home/jeroen/u-boot/lib/libfdt -I /usr/home/jeroen/u-boot/tools -DCONFIG_SYS_TEXT_BASE=0x10000000 -DUSE_HOSTCC -D__KERNEL_STRICT_NAMES -pedantic -c -o crc32.o /usr/home/jeroen/u-boot/lib/crc32.c gcc -g -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -idirafter /usr/home/jeroen/u-boot/include -idirafter /usr/home/jeroen/u-boot/include2 -idirafter /usr/home/jeroen/u-boot/include -I /usr/home/jeroen/u-boot/lib/libfdt -I /usr/home/jeroen/u-boot/tools -DCONFIG_SYS_TEXT_BASE=0x10000000 -DUSE_HOSTCC -D__KERNEL_STRICT_NAMES -c -o env_embedded.o /usr/home/jeroen/u-boot/common/env_embedded.c gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -idirafter /usr/home/jeroen/u-boot/include -idirafter /usr/home/jeroen/u-boot/include2 -idirafter /usr/home/jeroen/u-boot/include -I /usr/home/jeroen/u-boot/lib/libfdt -I /usr/home/jeroen/u-boot/tools -DCONFIG_SYS_TEXT_BASE=0x10000000 -DUSE_HOSTCC -D__KERNEL_STRICT_NAMES -pedantic -o envcrc.o envcrc.c -c gcc -g -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -idirafter /usr/home/jeroen/u-boot/include -idirafter /usr/home/jeroen/u-boot/include2 -idirafter /usr/home/jeroen/u-boot/include -I /usr/home/jeroen/u-boot/lib/libfdt -I /usr/home/jeroen/u-boot/tools -DCONFIG_SYS_TEXT_BASE=0x10000000 -DUSE_HOSTCC -D__KERNEL_STRICT_NAMES -pedantic -c -o sha1.o /usr/home/jeroen/u-boot/lib/sha1.c gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -idirafter /usr/home/jeroen/u-boot/include -idirafter /usr/home/jeroen/u-boot/include2 -idirafter /usr/home/jeroen/u-boot/include -I /usr/home/jeroen/u-boot/lib/libfdt -I /usr/home/jeroen/u-boot/tools -DCONFIG_SYS_TEXT_BASE=0x10000000 -DUSE_HOSTCC -D__KERNEL_STRICT_NAMES -pedantic -o envcrc crc32.o env_embedded.o envcrc.o sha1.o gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -idirafter /usr/home/jeroen/u-boot/include -idirafter /usr/home/jeroen/u-boot/include2 -idirafter /usr/home/jeroen/u-boot/include -I /usr/home/jeroen/u-boot/lib/libfdt -I /usr/home/jeroen/u-boot/tools -DCONFIG_SYS_TEXT_BASE=0x10000000 -DUSE_HOSTCC -D__KERNEL_STRICT_NAMES -pedantic -o gen_eth_addr.o gen_eth_addr.c -c.mk Generating include/autoconf.mk.dep arm-none-eabi-gcc -DDO_DEPS_ONLY \ -g -Os -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x10000000 -I/usr/home/jeroen/u-boot/include -fno-builtin -ffreestanding -nostdinc -isystem /usr/compat/linux/usr/local/cs/bin/../lib/gcc/arm-none-eabi/4.5.2/include -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-interwork -march=armv4 -Wall -Wstrict-prototypes -fno-stack-protector \ -o lib/asm-offsets.s lib/asm-offsets.c -c -S Generating include/generated/generic-asm-offsets.h tools/scripts/make-asm-offsets lib/asm-offsets.s include/generated/generic-asm-offsets.h for dir in tools examples/standalone examples/api arch/arm/cpu/arm920t /usr/home/jeroen/u-boot/arch/arm/cpu/arm920t/ ; do \ gmake -C $dir _depend ; done gmake[1]: Entering directory `/usr/home/jeroen/u-boot/tools' gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/tools' gmake[1]: Entering directory `/usr/home/jeroen/u-boot/tools' gmake[1]: Nothing to be done for `_depend'. gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/tools' gmake[1]: Entering directory `/usr/home/jeroen/u-boot/examples/standalone' gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/examples/standalone' gmake[1]: Entering directory `/usr/home/jeroen/u-boot/examples/standalone' gmake[1]: Nothing to be done for `_depend'. gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/examples/standalone' gmake[1]: Entering directory `/usr/home/jeroen/u-boot/examples/api' gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/examples/api' gmake[1]: Entering directory `/usr/home/jeroen/u-boot/examples/api' gmake[1]: Nothing to be done for `_depend'. gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/examples/api' gmake[1]: Entering directory `/usr/home/jeroen/u-boot/arch/arm/cpu/arm920t' gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/arch/arm/cpu/arm920t' gmake[1]: Entering directory `/usr/home/jeroen/u-boot/arch/arm/cpu/arm920t' gmake[1]: Nothing to be done for `_depend'. gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/arch/arm/cpu/arm920t' gmake[1]: Entering directory `/usr/home/jeroen/u-boot/arch/arm/cpu/arm920t' gmake[1]: Nothing to be done for `_depend'. gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/arch/arm/cpu/arm920t' gmake -C tools all gmake[1]: Entering directory `/usr/home/jeroen/u-boot/tools' gcc -g -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -idirafter /usr/home/jeroen/u-boot/include -idirafter /usr/home/jeroen/u-boot/include2 -idirafter /usr/home/jeroen/u-boot/include -I /usr/home/jeroen/u-boot/lib/libfdt -I /usr/home/jeroen/u-boot/tools -DCONFIG_SYS_TEXT_BASE=0x10000000 -DUSE_HOSTCC -D__KERNEL_STRICT_NAMES -pedantic -c -o crc32.o /usr/home/jeroen/u-boot/lib/crc32.c gcc -g -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -idirafter /usr/home/jeroen/u-boot/include -idirafter /usr/home/jeroen/u-boot/include2 -idirafter /usr/home/jeroen/u-boot/include -I /usr/home/jeroen/u-boot/lib/libfdt -I /usr/home/jeroen/u-boot/tools -DCONFIG_SYS_TEXT_BASE=0x10000000 -DUSE_HOSTCC -D__KERNEL_STRICT_NAMES -c -o env_embedded.o /usr/home/jeroen/u-boot/common/env_embedded.c gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -idirafter /usr/home/jeroen/u-boot/include -idirafter /usr/home/jeroen/u-boot/include2 -idirafter /usr/home/jeroen/u-boot/include -I /usr/home/jeroen/u-boot/lib/libfdt -I /usr/home/jeroen/u-boot/tools -DCONFIG_SYS_TEXT_BASE=0x10000000 -DUSE_HOSTCC -D__KERNEL_STRICT_NAMES -pedantic -o envcrc.o envcrc.c -c gcc -g -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -idirafter /usr/home/jeroen/u-boot/include -idirafter /usr/home/jeroen/u-boot/include2 -idirafter /usr/home/jeroen/u-boot/include -I /usr/home/jeroen/u-boot/lib/libfdt -I /usr/home/jeroen/u-boot/tools -DCONFIG_SYS_TEXT_BASE=0x10000000 -DUSE_HOSTCC -D__KERNEL_STRICT_NAMES -pedantic -c -o sha1.o /usr/home/jeroen/u-boot/lib/sha1.c gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -idirafter /usr/home/jeroen/u-boot/include -idirafter /usr/home/jeroen/u-boot/include2 -idirafter /usr/home/jeroen/u-boot/include -I /usr/home/jeroen/u-boot/lib/libfdt -I /usr/home/jeroen/u-boot/tools -DCONFIG_SYS_TEXT_BASE=0x10000000 -DUSE_HOSTCC -D__KERNEL_STRICT_NAMES -pedantic -o envcrc crc32.o env_embedded.o envcrc.o sha1.o gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -idirafter /usr/home/jeroen/u-boot/include -idirafter /usr/home/jeroen/u-boot/include2 -idirafter /usr/home/jeroen/u-boot/include -I /usr/home/jeroen/u-boot/lib/libfdt -I /usr/home/jeroen/u-boot/tools -DCONFIG_SYS_TEXT_BASE=0x10000000 -DUSE_HOSTCC -D__KERNEL_STRICT_NAMES -pedantic -o gen_eth_addr.o gen_eth_addr.c -c
[....]
gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/board/atmel/at91rm9200ek' gmake -C /usr/home/jeroen/u-boot/arch/arm/cpu/arm920t/ u-boot.lds gmake[1]: Entering directory `/usr/home/jeroen/u-boot/arch/arm/cpu/arm920t' gmake[1]: Nothing to be done for `u-boot.lds'. gmake[1]: Leaving directory `/usr/home/jeroen/u-boot/arch/arm/cpu/arm920t' arm-none-eabi-gcc -E -g -Os -fno-common -ffixed-r8 -msoft-float -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x10000000 -I/usr/home/jeroen/u-boot/include -fno-builtin -ffreestanding -nostdinc -isystem /usr/compat/linux/usr/local/cs/bin/../lib/gcc/arm-none-eabi/4.5.2/include -pipe -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux -mno-thumb-interwork -march=armv4 -include /usr/home/jeroen/u-boot/include/u-boot/u-boot.lds.h -ansi -D__ASSEMBLY__ -P - </usr/home/jeroen/u-boot/arch/arm/cpu/arm920t/u-boot.lds >u-boot.lds UNDEF_SYM=`arm-none-eabi-objdump -x board/atmel/at91rm9200ek/libat91rm9200ek.o api/libapi.o arch/arm/cpu/arm920t/at91/libat91.o arch/arm/cpu/arm920t/libarm920t.o arch/arm/lib/libarm.o common/libcommon.o disk/libdisk.o drivers/bios_emulator/libatibiosemu.o drivers/block/libblock.o drivers/dma/libdma.o drivers/fpga/libfpga.o drivers/gpio/libgpio.o drivers/hwmon/libhwmon.o drivers/i2c/libi2c.o drivers/input/libinput.o drivers/misc/libmisc.o drivers/mmc/libmmc.o drivers/mtd/libmtd.o drivers/mtd/nand/libnand.o drivers/mtd/onenand/libonenand.o drivers/mtd/spi/libspi_flash.o drivers/mtd/ubi/libubi.o drivers/net/libnet.o drivers/net/phy/libphy.o drivers/pci/libpci.o drivers/pcmcia/libpcmcia.o drivers/power/libpower.o drivers/rtc/librtc.o drivers/serial/libserial.o drivers/spi/libspi.o drivers/twserial/libtws.o drivers/usb/eth/libusb_eth.o drivers/usb/gadget/libusb_gadget.o drivers/usb/host/libusb_host.o drivers/usb/musb/libusb_musb.o drivers/usb/phy/libusb_phy.o drivers/video/libvideo.o drivers/watchdog/libwatchdog.o fs/cramfs/libcramfs.o fs/ext2/libext2fs.o fs/fat/libfat.o fs/fdos/libfdos.o fs/jffs2/libjffs2.o fs/reiserfs/libreiserfs.o fs/ubifs/libubifs.o fs/yaffs2/libyaffs2.o lib/libfdt/libfdt.o lib/libgeneric.o lib/lzma/liblzma.o lib/lzo/liblzo.o lib/zlib/libz.o net/libnet.o post/libpost.o | sed -n -e 's/.*(__u_boot_cmd_.*)/-u\1/p'|sort|uniq`; cd /usr/home/jeroen/u-boot && arm-none-eabi-ld -pie -T u-boot.lds -Bstatic -Ttext 0x10000000 $UNDEF_SYM arch/arm/cpu/arm920t/start.o --start-group api/libapi.o arch/arm/cpu/arm920t/at91/libat91.o arch/arm/cpu/arm920t/libarm920t.o arch/arm/lib/libarm.o common/libcommon.o disk/libdisk.o drivers/bios_emulator/libatibiosemu.o drivers/block/libblock.o drivers/dma/libdma.o drivers/fpga/libfpga.o drivers/gpio/libgpio.o drivers/hwmon/libhwmon.o drivers/i2c/libi2c.o drivers/input/libinput.o drivers/misc/libmisc.o drivers/mmc/libmmc.o drivers/mtd/libmtd.o drivers/mtd/nand/libnand.o drivers/mtd/onenand/libonenand.o drivers/mtd/spi/libspi_flash.o drivers/mtd/ubi/libubi.o drivers/net/libnet.o drivers/net/phy/libphy.o drivers/pci/libpci.o drivers/pcmcia/libpcmcia.o drivers/power/libpower.o drivers/rtc/librtc.o drivers/serial/libserial.o drivers/spi/libspi.o drivers/twserial/libtws.o drivers/usb/eth/libusb_eth.o drivers/usb/gadget/libusb_gadget.o drivers/usb/host/libusb_host.o drivers/usb/musb/libusb_musb.o drivers/usb/phy/libusb_phy.o drivers/video/libvideo.o drivers/watchdog/libwatchdog.o fs/cramfs/libcramfs.o fs/ext2/libext2fs.o fs/fat/libfat.o fs/fdos/libfdos.o fs/jffs2/libjffs2.o fs/reiserfs/libreiserfs.o fs/ubifs/libubifs.o fs/yaffs2/libyaffs2.o lib/libfdt/libfdt.o lib/libgeneric.o lib/lzma/liblzma.o lib/lzo/liblzo.o lib/zlib/libz.o net/libnet.o post/libpost.o board/atmel/at91rm9200ek/libat91rm9200ek.o --end-group /usr/home/jeroen/u-boot/arch/arm/lib/eabi_compat.o -L /usr/compat/linux/usr/local/cs/bin/../lib/gcc/arm-none-eabi/4.5.2 -lgcc -Map u-boot.map -o u-boot arm-none-eabi-objcopy -O srec u-boot u-boot.srec arm-none-eabi-objcopy --gap-fill=0xff -O binary u-boot u-boot.bin

Hi,
I have the arm/verstilepb compiling and working on qemu (without flash for now). I don't have the board itself though, and have no intention to order it... Since it tends to be used as an example for emulation (the board is supported by qemu) it might be worth to preserve though.
1) Is there any work in progress to preserve the board from removal? 2) If not, is anyone who owns the board willing to remove the dust from it, and check if my patches are compatible with the board itself. 3) .. depends on 2
Regards, Jeroen

Am 30/06/2011 23:42, schrieb Jeroen Hofstee:
Hi,
Hi Jeroen.
I have the arm/verstilepb compiling and working on qemu (without flash for now). I don't have the board itself though, and have no intention to order it... Since it tends to be used as an example for emulation (the board is supported by qemu) it might be worth to preserve though.
- Is there any work in progress to preserve the board from removal?
I have sent patches to fix the board (at least, for qemu) last week:
http://www.mail-archive.com/u-boot@lists.denx.de/msg55084.html
Best regards, Stefano Babic
participants (3)
-
Jeroen Hofstee
-
stefano babic
-
Wolfgang Denk