From Learning Linux Binary Analysis by Ryan "elfmaster" O'Neill. On Page 32, the author states,
The relocation records for 32-bit ELF files are the same as for 64-bit, but use 32-bit integers. The following example for are object file code will be compiled as 32-bit so that we can demonstrate implicit addends, which are not as commonly used in 64-bit. An implicit addend occurs when the relocation records are stored in
ElfN_Reltype structures that don't contain an
r_addendfield and therefore the addend is stored in the relocation target itself. The 64-bit executables tend to use the
ElfN_Relastructs that contain an explicit addend. I think it is worth understanding both scenarios, but implicit addends are a little more confusing, so it makes sense to bring light to this area.
What is the actual definition of an "addend"?