On RISC-V (lp64d), With GCC 13.2 configured with --enable-default-pie, one ld test fails: FAIL: Run pr21964-4 Forcing -fno-pie -no-pie makes it pass, but this test passes on various other architectures even with default PIE.
$ objdump -T tmpdir/pr21964-4 | grep __start___verbose 0000000000002020 g D __verbose 0000000000000000 Base .protected __start___verbose
For some reason both main and __start___verbose are put in the dynamic symtab, unlike other architectures, where only the undefined references turn up there.
The difference appears to be that when pr21964-4.c is compiled with -fpie the symbol __start___verbose is referenced by a R_RISCV_GOT_HI20 relocation, without -fpie it is a R_RISCV_HI20 relocation. Whether the program is linked with -pie or not does not make a difference.