[arm] binutils testsuite not ready to run with -mthumb

Bug #480002 reported by Matthias Klose on 2009-11-10
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linaro Binutils
Won't Fix
Undecided
Unassigned
binutils
Fix Released
Medium
binutils (Ubuntu)
Low
Unassigned

Bug Description

Binary package hint: binutils

see http://launchpadlibrarian.net/35474206/buildlog_ubuntu-lucid-armel.binutils_2.20-3ubuntu1_FAILEDTOBUILD.txt.gz

Test results, compared with installed binutils:
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): Overlapping multiplication operands without architecture specification
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -mfpu=maverick
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): EABI attribute defaults
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): Group relocation tests (ldrs)
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): Thumb-2 VFP Additional instructions
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv5
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): 32-bit Thumb instructions
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv5t
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): Invalid use of r15 errors
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): VFP Neon-style syntax, Thumb mode
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -mfpu=vfp
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): ARM V6t2 Alignment
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv5texp
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv1
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv2
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv3
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv4
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv6
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv7
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv6z
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): Thumb-2 VFP Single-precision instructions
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv4xm
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv6k
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv6j
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -mfpu=neon
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv2s
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): Thumb-2 VFP Double-precision instructions
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv6-m
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): EABI attributes from command line
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -mfpu=vfp10-r0
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -mfpu=vfp10
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv3m
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv6t2
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -mfpu=arm1136jf-s
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): Mixed 16 and 32-bit Thumb conditional instructions
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -mfpu=vfp9
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv6zkt2
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -mfpu=vfp3
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv4txm
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv6zk
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv5tej
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv4t
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -mfpu=fpa10
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -mfpu=fpa11
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=iwmmxt2
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -mfpu=fpe
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv6kt2
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -mfpu=fpa
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -mfpu=arm7500fe
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -mfpu=vfpv2
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=iwmmxt
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): gas/arm/thumb2_relax
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -mfpu=fpe2
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -mfpu=fpe3
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -mfpu=softvfp+vfp
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): Branch relaxation with alignment.
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -mfpu=arm1136jfs
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -mfpu=vfpv3
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -mfpu=neon-fp16
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv5txm
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): Thumb-2 VFP errors
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -mfpu=softvfp
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv2a
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -mfpu=softfpa
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv5te
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv7-r
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): Group relocation tests, parsing failures (ldrs)
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv7-m
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv7-a
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv7r
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): 64 Bytes alignment test
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv6zt2
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv7a
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=xscale
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=armv7m
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -mfpu=arm1020e
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): Group relocation tests, encoding failures (ldrs)
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): El Segundo instructions
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -mfpu=arm1020t
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -march=all
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -mfpu=vfpxd
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): attributes for -mfpu=vfpv3-d16
W: [gas/arm/arm.exp] REGRESSION (PASS -> FAIL): Conditions in Neon instructions, Thumb mode (illegal in ARM).
W: [ld-elf/wrap.exp] REGRESSION (PASS -> FAIL): Run with libwrap1b.so and libwrap1a.so
W: [ld-elf/wrap.exp] REGRESSION (PASS -> FAIL): Run with libwrap1a.so and libwrap1b.so
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> FAIL): Default group size
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> FAIL): Thumb shared library with ARM entry points
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> FAIL): Thumb-Thumb farcall with BLX
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> FAIL): Thumb-ARM (short) call
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> FAIL): Thumb-ARM farcall (PIC veneer)
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> FAIL): Multiple farcalls from several sections
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> FAIL): Multiple farcalls
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> FAIL): Group size=2
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> UNRESOLVED): Group relocations
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> UNRESOLVED): MOVW/MOVT against shared libraries
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> UNRESOLVED): Cortex-A8 erratum fix, relocate bl.w and far call
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> FAIL): EABI attribute merging 5
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> FAIL): Mixed ARM/Thumb dynamic application with farcalls
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> UNRESOLVED): jump19
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> FAIL): Thumb-ARM farcall (BE8)
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> FAIL): LDRS group relocations failure test
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> FAIL): Thumb-Thumb farcall M profile
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> FAIL): Mixed ARM/Thumb dynamic application
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> FAIL): Thumb-ARM farcall
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> FAIL): ARM-Thumb farcall with BLX
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> FAIL): ld-arm/attr-merge-unknown-3
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> FAIL): ld-arm/attr-merge-unknown-2
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> FAIL): Thumb-Thumb farcall M profile (PIC veneer)
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> FAIL): Thumb-ARM farcall with BLX (PIC veneer)
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> FAIL): Thumb-Thumb farcall with BLX (PIC veneer)
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> FAIL): ld-arm/attr-merge-unknown-2r
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> FAIL): ARM-Thumb farcall
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> FAIL): Thumb-ARM farcall (BE)
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> UNRESOLVED): Cortex-A8 erratum fix, headers
W: [ld-arm/arm-elf.exp] REGRESSION (PASS -> FAIL): Thumb-ARM farcall with BLX
115 REGRESSIONS (10.97%).
1048 tests: 883 pass (84.26%), 148 fail (14.12%), 11 xfail (1.05%) 1 untested (0.10%).
make: *** [build-single-stamp] Error 1

Many attribute tests fail:

FAIL: EABI attributes from directives
FAIL: EABI attribute defaults
FAIL: attributes for -march=all
FAIL: attributes for -march=armv1
FAIL: attributes for -march=armv2
FAIL: attributes for -march=armv2a
FAIL: attributes for -march=armv2s
FAIL: attributes for -march=armv3
FAIL: attributes for -march=armv3m
FAIL: attributes for -march=armv4
FAIL: attributes for -march=armv4t
FAIL: attributes for -march=armv4txm
FAIL: attributes for -march=armv4xm
FAIL: attributes for -march=armv5
FAIL: attributes for -march=armv5t
FAIL: attributes for -march=armv5te
FAIL: attributes for -march=armv5tej
FAIL: attributes for -march=armv5texp
FAIL: attributes for -march=armv5txm
FAIL: attributes for -march=armv6-m
FAIL: attributes for -march=armv6
FAIL: attributes for -march=armv6j
FAIL: attributes for -march=armv6k
FAIL: attributes for -march=armv6kt2
FAIL: attributes for -march=armv6t2
FAIL: attributes for -march=armv6z
FAIL: attributes for -march=armv6zk
FAIL: attributes for -march=armv6zkt2
FAIL: attributes for -march=armv6zt2
FAIL: attributes for -march=armv7-a
FAIL: attributes for -march=armv7-m
FAIL: attributes for -march=armv7-r
FAIL: attributes for -march=armv7
FAIL: attributes for -march=armv7a
FAIL: attributes for -march=armv7m
FAIL: attributes for -march=armv7r
FAIL: attributes for -march=iwmmxt
FAIL: attributes for -march=iwmmxt2
FAIL: attributes for -march=xscale
FAIL: EABI attributes from command line
FAIL: EABI attribute ordering
FAIL: EABI attributes .eabi_attribute overrides .cpu
FAIL: gas/arm/eabi_attr_1

../as-new -o dump.o /home/dave/gnu/binutils/src/gas/testsuite/gas/arm/attr-
cpu
-directive.s
Executing on host: sh -c {../as-new -o
dump.o /home/dave/gnu/binutils/src/gas/
testsuite/gas/arm/attr-cpu-directive.s 2>&1} /dev/null gas.out (timeout = 300)
/home/dave/gnu/binutils/objdir/gas/testsuite/../../binutils/readelf -A dump.o
Executing on host: sh -c
{/home/dave/gnu/binutils/objdir/gas/testsuite/../../bin
utils/readelf -A dump.o >dump.out 2>gas.stderr} /dev/null (timeout = 300)
extra lines in dump.out starting with "^ Tag_VFP_arch: VFPv2$"
EOF from /home/dave/gnu/binutils/src/gas/testsuite/gas/arm/attr-cpu-directive.d
FAIL: EABI attributes from directives
FAIL: EABI attributes from directives
../as-new -o dump.o /home/dave/gnu/binutils/src/gas/testsuite/gas/arm/blank.s
Executing on host: sh -c {../as-new -o
dump.o /home/dave/gnu/binutils/src/gas/testsuite/gas/arm/blank.s
2>&1} /dev/null gas.out (timeout = 300)
/home/dave/gnu/binutils/objdir/gas/testsuite/../../binutils/readelf -A dump.o
Executing on host: sh -c
{/home/dave/gnu/binutils/objdir/gas/testsuite/../../binutils/readelf -A
dump.o >dump.out 2>gas.stderr} /dev/null (timeout = 300)
extra lines in dump.out starting with "^ Tag_VFP_arch: VFPv2$"
EOF from /home/dave/gnu/binutils/src/gas/testsuite/gas/arm/attr-default.d
FAIL: EABI attribute defaults

-bash-3.2$ ./as-new --version
GNU assembler (GNU Binutils) 2.19.51.20090217
Copyright 2008 Free Software Foundation, Inc.

Paul Larson (pwlars) wrote :

I was able to confirm this by compiling with -mthumb. Confirmed with doko that this is likely to be a testsuite problem so I'm setting the importance to low, however it does also make it more difficult to spot actual regressions when there are this many failures.

Changed in binutils (Ubuntu):
importance: Undecided → Low
status: New → Confirmed

Subject: Bug 9861

CVSROOT: /cvs/src
Module name: src
Changes by: <email address hidden> 2010-02-22 10:24:56

Modified files:
 gas : ChangeLog
 gas/config : tc-arm.c

Log message:
 PR 9861
 * gas/config/tc-arm.c (CPU_DEFAULT): Do not define based upon build
 compiler's predefines.

Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gas/ChangeLog.diff?cvsroot=src&r1=1.4093&r2=1.4094
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gas/config/tc-arm.c.diff?cvsroot=src&r1=1.431&r2=1.432

Patch for this has been committed.

See http://sourceware.org/ml/binutils/2010-02/msg00381.html for more information

Dave Martin (dave-martin-arm) wrote :

See the following binutils post, which contains a fix:

  * http://sourceware.org/ml/binutils/2010-02/msg00381.html

Matthias Klose (doko) wrote :

the fix might help with the -march=* options, but unlikely with the thumb as default issues. needs validation

Changed in binutils:
status: Unknown → Fix Released
Matthias Klose (doko) wrote :

the patch doesn't fix the regressions

Dave Martin (dave-martin-arm) wrote :

Hmmm, talked to the guys here and it sounds like the patch should fix some of the regressions.

Have you tried trunk recently? Apparently all but one failure is now resolved there, but we don't yet know which patches are responsible.

Matthias Klose (doko) on 2010-06-17
tags: added: toolchain
Matthias Klose (doko) wrote :

recheck to build without -marm

Changed in binutils (Ubuntu):
assignee: nobody → Matthias Klose (doko)
Steve Langasek (vorlon) on 2011-02-15
tags: added: arm-porting-queue
Changed in binutils:
importance: Unknown → Medium
Matthias Klose (doko) wrote :

still seeing one regression:

Running /scratch/packages/binutils/binutils-2.21.53.20110810/ld/testsuite/ld-elfvers/vers.exp ...
FAIL: vers21

Changed in binutils (Ubuntu):
assignee: Matthias Klose (doko) → nobody
Matthias Klose (doko) wrote :

checked that the testsuite hasn't any regressions without the -marm on armhf (in quantal)

Changed in binutils (Ubuntu):
status: Confirmed → Fix Released
Michael Hope (michaelh1) on 2012-09-10
Changed in binutils-linaro:
status: New → Won't Fix
Matthias Klose (doko) wrote :

there still seems to be some work to do for the -mthumb by default support. here's a diff for binutils on armel vs. armhf

Changed in binutils (Ubuntu):
status: Fix Released → Confirmed
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.