bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug binutils/19311] arm-linux-as build on Mac OS X with Xcode7 fails to


From: Loria at phantasia dot org
Subject: [Bug binutils/19311] arm-linux-as build on Mac OS X with Xcode7 fails to assemble code from FreePascal cross-compiler
Date: Mon, 25 Jan 2016 23:29:24 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=19311

--- Comment #6 from Loria <Loria at phantasia dot org> ---
The Toolchain used to build the binutils...
<gcc --version>
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr
--with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/c++/4.2.1
Apple LLVM version 7.0.2 (clang-700.1.81)
Target: x86_64-apple-darwin14.5.0
Thread model: posix
</gcc --version>
This seems to be an 4.2.1 ...

Investigation so far shows evidence of some problem with loop optimization of
the construct used in "encode_arm_immediate"
doing output of newimm & value after 
          newimm = encode_arm_immediate (value);
leaves some interesting values if the loop in "encode_arm_immediate" should
exit with i=0 .. but it seems to exit and checks with i=2 ...
<some samples>
0xE13 = encode_arm_immediate (0x130)
0x100 = encode_arm_immediate (0x0)
0x180 = encode_arm_immediate (0x20)
0xFFFFFFFF = encode_arm_immediate (0xAF)
<some samples>
<loop>
#define rotate_left(v, n) (v << n | v >> (32 - n))
  for (i = 0; i < 32; i += 2)
    if ((a = rotate_left (val, i)) <= 0xff)
      return a | (i << 7); /* 12-bit pack: [shift-cnt,const].  */
  return FAIL;
</loop>
If I add an output of "i" before the check is done everything seems ok ..
<loop>
  for (i = 0; i < 32; i += 2){
printf("%u\n",i);
    if ((a = rotate_left (val, i)) <= 0xff)
      return a | (i << 7); /* 12-bit pack: [shift-cnt,const].  */
  }
  return FAIL;
</loop>
I am looking for a way to either add a workaround or set some optimzerflag to
stop the broken code from beeing submitted.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]