[Bug 1021774] Re: GCC for armhf does not emit proper arm/thumb interworking code

Geoff Blake geoffrey.w.blake at gmail.com
Fri Jul 6 15:11:37 UTC 2012


-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gcc-defaults in Ubuntu.
https://bugs.launchpad.net/bugs/1021774

Title:
  GCC for armhf does not emit proper arm/thumb interworking code

Status in “gcc-defaults” package in Ubuntu:
  New

Bug description:
  GCC for armhf emits incorrect instructions for calling to functions
  that are written and compiled as ARM code from Thumb compiled code.
  Objdump of the executables reveals GCC is calling to the ARM compiled
  functions with a normal "bl" instruction when it should be a "blx"
  instruction.  The symptoms experienced with this compiler bug are
  mysterious segfaults and gdb complaining of a corrupted stack when
  trying to debug.  For reproducing, compile the code with the following
  flags:

  ARM code:  gcc -O3 -marm -mthumb-interwork
  Thumb code: gcc -O3 -mthumb-interwork

  Testing with GCC 4.5.2 on an armel install with the same compiler
  flags generates correct code, emitting "blx" instructions in the
  proper places.

  ProblemType: Bug
  DistroRelease: Ubuntu 12.04
  Package: gcc 4:4.6.3-1ubuntu5
  Uname: Linux 3.0.13 armv7l
  ApportVersion: 2.0.1-0ubuntu8
  Architecture: armhf
  Date: Fri Jul  6 14:45:15 2012
  ProcEnviron:
   TERM=xterm
   SHELL=/bin/bash
   LANG=C
  SourcePackage: gcc-defaults
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gcc-defaults/+bug/1021774/+subscriptions




More information about the foundations-bugs mailing list