the ifunc resolver calls however they wish.
The dl-lookup.c changes are needed for prelink (support in prelink checked into SVN, tested for both i?86 and x86-64), dl-irel.h just something I discovered by code inspection.
Add support for the IRELAIVE relocation and IFUNC in static executables.