[U-Boot] Query on weak function for board specific initialisation

Jeroen Hofstee jeroen at myspectrum.nl
Sat May 30 16:44:32 CEST 2015


Hello Maity,

On 30-04-15 14:57, maitysanchayan at gmail.com wrote:
> Hello,
>
> I am trying to use a weak function in able to provide a board specific
> initialisation. To be more specific, I am trying to use the __weak
> board_ehci_hcd_init function in the usb driver code which is called in
> ehci_hcd_init, the strong function being defined in the board file.
> This is on lines similar to what I see in the ehci-mx6 driver and some
> mx6 board files like nitrogen's.
>
> Getting a linker error on compiling which is perplexing me at the
> moment.
>
> [snip]
> drivers/usb/host/built-in.o: In function `ehci_hcd_init':
> /home/sanchayan/uboot/u-boot/drivers/usb/host/ehci-vf.c:185:
> undefined reference to `board_echi_hcd_init'
> /home/sanchayan/gcc-linaro/bin/arm-linux-gnueabihf-ld.bfd: BFD
> (crosstool-NG linaro-1.13.1-2012.09-20120921 - Linaro GCC 2012.09) 2.22
> assertion fail
> /cbuild/slaves/oort14/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/src/binutils-2.22/bfd/elf32-arm.c:7498
> /home/sanchayan/gcc-linaro/bin/arm-linux-gnueabihf-ld.bfd: BFD
> (crosstool-NG linaro-1.13.1-2012.09-20120921 - Linaro GCC 2012.09) 2.22
> assertion fail
> /cbuild/slaves/oort14/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/src/binutils-2.22/bfd/elf32-arm.c:13830
> /bin/sh: line 1:  1110 Segmentation fault      (core dumped)
>
> Perhaps I am overlooking something trivial?


I suppose you found this already, but for completeness, you made a typo:

board_ehci_hcd_init
board_echi_hcd_init

To prevent trouble like this, the compiler should actually be set to warn
if there is no prototype...

Regards,
Jeroen





More information about the U-Boot mailing list