[6/6] Haiku/testsuite: Mark target as ELF

Message ID alpine.DEB.2.21.2601280403500.40317@angie.orcam.me.uk
State New
Headers
Series Haiku/testsuite: Enable ELF tests |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_binutils_build--master-aarch64 success Build passed
linaro-tcwg-bot/tcwg_binutils_build--master-arm success Build passed
linaro-tcwg-bot/tcwg_binutils_check--master-arm success Test passed
linaro-tcwg-bot/tcwg_binutils_check--master-aarch64 success Test passed

Commit Message

Maciej W. Rozycki April 3, 2026, 1:16 p.m. UTC
  All the Haiku targets are ELF:

$ sed -n '/haiku/{n;p}' < bfd/config.bfd
    targ_defvec=aarch64_elf64_le_vec
    targ_defvec=arm_elf32_le_vec
    targ_defvec=x86_64_elf64_vec
    targ_defvec=i386_elf32_vec
    targ_defvec=m68k_elf32_vec
    targ_defvec=mips_elf32_le_vec
    targ_defvec=powerpc_elf32_vec
    targ_defvec=sparc_elf64_vec
$ 

so update `is_elf_format' accordingly, complementing commit d85e70a35bff 
("Add support for the haiku operating system.") and fixing regressions:

aarch64-haiku  -FAIL: GNU attributes v1/v2: no support for directive .gnu_attribute
aarch64-haiku  -FAIL: GNU attributes v2: no support for directive .gnu_subsection
arm-haiku  -FAIL: GNU attributes v1/v2: no support for directive .gnu_attribute
m68k-haiku  -FAIL: GNU attributes v1/v2: no support for directive .gnu_attribute
mipsel-haiku  -FAIL: GNU attributes v1/v2: no support for directive .gnu_attribute
powerpc-haiku  -FAIL: GNU attributes v1/v2: no support for directive .gnu_attribute
sparc64-haiku  -FAIL: GNU attributes v1/v2: no support for directive .gnu_attribute
sparc64-haiku  -FAIL: sparc relax CALL (a.out)

while widely broadening coverage, e.g. with `i486-haiku' we now get:

		=== binutils Summary ===

# of expected passes		230
# of untested testcases		18
# of unsupported tests		21

		=== gas Summary ===

# of expected passes		1066
# of unsupported tests		17

		=== ld Summary ===

# of expected passes		595
# of expected failures		2
# of untested testcases		26
# of unsupported tests		215

vs:

		=== binutils Summary ===

# of expected passes		77
# of untested testcases		13
# of unsupported tests		11

		=== gas Summary ===

# of expected passes		806
# of unsupported tests		4

		=== ld Summary ===

# of expected passes		188
# of expected failures		2
# of untested testcases		16
# of unsupported tests		62

The following regressions yet need to be addressed:

arm-haiku  +FAIL: script-type
arm-haiku  +FAIL: Branch future relocations for armv8.1-m.main target
arm-haiku  +FAIL: Mixed ARM/Thumb arch5 dynamic application
arm-haiku  +FAIL: Thumb-2-as-Thumb-1 BL
arm-haiku  +FAIL: Thumb-2 BL bad noeabi
arm-haiku  +FAIL: .noinit sections
arm-haiku  +FAIL: .persistent sections
m68k-haiku  +FAIL: DT_TEXTREL map file warning
m68k-haiku  +FAIL: pr20995
m68k-haiku  +FAIL: pr20995-2
powerpc-haiku  +FAIL: Build pr20995-2.so
powerpc-haiku  +FAIL: pr20995-2

There are the usual regressions with `mipsel-haiku' as well coming from 
the use of the IRIX variant of the ELF format, to be handled separately.
---
 binutils/testsuite/lib/binutils-common.exp |    1 +
 1 file changed, 1 insertion(+)

binutils-haiku-test-is-elf-format.diff
  

Comments

Jan Beulich April 5, 2026, 6:45 a.m. UTC | #1
On 03.04.2026 15:16, Maciej W. Rozycki wrote:
> All the Haiku targets are ELF:
> 
> $ sed -n '/haiku/{n;p}' < bfd/config.bfd
>     targ_defvec=aarch64_elf64_le_vec
>     targ_defvec=arm_elf32_le_vec
>     targ_defvec=x86_64_elf64_vec
>     targ_defvec=i386_elf32_vec
>     targ_defvec=m68k_elf32_vec
>     targ_defvec=mips_elf32_le_vec
>     targ_defvec=powerpc_elf32_vec
>     targ_defvec=sparc_elf64_vec
> $ 
> 
> so update `is_elf_format' accordingly, complementing commit d85e70a35bff 
> ("Add support for the haiku operating system.") and fixing regressions:
> 
> aarch64-haiku  -FAIL: GNU attributes v1/v2: no support for directive .gnu_attribute
> aarch64-haiku  -FAIL: GNU attributes v2: no support for directive .gnu_subsection
> arm-haiku  -FAIL: GNU attributes v1/v2: no support for directive .gnu_attribute
> m68k-haiku  -FAIL: GNU attributes v1/v2: no support for directive .gnu_attribute
> mipsel-haiku  -FAIL: GNU attributes v1/v2: no support for directive .gnu_attribute
> powerpc-haiku  -FAIL: GNU attributes v1/v2: no support for directive .gnu_attribute
> sparc64-haiku  -FAIL: GNU attributes v1/v2: no support for directive .gnu_attribute
> sparc64-haiku  -FAIL: sparc relax CALL (a.out)
> 
> while widely broadening coverage, e.g. with `i486-haiku' we now get:
> 
> 		=== binutils Summary ===
> 
> # of expected passes		230
> # of untested testcases		18
> # of unsupported tests		21
> 
> 		=== gas Summary ===
> 
> # of expected passes		1066
> # of unsupported tests		17
> 
> 		=== ld Summary ===
> 
> # of expected passes		595
> # of expected failures		2
> # of untested testcases		26
> # of unsupported tests		215
> 
> vs:
> 
> 		=== binutils Summary ===
> 
> # of expected passes		77
> # of untested testcases		13
> # of unsupported tests		11
> 
> 		=== gas Summary ===
> 
> # of expected passes		806
> # of unsupported tests		4
> 
> 		=== ld Summary ===
> 
> # of expected passes		188
> # of expected failures		2
> # of untested testcases		16
> # of unsupported tests		62
> 
> The following regressions yet need to be addressed:
> 
> arm-haiku  +FAIL: script-type
> arm-haiku  +FAIL: Branch future relocations for armv8.1-m.main target
> arm-haiku  +FAIL: Mixed ARM/Thumb arch5 dynamic application
> arm-haiku  +FAIL: Thumb-2-as-Thumb-1 BL
> arm-haiku  +FAIL: Thumb-2 BL bad noeabi
> arm-haiku  +FAIL: .noinit sections
> arm-haiku  +FAIL: .persistent sections
> m68k-haiku  +FAIL: DT_TEXTREL map file warning
> m68k-haiku  +FAIL: pr20995
> m68k-haiku  +FAIL: pr20995-2
> powerpc-haiku  +FAIL: Build pr20995-2.so
> powerpc-haiku  +FAIL: pr20995-2
> 
> There are the usual regressions with `mipsel-haiku' as well coming from 
> the use of the IRIX variant of the ELF format, to be handled separately.
> ---
>  binutils/testsuite/lib/binutils-common.exp |    1 +
>  1 file changed, 1 insertion(+)

Okay.

Jan
  

Patch

Index: binutils-gdb/binutils/testsuite/lib/binutils-common.exp
===================================================================
--- binutils-gdb.orig/binutils/testsuite/lib/binutils-common.exp
+++ binutils-gdb/binutils/testsuite/lib/binutils-common.exp
@@ -37,6 +37,7 @@  proc is_elf_format {} {
 	 && ![istarget *-*-*freebsd*]
 	 && ![istarget *-*-fuchsia*]
 	 && ![istarget *-*-gnu*]
+	 && ![istarget *-*-haiku*]
 	 && ![istarget *-*-irix5*]
 	 && ![istarget *-*-irix6*]
 	 && ![istarget *-*-kaos*]