> The public API _must_ be a non-inline version of the API that calls the > inline version. Period.
You don't explain why this is necessary and I don't agree. I believe you assume that it is impossible to allow the minidriver to inline *and* support an ABI. Actually you can, but the choice is made compile time on the particular platform. The minidriver should be able to take over and *inline* jtag_add_xxx() fn's if that is the right thing to do on a particular platform. Similarly the classic minidriver must be able to implement jtag_add_xxx() as non-inline fn's to support an ABI. > Inline functions may not be used in public APIs, because they prevent > upgrading shared libraries. The statement above is wrong. For a platform with an ABI for shared libraries you use a minidriver(the "classic" one) that *does* allow shared library ABI, on an embedded platform you use the minidriver that removes this unecessary layer. -- Øyvind Harboe US toll free 1-866-980-3434 / International +47 51 63 25 00 http://www.zylin.com/zy1000.html ARM7 ARM9 ARM11 XScale Cortex JTAG debugger and flash programmer _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development