[ofiwg] detecting FABRIC_DIRECT mismatch

Jason Gunthorpe jgunthorpe at obsidianresearch.com
Fri May 13 16:09:53 PDT 2016


On Fri, May 13, 2016 at 11:00:33PM +0000, Hefty, Sean wrote:
> > That is still an ABI change, you can't have
> > 
> >  fi_foobar(struct fi_foo *)
> > and
> >  fi_foobar(struct fi_foo_verbs *)
> > 
> > With the same symbol name - that is an incorrect way to use dynamic
> > library symbols.
> 
> To be clear, what actually gets replaced is the app invoking
> 
> 	object->function_set->foobar(struct fi_foo *)

Okay, but in this case, if I follow correctly, the function that
returns object->function_set is actually what has changed, ie it no
longer returns the foobar pointer, so it should be name mangled and
not present at all.

This way you'll get a nice easy runtime dynamic linker failure.

Jason



More information about the ofiwg mailing list