2015-11-23 13:42, Panu Matilainen: > On 11/23/2015 12:41 PM, Thomas Monjalon wrote: > > 2015-11-23 08:04, Panu Matilainen: > >> On 11/20/2015 06:38 PM, David Marchand wrote: > >>> It looks like you would skip the symbolic links while you were not before. > >>> Intended ? > >> > >> Intended. We want to accept symlinks in the driver directory, but the > >> actual drivers are always regular files. > > > > No we use symbolic links: > > http://dpdk.org/browse/dpdk/commit/mk/rte.lib.mk?id=133b75923 > > http://dpdk.org/browse/dpdk/tree/mk/rte.lib.mk#n170 > > Those symlinks eventually point to the actual drivers which are always > regular files (and not for example directories), that is the point. > Please apply.
Yes > > On the same topic, you've added a check in 9f8eb1d9: > > + if (stat(solib->name, &sb) == -1) { > > + RTE_LOG(ERR, EAL, "Invalid plugin specified: %s: %s\n", > > + solib->name, strerror(errno)); > > > > It is a regression because we cannot anymore load a plugin from > > LD_LIBRARY_PATH without specifying its full path. > > It can be tested with scripts/test-null.sh. > > How do you suggest to fix it? > > My first and foremost thought is regret over messing with -d at all, > instead of keeping with the original plan of a new -D option for > directories. Supporting directories with -d opened up all these annoying > little issues that did not exist in the original plan, and lost the > ability to disable/override the default plugindir. I keep thinking having an unique option is a good thing. If disabling the default directory is needed, we can imagine a special syntax like -d- Thanks for your work. > I suppose the fix is to only use a successful stat to determine if > something is a directory and feed everything else to dlopen() which will > then fail on its own if file is not existent. Yes sounds good. > I'll send a separate patch for the regression. Thanks