Comment 47 for bug 383240

Revision history for this message
Loïc Minier (lool) wrote :

So the regular aes.o for neon has this in the output of arm-none-linux-gnueabi-readelf -a libavutil/aes.o.neon:
...
Relocation section '.rel.text' at offset 0x3a64 contains 30 entries:
 Offset Info Type Sym.Value Sym. Name
0000000c 0000092b R_ARM_MOVW_ABS_NC 00000000 .LANCHOR0
00000010 0000092c R_ARM_MOVT_ABS 00000000 .LANCHOR0
000000a0 00000a2b R_ARM_MOVW_ABS_NC 00001ff8 .LANCHOR1
000000a8 00000a2c R_ARM_MOVT_ABS 00001ff8 .LANCHOR1
00000100 00000b2b R_ARM_MOVW_ABS_NC 00000000 .LANCHOR2
00000104 00000b2c R_ARM_MOVT_ABS 00000000 .LANCHOR2
0000019c 0000092b R_ARM_MOVW_ABS_NC 00000000 .LANCHOR0
...

I prepended -fPIC to the gcc flags and now the reltext table is much smaller and says:
Relocation section '.rel.text' at offset 0x3cbc contains 13 entries:
 Offset Info Type Sym.Value Sym. Name
000002c8 0000271b R_ARM_PLT32 00000000 memcpy
00000320 0000271b R_ARM_PLT32 00000000 memcpy
0000072c 0000271b R_ARM_PLT32 00000000 memcpy
00000940 0000271b R_ARM_PLT32 00000000 memcpy
00000968 00002819 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_
0000096c 00001618 R_ARM_GOTOFF32 00000000 .LANCHOR0
00000970 00001718 R_ARM_GOTOFF32 00001ff8 .LANCHOR1
00000974 00001118 R_ARM_GOTOFF32 00000000 .LANCHOR2
00000d70 0000271b R_ARM_PLT32 00000000 memcpy
00001050 0000271b R_ARM_PLT32 00000000 memcpy
000010b0 00002819 R_ARM_BASE_PREL 00000000 _GLOBAL_OFFSET_TABLE_
000010b4 00001718 R_ARM_GOTOFF32 00001ff8 .LANCHOR1
000010b8 00001618 R_ARM_GOTOFF32 00000000 .LANCHOR0
(that's the full table)

Given that I don't see any _ABS thingies, I suspect it is good.