[dpdk-dev] Debugging EAL PCI / Driver Init

Matthew Hall mhall at mhcomputing.net
Sat Aug 2 18:46:00 CEST 2014


On Sun, Aug 03, 2014 at 01:37:06AM +0900, Masaru Oki wrote:
> cc links library funtion from archive only if call from other object.
> but new dpdk pmd library has constractor section and not call directly.
> ld always links library funtion with constractor section.
> use -Xlinker, or use ld instead of cc.

Hello Oki-san,

The trick to fix it was this, I finally found it in the example Makefiles with 
V=1 flag.

-Wl,--whole-archive -Wl,--start-group -lintel_dpdk -Wl,--end-group -Wl,--no-whole-archive

Thank you for the advice you provided, I couldn't have fixed it without your 
suggestions... it got me to look more closely at the linking. Importantly, 
"-Wl,--whole-archive" includes the entire archive whether or not it's called 
from other objects, so we don't lose the constructors, just like you said.

Matthew.


More information about the dev mailing list