ld: 0711-548 SEVERE ERROR: Object /home/wyehia/tmp/foo-20399d.o cannot be processed.
RLD address 0x0 for section 1 (.text) is
out of order. RLDs must be in ascending address order.
> dump -rvX64 foo.o
foo.o:
***Relocation Information***
Vaddr Symndx Sign Fixup Len Type Name
.text:
0x00000022 0x0000001d 0 0 0x000f TOC_ILodx x
0x0000002e 0x0000001f 0 0 0x000f TOC_ILodx my_foo2
0x00000032 0x00000021 0 0 0x000f TOC_ILodx my_foo
0x00000000 0x00000011 0 0 0x0000 Non_Rel ifunc_sec <<---------------------
0x00000000 0x00000003 0 0 0x0000 Non_Rel .__init_ifuncs
0x00000086 0x00000023 0 0 0x000f TOC_ILodx foo
This problem got exposed when implementing ifuncs on AIX in the compiler, where we had to generate .ref
from a function.