ld: testsuite: Skip pr33577 tests with GNU extensions on Solaris [PR33577]

Several of the ld-elfvers pr33577 tests FAIL on Solaris, for either or
both of two reasons:

* Tests using ld --hash-style=gnu cannot work on Solaris:
  .gnu.hash/SHT_GNU_HASH sections are a GNU extension not supported by
  Solaris ld.so.1.

* Similarly, binding different implementations of the same symbol to
  different symbol versions is a GNU extension that wasn't in the
  original Solaris specification of symbol versioning.  ld.so.1 doesn't
  support it and never will.

  This can be seen in the elfdump output for the .dynsym section:

Symbol Table Section:  .dynsym
  index     value size  type bind oth ver shndx         name

    [8]     0x630  0xd  FUNC GLOB  D   1H .text         foo
   [10]     0x620  0x6  FUNC GLOB  D    2 .text         foo

  foo is bound to both version 1 (the Base version) and version 2 (VERS_1
  from pr33577.map).

  Same for .symtab:

Symbol Table Section:  .symtab
  index    value size  type bind oth ver shndx       name

   [28]     0x620  0x6  FUNC GLOB  D    0 .text         foo
   [35]     0x630  0xd  FUNC GLOB  D    0 .text         foo@

  As I said, ld.so.1 doesn't support <symbol>@<version> (in this case the
  Base version) at all.

Therefore the tests that employ those extensions are guarded with
supports_gnu_osabi.

Tested on sparc{,v9}-sun-solaris2.11, sparc{,64}-unknown-linux-gnu,
{i386,amd64}-pc-solaris2.11, and {x86_64,i686}-pc-linux-gnu.

2026-01-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	ld:
	PR ld/33577
	* testsuite/ld-elfvers/vers.exp (base_symbol_test): Only run
	pr33577a with libpr33577-versioned.so test on ELFOSABI_GNU
	systems.
	Likewise for run base_symbol_tests with --hash-style=gnu.
1 file changed