This is mostly an academic question out of curiosity, but I think it may give some interesting answers. The question is, given a TeX file beginning with \def\someprimitive{}, for which values of \someprimitive is it possible to recover its primitive meaning afterwards?
For example, \def\relax{} is not catastrophic because \csname can be used to get at the primitive meaning:
\def\relax{}
\expandafter\let\expandafter\relax\csname PleaseGiveMeBackRelax\endcsname
\meaning\relax
Relaxing (no pun intended) the requirements a bit, one could ask if it is possible to recreate a macro which for all practical purposes does the same as the original:
\def\gdef{}
\def\gdef{\global\def}
(at least, I can't think of a situation where this doesn't work, but of course it depends on \global and \def not being redefined later on).
The question can be interpreted with respect to your favorite TeX engine and associated set of primitives. But relying on a format which creates an alias for a primitive is probably cheating (such as plain TeX's \endgraf = \par).
\gdefdefinition would break in e.g.\edef\foo{\noexpand\expandafter\gdef}, because it is now fragile. You should use at least use\protected\def\gdef{\global\def}. I'm aware that it is just an example. – Martin Scharrer May 03 '11 at 08:49expl3does (well, not all of the XeTeX and LuaTeX ones just yet, but close enough). – Joseph Wright May 03 '11 at 09:39expl3did that. – Villemoes May 03 '11 at 17:19