
Hi,
Not specifically U-boot related, but hopefully a smart person here can help.
I have a weak symbol defined as: int cpu_eth_init(bd_t *bis) __attribute((weak, alias("__def_eth_init"))); (1)
I've created a new file in cpu/mpc83xx that includes a real implementation of the function: int cpu_eth_init(bd_t *bis) (2)
Using objdump, I've verified that this function is making it into libmpc8xxx.a, however it doesn't get linked into the final U-boot executable. System.map shows cpu_eth_init at the same address as __def_eth_init.
If I change (1) to: extern int cpu_eth_init(bd_t *bis), (2) gets linked in OK. Of course, that's not what I want to do.
I've tried changing the order of the archives that get linked together by ld, but nothing seems to work. Since I don't really know what I'm doing, I guess that shouldn't be surprising.
Any help would be appreciated.
thanks, Ben