[4.8/4.9 Regression] Error: value of 256 too large for field of 1 bytes at 68242

Bug #1295653 reported by Matthias Klose on 2014-03-21
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Linaro GCC
Fix Released
Undecided
Charles Baylis
gcc
Unknown
Unknown
gcc-4.8 (Ubuntu)
Undecided
Unassigned

Bug Description

originall reported as a gas issue:
https://sourceware.org/bugzilla/show_bug.cgi?id=16735

seen when building the ppl 1.1 bindings for SWI Prolog, using binutils from the 2.24 branch on arm-linux-gnueabihf with a compiler defaulting to thumb mode.

seen with current 4.8 branch and at least trunk 20140306.

$ g++ -c -g -O2 ppl_prolog_common.ii
/tmp/ccuRxr3p.s: Assembler messages:
/tmp/ccuRxr3p.s:126688: Error: value of 256 too large for field of 1 bytes at 68242

$ g++ -marm -c -g -O2 ppl_prolog_common.ii
<succeeds>

$ as -v -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -meabi=5 -o ppl_prolog_common.o ppl_prolog_common.s
GNU assembler version 2.24 (arm-linux-gnueabihf) using BFD version (GNU Binutils for Debian) 2.24
ppl_prolog_common.s: Assembler messages:
ppl_prolog_common.s:130339: Error: value of 256 too large for field of 1 bytes at 70430

In , Doko-v (doko-v) wrote :

Created attachment 32416
preprocessed source

originall reported as a gas issue:
https://sourceware.org/bugzilla/show_bug.cgi?id=16735

seen when building the ppl 1.1 bindings for SWI Prolog, using binutils from the 2.24 branch on arm-linux-gnueabihf with a compiler defaulting to thumb mode.

seen with current 4.8 branch and at least trunk 20140306.

$ g++ -c -g -O2 ppl_prolog_common.ii
/tmp/ccuRxr3p.s: Assembler messages:
/tmp/ccuRxr3p.s:126688: Error: value of 256 too large for field of 1 bytes at 68242

$ g++ -marm -c -g -O2 ppl_prolog_common.ii
<succeeds>

$ as -v -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -meabi=5 -o ppl_prolog_common.o ppl_prolog_common.s
GNU assembler version 2.24 (arm-linux-gnueabihf) using BFD version (GNU Binutils for Debian) 2.24
ppl_prolog_common.s: Assembler messages:
ppl_prolog_common.s:130339: Error: value of 256 too large for field of 1 bytes at 70430

Matthias Klose (doko) wrote :
Matthias Klose (doko) wrote :

fails as well with Linaro 4.8-2014.02

In , Doko-v (doko-v) wrote :

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.8/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Debian 4.8.2-16' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --disable-libitm --disable-libquadmath --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-armhf/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-armhf --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-armhf --with-arch-directory=arm --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-sjlj-exceptions --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
Thread model: posix
gcc version 4.8.2 (Debian 4.8.2-16)

Confirmed - reducing.

Created attachment 32418
Reduced testcase

Reduced testcase. Looks prima-facie like lengths are messed up somewhere which needs careful digging.

-march=armv7-a -mthumb -c -O2 -mfpu=vfpv3-d16 on trunk.

Ramana

Changed in gcc:
importance: Unknown → Medium
status: Unknown → Confirmed
Charles Baylis (cbaylis) on 2014-03-21
Changed in gcc-linaro:
assignee: nobody → Charles Baylis (cbaylis)

I am working on this

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gcc-4.8 - 4.8.2-19ubuntu1

---------------
gcc-4.8 (4.8.2-19ubuntu1) trusty; urgency=medium

  * Merge with Debian; remaining changes:
    - Build from the upstream source.
    - Don't build the libgcc packages, now built from gcc-4.9.

gcc-4.8 (4.8.2-19) unstable; urgency=medium

  * Update to SVN 20140404 (r209122) from the gcc-4_8-branch.
    - Fix PR rtl-optimization/60700 (wrong code on x86),
      PR rtl-optimization/57637 (wrong code on ARM in SPEC2000),
      PR target/60039 (SH), PR ada/60703.

  [ Matthias Klose ]
  * Include include and include-fixed header files into the stage1
    gcc-4.8 package.
  * Explicitly configure with --disable-multilib on sparc64 when no
    multilibs are requested (Helmut Grohne). Closes: #743342.
  * Fix PR target/60034 (AArch64), taken from the trunk. LP: #1270789.
  * Update ada-ppc64.diff from the gnat-4.9 package, fixing the gnat build
    on powerpc.
  * Fix PR target/60609 (ARM), proposed patch (Charles Baylis). LP: #1295653.
  * Build libphobos for armel and armhf.
  * Include the gnu triplet prefixed gcov and gcc-{ar,nm,ranlib} binaries.
  * Stop building ppc64el from the ibm branch, now integrated in the fsf
    branch.

  [ Iain Buclaw ]
  * Update the GDC frontend (20140401).
 -- Matthias Klose <email address hidden> Fri, 04 Apr 2014 19:36:41 +0200

Changed in gcc-4.8 (Ubuntu):
status: New → Fix Released
In , Yroux (yroux) wrote :

Author: yroux
Date: Mon Apr 7 15:07:33 2014
New Revision: 209191

URL: http://gcc.gnu.org/viewcvs?rev=209191&root=gcc&view=rev
Log:
2014-04-07 Charles Baylis <email address hidden>

        PR target/60609
        * config/arm/arm.h (ASM_OUTPUT_CASE_END): Remove.
        (LABEL_ALIGN_AFTER_BARRIER): Align barriers which occur after
        ADDR_DIFF_VEC.

2014-04-07 Charles Baylis <email address hidden>

        PR target/60609
        * g++.dg/torture/pr60609.C: New test.

Added:
    trunk/gcc/testsuite/g++.dg/torture/pr60609.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/arm/arm.h
    trunk/gcc/testsuite/ChangeLog

Fixed on the trunk, but not on the 4.8 branch yet.

Author: cbaylis
Date: Thu May 8 17:06:01 2014
New Revision: 210226

URL: http://gcc.gnu.org/viewcvs?rev=210226&root=gcc&view=rev
Log:
2014-05-08 Charles Baylis <email address hidden>

        Backport from mainline
        2014-04-07 Charles Baylis <email address hidden>

        PR target/60609
        * config/arm/arm.h (ASM_OUTPUT_CASE_END): Remove.
        (LABEL_ALIGN_AFTER_BARRIER): Align barriers which occur after
        ADDR_DIFF_VEC.

Added:
    branches/gcc-4_8-branch/gcc/testsuite/g++.dg/torture/pr60609.C
Modified:
    branches/gcc-4_8-branch/gcc/ChangeLog
    branches/gcc-4_8-branch/gcc/config/arm/arm.h

Author: cbaylis
Date: Thu May 8 17:06:04 2014
New Revision: 210227

URL: http://gcc.gnu.org/viewcvs?rev=210227&root=gcc&view=rev
Log:
2014-05-08 Charles Baylis <email address hidden>

        Backport from mainline
        2014-04-07 Charles Baylis <email address hidden>

        PR target/60609
        * config/arm/arm.h (ASM_OUTPUT_CASE_END): Remove.
        (LABEL_ALIGN_AFTER_BARRIER): Align barriers which occur after
        ADDR_DIFF_VEC.

Added:
    branches/gcc-4_7-branch/gcc/testsuite/g++.dg/torture/pr60609.C
Modified:
    branches/gcc-4_7-branch/gcc/ChangeLog
    branches/gcc-4_7-branch/gcc/config/arm/arm.h

Charles Baylis (cbaylis) wrote :

fix committed to FSF branches

Changed in gcc-linaro:
assignee: Charles Baylis (cbaylis) → nobody
status: New → Fix Released
Charles Baylis (cbaylis) wrote :

Fix committed on trunk and 4.7/4.8 release branches

Changed in gcc:
importance: Medium → Undecided
status: Confirmed → New
Charles Baylis (cbaylis) wrote :

Fix committed to trunk/4.7/4.8 branches

Changed in gcc:
status: New → Fix Released
Changed in gcc:
importance: Undecided → Unknown
status: Fix Released → Unknown
Changed in gcc-linaro:
assignee: nobody → Charles Baylis (cbaylis)
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.