Hi Jose
I've checked this in the documentation this morning (unluckilly paper, so I cannot share it...)
This function is defined in the startup code and is used internally by the functions that are supposed to interrupt the process, like abort() and exit(). It shouldn't be called directly from the code.
If you experiance linking errors with __XCEXIT missing, it may happen only if you're not linking with the startup code (ie. making library), but you use, directly or indirectly, functions that may interrupt the proces. If so, such thing is not allowed, as the library is not allowed to terminate the process that called it, so it is good warning.
From myself - I think functions that can interrupt the process may be also io from stdlib, like printf(), as they check CTRL+C and by default terminate the process, if such detected.
Cheers
PiR