[U-Boot-Users] Library order problem

Pierre AUBERT p.aubert at staubli.com
Tue Nov 19 15:40:34 CET 2002


Hello everybody,

I'm currently developping a driver for a LCD driver (the Epson SED13806
used on the Embedded
Planet ECCX board). In this driver, I need to call board specific
functions, then I added a file in the RPXClassic
board directory. During the link phase, I have some errors because of
undefined references to the board specific
functions. These errors are due to the library order defined in the main
Makefile. The board library is the first in the
list. I've tried to change this order in the following way :

LIBS  = board/$(BOARDDIR)/lib$(BOARD).a
LIBS += cpu/$(CPU)/lib$(CPU).a
LIBS += lib_$(ARCH)/lib$(ARCH).a
LIBS += fs/jffs2/libjffs2.a fs/fdos/libfdos.a
LIBS += net/libnet.a
LIBS += disk/libdisk.a
LIBS += rtc/librtc.a
LIBS += dtt/libdtt.a
LIBS += drivers/libdrivers.a
LIBS += post/libpost.a post/cpu/libcpu.a
LIBS += common/libcommon.a
LIBS += lib_generic/libgeneric.a

becomes
LIBS  = cpu/$(CPU)/lib$(CPU).a
LIBS += lib_$(ARCH)/lib$(ARCH).a
LIBS += fs/jffs2/libjffs2.a fs/fdos/libfdos.a
LIBS += net/libnet.a
LIBS += disk/libdisk.a
LIBS += rtc/librtc.a
LIBS += dtt/libdtt.a
LIBS += drivers/libdrivers.a
LIBS += post/libpost.a post/cpu/libcpu.a
LIBS += common/libcommon.a
LIBS += lib_generic/libgeneric.a
LIBS += board/$(BOARDDIR)/lib$(BOARD).a

This modification solves my problem. I ran the MAKEALL script for 8xx,
8260, 824x and 74xx boards (I don't have any compiler for other
processors) without any problem.

What do you think about this modification ?






More information about the U-Boot mailing list