even hidden functions need @PLT symbol references; otherwise an absolute address is produced instead of a PC-relative one.
@@ -8,4 +8,4 @@ dlsym:
1: mov.l @r15, r6
.align 2
-L1: .long __dlsym-(1b-.)
+L1: .long __dlsym@PLT-(1b-.)
@@ -22,7 +22,7 @@ __cp_begin:
1:
-L1: .long __cancel-(1b-.)
+L1: .long __cancel@PLT-(1b-.)
2: mov r5, r3
mov r6, r4