I would dearly love to replace some of the Keil library functions that are used by intrinsics, such as ?C?COPY, which is called by memcpy (and by other things). My current goal is to generate runtime errors on certain types of copies, but replacement would be useful for other purposes. I've actually written my own implementation of ?C?COPY, which works fine. The inline instructions are still emitted by the compiler and my version is linked. However, I'm concerned about compatibility with future compiler releases. I'm supposing that the interface can't change, because this would break older libraries, which could be third party. But other library functionality may depend on something internal to the Keil ?C?COPY implementation, or may do so in future. For my current purposes, I'm thinking of patching the entry to the Keil ?C?COPY after the code is built, to call my checking routine. This only requires that the interface doesn't change. Has anyone else tried anything like this? Any comments on my assumption that the interface can't change? PS - I know I can acheive my ends by writing my own memcpy and redefining memcpy() with a macro, but then heaps more code will be generated, because the calls will be far less efficient, without the special parameter passing.