[binutils-gdb] Haiku/testsuite: Mark target as ELF

Maciej W. Rozycki macro@sourceware.org
Sat May 9 14:41:55 GMT 2026


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=325bb9405e69fc5a0a2e58c920667160adeeece9

commit 325bb9405e69fc5a0a2e58c920667160adeeece9
Author: Maciej W. Rozycki <macro@orcam.me.uk>
Date:   Sat May 9 15:40:11 2026 +0100

    Haiku/testsuite: Mark target as ELF
    
    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          16
    
                    === 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: bad .bss / .struct data allocation directives
    arm-haiku  +FAIL: VFP11 denorm erratum fix, scalar operation
    arm-haiku  +FAIL: VFP11 denorm erratum fix, vector operation
    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.

Diff:
---
 binutils/testsuite/lib/binutils-common.exp | 1 +
 1 file changed, 1 insertion(+)

diff --git a/binutils/testsuite/lib/binutils-common.exp b/binutils/testsuite/lib/binutils-common.exp
index 34bc3a5af64..8a484454e65 100644
--- a/binutils/testsuite/lib/binutils-common.exp
+++ b/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*]


More information about the Binutils-cvs mailing list