Relocation are processor specific, so ARM and x86-64 and x86 have different relocations (because their instruction set is different).
Relocation are also operating system specific, but some related OSes try to have the same relocations, e.g. Solaris and Linux for x86-64
They are described in detail in the ABI (application binary interface) specification "System V Application Binary Interface AMD64 Architecture Processor Supplement". The original x86-64 ABI used to be on http://www.x86-64.org/documentation.html but that site is not responding since several weeks. An old copy is on this link and a newer one is here
There is also the X32 ABI
See also this question.