Skip to contentSkip to conversation

New: u-boot: fw_printenv does not build

Buildroot bugzilla at busybox.net 1 participant 2 messages Apr 8, 2011 – Apr 24, 2011

lore
Share & tools
lore
#0 lore raw

https://bugs.busybox.net/show_bug.cgi?id=3571

Summary: u-boot: fw_printenv does not build
Product: buildroot
Version: unspecified
Platform: PC
OS/Version: Linux
Status: NEW
Severity: minor
Priority: P5
Component: Other
AssignedTo: unassigned at buildroot.uclibc.org
ReportedBy: luca.ceresoli at tiscali.it
CC: buildroot at uclibc.org
Estimated Hours: 0.0

Created attachment 3181
--> https://bugs.busybox.net/attachment.cgi?id=3181
Buildroot configuration to reproduce the problem

fw_printenv does not build in current versions of buildroot.

The problem is well known ussue in upstream U-Boot. The good news is that there is a workaround.
The bad news is that the issue is known by the U-Boot developers since last october, but there does not seem to be activity to really fix it.

For the long story see the links in
http://lists.denx.de/pipermail/u-boot/2011-April/089987.html .

Reproduced with current buildroot (2011.02-116-g64b351f) and the attached (minimized) config.

The result is:

CONF config/config.in
CONF config/config.in
mkdir -p /home/murray/temp/buildroot-clean/output/target/usr/sbin /home/murray/temp/buildroot-clean/output/host/usr/bin/arm-unknown-linux-gnueabi-gcc --sysroot=/home/murray/temp/buildroot-clean/output/host/usr/arm-unknown-linux-gnueabi/sysroot -I/home/murray/temp/buildroot-clean/output/build/u-boot-2010.12/include -I/include \
-DUSE_HOSTCC -o
/home/murray/temp/buildroot-clean/output/target/usr/sbin/fw_printenv \

/home/murray/temp/buildroot-clean/output/build/u-boot-2010.12/tools/env/*.c /home/murray/temp/buildroot-clean/output/build/u-boot-2010.12/lib*/crc32.c /home/murray/temp/buildroot-clean/output/host/usr/lib/gcc/arm-unknown-linux-gnueabi/4.4.3/../../../../arm-unknown-linux-gnueabi/bin/ld:
errno: TLS definition in /home/murray/temp/buildroot-clean/output/host/usr/arm-unknown-linux-gnueabi/sysroot/lib/libc.so.6
section .tbss mismatches non-TLS reference in /tmp/cccHIRXB.o /home/murray/temp/buildroot-clean/output/host/usr/arm-unknown-linux-gnueabi/sysroot/lib/libc.so.6:
could not read symbols: Bad value
collect2: ld returned 1 exit status
make: ***
[/home/murray/temp/buildroot-clean/output/target/usr/sbin/fw_printenv] Error 1

I solved this problem applying the known workaround this way:

boot/u-boot/u-boot.mk +2 -3
index d859cf5..4de4d1f 100644
@@ -166,9 +166,8 @@ $(TARGET_DIR)/usr/bin/mkimage: $(U_BOOT_DIR)/.configured
 # Build manually fw_printenv for the target
 $(TARGET_DIR)/usr/sbin/fw_printenv: $(U_BOOT_DIR)/.configured
     mkdir -p $(@D)
-    $(TARGET_CC) -I$(U_BOOT_DIR)/include -I$(LINUX_HEADERS_DIR)/include \
-        -DUSE_HOSTCC -o $@ \
-        $(U_BOOT_DIR)/tools/env/*.c $(U_BOOT_DIR)/lib*/crc32.c
+    $(MAKE) HOSTCC="$(TARGET_CC)" -C $(U_BOOT_DIR) env
+    cp $(U_BOOT_DIR)/tools/env/fw_printenv $@
     $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $@
     ln -sf fw_printenv $(TARGET_DIR)/usr/sbin/fw_setenv
 

This works for me, but I don't know if will for other people, nor if it is general enough to be proposed for mainline buildroot inclusion.

Any observations?

Luca

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
#1 lore raw

[Buildroot] [Bug 3571] u-boot: fw_printenv does not build

https://bugs.busybox.net/show_bug.cgi?id=3571

Peter Korsgaard <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------

             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED

--- Comment #1 from Peter Korsgaard <[email protected]> ---
I was first a bit concerned about how long this env target had been supported (as we support older u-boot versions as well), but it seems like it has been there very long.

Thanks, committed with minor tweaks.

Signature · 3 lines
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.