GCC 11+ spots that the extern var_1 and var_666 declarations in this
test are unused, and removes them, thus stopping them from appearing as
conflicted data symbols and rendering the test pointless.  Use them in a
function unique to this TU to prevent them from being eliminated.
ld/ChangeLog
2021-01-19  Nick Alcock  <nick.alcock@oracle.com>
	* testsuite/ld-ctf/data-func-2.c: Stop removal of the extern foo_t
	symbols by the optimizer.
	* testsuite/ld-ctf/data-func-conflicted.d: Adjust accordingly.
+2021-01-19  Nick Alcock  <nick.alcock@oracle.com>
+
+       * testsuite/ld-ctf/data-func-2.c: Stop removal of the extern foo_t
+       symbols by the optimizer.
+       * testsuite/ld-ctf/data-func-conflicted.d: Adjust accordingly.
+
 2021-01-19  Nelson Chu  <nelson.chu@sifive.com>
 
        * testsuite/ld-elf/elf.exp (riscv_little_endian): Added.  Return true
 
 /* Conflicting, and indexed.  */
 extern foo_t var_1;
 extern foo_t *var_666;
+
+int other_func(foo_t *);
+
+int ignore (void) { other_func (&var_1); other_func (var_666); }
 
     Version: 4 \(CTF_VERSION_3\)
 #...
     Data object section:       .* \(0xc bytes\)
-    Function info section:     .* \(0x40 bytes\)
+    Function info section:     .* \(0x44 bytes\)
     Object index section:      .* \(0xc bytes\)
-    Type section:      .* \(0xe8 bytes\)
+    Type section:      .* \(0xf4 bytes\)
     String section:    .*
 #...
   Data objects: