refactor to remove arch-specific relocation code from dynamic linker
authorRich Felker <dalias@aerifal.cx>
Wed, 18 Jun 2014 06:44:02 +0000 (02:44 -0400)
committerRich Felker <dalias@aerifal.cx>
Wed, 18 Jun 2014 06:44:02 +0000 (02:44 -0400)
commitadf94c19666e687a728bbf398f9a88ea4ea19996
tree8393ad8b9c7db518d0351b36cccc4930614146f6
parent94cf991bf4b18bb87a15a96e7b5e7d92fab787ba
refactor to remove arch-specific relocation code from dynamic linker

this was one of the main instances of ugly code duplication: all archs
use basically the same types of relocations, but roughly equivalent
logic was duplicated for each arch to account for the different naming
and numbering of relocation types and variation in whether REL or RELA
records are used.

as an added bonus, both REL and RELA are now supported on all archs,
regardless of which is used by the standard toolchain.
arch/arm/reloc.h
arch/i386/reloc.h
arch/microblaze/reloc.h
arch/mips/reloc.h
arch/powerpc/reloc.h
arch/sh/reloc.h
arch/x32/reloc.h
arch/x86_64/reloc.h
src/ldso/dynlink.c