Linux/ARM: Bus error with -O3 flag of clang/llvm-3.6 while running unit-test of .NET Core

Geunsik Lim via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 17 23:15:57 PDT 2016


Dear All,

Recently, We enabled CoreCLR (https://github.com/dotnet/coreclr) with -O3
flag in release build.
We could successfully run simple C# console applications as following:
root at linux-arm#> ./corerun   ./MS Official/ Hello World/HelloWorld.exe
 * Execution result -
https://cloud.githubusercontent.com/assets/82404/16142548/24fad3ea-34a1-11e6-8b9a-47fa8ad14228.jpg


However, We have got the "Bus error" from 3,000+ unit-tests when we have
tried to
run the CoreCLR UnitTest for stabilization as a next step.

   - Checking the number of the "Bus error" related issues

dxl at target:/unit-test/Windows_NT.x64.Release.20160519$ cat
./coreclrtests-release-20160613-o3.xml  | grep "Bus error"  | wc -l
3805


   -

   Kernel messages
   . . . . . Upper Omission . . . .
   [14041.099385] Alignment trap: not handling instruction ed940a00 at []
   [14041.099455] Unhandled fault: alignment exception (0x011) at 0xb570405d
   [14041.101480] pgd = ebbec000
   [14041.103260] [b570405d] *pgd=bbc77835
   [14041.105123] Alignment trap: not handling instruction ed940a00 at []
   [14041.108652] Unhandled fault: alignment exception (0x011) at 0xb570406f
   [14041.110451] pgd = ebbec000
   [14041.113633] [b570406f] *pgd=bbc77835
   [14042.734539] Alignment trap: not handling instruction ed940a00 at []
   [14042.734611] Unhandled fault: alignment exception (0x011) at 0xb4f0805d
   [14042.746142] pgd = c642c000
   [14042.747780] [b4f0805d] *pgd=6bb5e835, *pte=946127df, *ppte=94612e7f
   [14042.783738] Alignment trap: not handling instruction ed940b00 at []
   [14042.785409] Unhandled fault: alignment exception (0x011) at 0xb2507193
   [14042.787300] pgd = ebbec000
   [14042.788940] [b2507193] *pgd=ba4ad835
   [14042.790739] Alignment trap: not handling instruction ed940b00 at []
   [14042.792643] Unhandled fault: alignment exception (0x011) at 0xb25071a1
   [14042.794286] pgd = ebbec000
   . . . . Below Omission . . . .
   -

   System call tracing:

              . .  . Upper Omission . . . .
mmap2(NULL, 65536, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb0581000
mprotect(0xb0581000, 65536, PROT_READ|PROT_WRITE) = 0
mmap2(NULL, 65536, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb0571000
mprotect(0xb0571000, 65536, PROT_READ|PROT_WRITE) = 0
mmap2(NULL, 65536, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb0561000
mprotect(0xb0561000, 65536, PROT_READ|PROT_WRITE) = 0
mmap2(NULL, 65536, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb0551000
mprotect(0xb0551000, 65536, PROT_READ|PROT_WRITE) = 0
munmap(0xb0591000, 65536)               = 0
munmap(0xb0581000, 65536)               = 0
munmap(0xb0571000, 65536)               = 0
munmap(0xb0561000, 65536)               = 0
munmap(0xb0551000, 65536)               = 0
cacheflush(0xb223361c, 0xb2233b44, 0, 0x23e0, 0x528) = 0
cacheflush(0xb2233b84, 0xb2233bf0, 0, 0x23e0, 0x6c) = 0
cacheflush(0xb2233c10, 0xb2233c58, 0, 0x23e0, 0x48) = 0
--- SIGBUS {si_signo=SIGBUS, si_code=BUS_ADRALN, si_addr=0xb20378cd} ---
+++ killed by SIGBUS +++
Bus error

As an one example, below is test result of AboveStackLimit.exe test case.

root at u1404:/unit-test/Windows_NT.x64.Release.20160519/Regressions/common/AboveStackLimit#
pwd
/unit-test/Windows_NT.x64.Release.20160519/Regressions/common/AboveStackLimit


   - with -O1

root at u1404:/unit-test/Windows_NT.x64.Release.20160519/Regressions/common/AboveStackLimit#
./AboveStackLimit.sh
-coreroot=/unit-test/Windows_NT.x64.Release.20160519/Tests/coreoverlay-o1
BEGIN EXECUTION
/unit-test/Windows_NT.x64.Release.20160519/Tests/coreoverlay-o1/corerun
AboveStackLimit.exe
Beginning test case Jitting a large method at 6/18/16 5:31:23 AM
Random seed: 20010415; set environment variable CORECLR_SEED to this
value to repro

Beginning scenario: Jitting ~8099 arguments
Method JITTed and ran
Done

Ending test case at 6/18/16 5:31:24 AM
Expected: 100
Actual: 100
END EXECUTION - PASSED


root at u1404:/unit-test/Windows_NT.x64.Release.20160519/Regressions/common/AboveStackLimit#
/unit-test/Windows_NT.x64.Release.20160511/Tests/coreoverlay-o1/corerun
 ./AboveStackLimit.exe
Beginning test case Jitting a large method at 6/18/16 5:49:02 AM
Random seed: 20010415; set environment variable CORECLR_SEED to this
value to repro

Beginning scenario: Jitting ~8099 arguments
Method JITTed and ran
Done

Ending test case at 6/18/16 5:49:03 AM


   - with -O3

root at u1404:/unit-test/Windows_NT.x64.Release.20160519/Regressions/common/AboveStackLimit#
./AboveStackLimit.sh
-coreroot=/unit-test/Windows_NT.x64.Release.20160519/Tests/coreoverlay-o3
BEGIN EXECUTION
/unit-test/Windows_NT.x64.Release.20160519/Tests/coreoverlay-o3/corerun
AboveStackLimit.exe
./AboveStackLimit.sh: line 65: 15083 Bus error
$_DebuggerFullPath "$CORE_ROOT/corerun" AboveStackLimit.exe
$CLRTestExecutionArguments $Host_Args
Expected: 100
Actual: 135
END EXECUTION - FAILED
root at u1404:/unit-test/Windows_NT.x64.Release.20160519/Regressions/common/AboveStackLimit#

root at u1404:/unit-test/Windows_NT.x64.Release.20160519/Regressions/common/AboveStackLimit#
/unit-test/Windows_NT.x64.Release.20160511/Tests/coreoverlay-o3/corerun
 ./AboveStackLimit.exe
Bus error

root at u1404:/unit-test# demsg | tail

[ 3849.057055] Alignment trap: not handling instruction ed940b00 at [<b21db226>]
[ 3849.059380] Unhandled fault: alignment exception (0x011) at 0xb1f378e2
[ 3849.061762] pgd = e308c000
[ 3849.064056] [b1f378e2] *pgd=914bc835
[ 3904.059584] Alignment trap: not handling instruction ed940a00 at [<b21db176>]
[ 3904.059653] Unhandled fault: alignment exception (0x011) at 0xb1f378c1
[ 3904.061931] pgd = e308c000
[ 3904.064180] [b1f378c1] *pgd=6d791835, *pte=65adb7df, *ppte=65adbe7f
[ 3904.066624] Alignment trap: not handling instruction ed940b00 at [<b21db226>]
[ 3904.068875] Unhandled fault: alignment exception (0x011) at 0xb1f378e2
[ 3904.071088] pgd = e308c000
[ 3904.073303] [b1f378e2] *pgd=6d791835, *pte=65adb7df, *ppte=65adbe7f
[ 3952.350271] Alignment trap: not handling instruction ed940a00 at [<b227b176>]
[ 3952.350339] Unhandled fault: alignment exception (0x011) at 0xb20378c1
[ 3952.352759] pgd = ed554000
[ 3952.354909] [b20378c1] *pgd=914cb835



   - Debugging information with gdb (for -O3)

(gdb)
>From        To          Syms Read   Shared Object Library
0xb6fdf840  0xb6ff21a0  Yes         /lib/ld-linux-armhf.so.3
0xb6fc99a0  0xb6fca24c  Yes         /lib/arm-linux-gnueabihf/libdl.so.2
0xb6fb2090  0xb6fbba54  Yes         /lib/arm-linux-gnueabihf/libpthread.so.0
0xb6f4aae0  0xb6f8e264  Yes (*)     /usr/lib/arm-linux-gnueabihf/libstdc++.so.6
0xb6e9bc68  0xb6ec5c48  Yes         /lib/arm-linux-gnueabihf/libm.so.6
0xb6e84198  0xb6e8ef74  Yes (*)     /lib/arm-linux-gnueabihf/libgcc_s.so.1
0xb6daecc0  0xb6e519c0  Yes         /lib/arm-linux-gnueabihf/libc.so.6
0xb6969b90  0xb6c8c5a8  Yes
/unit-test/Windows_NT.x64.Release.20160511/Tests/coreoverlay-o3/libcoreclr.so
0xb6934840  0xb6936ed0  Yes         /lib/arm-linux-gnueabihf/librt.so.1
0xb6927f28  0xb69298e0  Yes (*)     /lib/arm-linux-gnueabihf/libuuid.so.1
0xb68f1dc0  0xb68f7934  Yes (*)     /usr/lib/arm-linux-gnueabihf/libunwind.so.8
0xb68b76d0  0xb68c09bc  Yes (*)
/usr/lib/arm-linux-gnueabihf/libunwind-arm.so.8
0xb68978b8  0xb68a5be8  Yes (*)     /lib/arm-linux-gnueabihf/liblzma.so.5
0xb228ced8  0xb23a4d3c  Yes
/unit-test/Windows_NT.x64.Release.20160511/Tests/coreoverlay-o3/libclrjit.so
0xb2272480  0xb2276afc  Yes
/unit-test/Windows_NT.x64.Release.20160511/Tests/coreoverlay-o3/System.Globalization.Native.so
0xb1f0f158  0xb1f81554  Yes (*)     /usr/lib/arm-linux-gnueabihf/libicuuc.so.52
0xb1dfb980  0xb1ea890c  Yes (*)
/usr/lib/arm-linux-gnueabihf/libicui18n.so.52
0xb070c430  0xb070c524  Yes (*)
/usr/lib/arm-linux-gnueabihf/libicudata.so.52
(*): Shared library is missing debugging information.
(gdb) info threads
  Id   Target Id         Frame
  5    Thread 0xb2bfe450 (LWP 15800) "corerun" __libc_do_syscall () at
../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:43
  4    Thread 0xb57e5450 (LWP 15799) "corerun" __libc_do_syscall () at
../ports/sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:43
  3    Thread 0xb5fe5450 (LWP 15798) "corerun" 0xb6fb9e1e in open ()
at ../sysdeps/unix/syscall-template.S:81
  2    Thread 0xb6855450 (LWP 15797) "corerun" 0xb6e22fc0 in poll ()
at ../sysdeps/unix/syscall-template.S:81
* 1    Thread 0xb6ff6000 (LWP 15790) "corerun" 0xb22db22a in
getI8LittleEndian (ptr=<optimized out>) at
/work/dotnet/coreclr.git/src/jit/compiler.hpp:766
(gdb)

(gdb)
(gdb) bt
#0  0xb22db22a in getI8LittleEndian (ptr=<optimized out>) at
/work/dotnet/coreclr.git/src/jit/compiler.hpp:766
#1  getR8LittleEndian (ptr=<optimized out>) at
/work/dotnet/coreclr.git/src/jit/compiler.hpp:778
#2  Compiler::impImportBlockCode (this=0xb4f25010, block=0xb4f275b4)
at /work/dotnet/coreclr.git/src/jit/importer.cpp:9254
#3  0xb22e8660 in operator() (this=<optimized out>, pParam=<optimized
out>) at /work/dotnet/coreclr.git/src/jit/importer.cpp:14660
#4  Compiler::impImportBlock (this=0xb4f25010, block=0xb4f275b4) at
/work/dotnet/coreclr.git/src/jit/importer.cpp:14670
#5  0xb22e9e1c in Compiler::impImport (this=0xb4f25010,
method=<optimized out>) at
/work/dotnet/coreclr.git/src/jit/importer.cpp:15741
#6  0xb22ada8c in Compiler::fgImport (this=0xb4f25010) at
/work/dotnet/coreclr.git/src/jit/flowgraph.cpp:6601
#7  0xb229e220 in Compiler::compCompile (this=0xb4f25010,
methodCodePtr=0xbefdec94, methodCodeSize=0xbefded70,
compileFlags=0xbefdec98)
    at /work/dotnet/coreclr.git/src/jit/compiler.cpp:3488
#8  0xb229eaae in Compiler::compCompileHelper (this=0xb4f25010,
classPtr=<optimized out>, compHnd=<optimized out>,
methodInfo=<optimized out>,
    methodCodePtr=0x1, methodCodeSize=0xb4f26534,
compileFlags=0xbefdec98, instVerInfo=(unknown: 3035779088))
    at /work/dotnet/coreclr.git/src/jit/compiler.cpp:4912
#9  0xb229e752 in operator() (this=<optimized out>,
__JITpParam=<optimized out>) at
/work/dotnet/coreclr.git/src/jit/compiler.cpp:4305
#10 Compiler::compCompile (this=0xb4f25010, methodHnd=<optimized out>,
classPtr=0xb602c010, compHnd=0xbefdeda8, methodInfo=0xb4f265c4,
    methodCodePtr=<optimized out>, methodCodeSize=<optimized out>,
compileFlags=0xbefdec98) at
/work/dotnet/coreclr.git/src/jit/compiler.cpp:4327
#11 0xb229f16a in operator() (this=<optimized out>,
__JITpParam=<optimized out>) at
/work/dotnet/coreclr.git/src/jit/compiler.cpp:5523
#12 operator() (this=<optimized out>, __JITpParam=<optimized out>) at
/work/dotnet/coreclr.git/src/jit/compiler.cpp:5552
#13 jitNativeCode (methodHnd=0xb06ed2f0, classPtr=0xb602c010,
compHnd=0xbefdeda8, methodInfo=0xbefdee10, methodCodePtr=<optimized
out>,
    methodCodeSize=<optimized out>, compileFlags=<optimized out>,
inlineInfoPtr=0x0) at
/work/dotnet/coreclr.git/src/jit/compiler.cpp:5554
#14 0xb22a1dfe in CILJit::compileMethod (this=<optimized out>,
compHnd=0xbefdeda8, methodInfo=0xbefdee10, flags=<optimized out>,
entryAddress=0x0,
    nativeSizeOfCode=0xbefded70) at
/work/dotnet/coreclr.git/src/jit/ee_il_dll.cpp:295
#15 0xb69b1c38 in invokeCompileMethodHelper (jitMgr=0x3ff28,
comp=<optimized out>, info=0xbefdee10, flags=1048592, flags2=0,
nativeEntry=0xbefded74,
    nativeSizeOfCode=0xbefded70) at
/work/dotnet/coreclr.git/src/vm/jitinterface.cpp:11834
#16 0xb69b1cc8 in invokeCompileMethod (jitMgr=0x3ff28,
comp=0xbefdeda8, info=0xbefdee10, flags=1048592, flags2=<optimized
out>,
    nativeEntry=<optimized out>, nativeSizeOfCode=<optimized out>) at
/work/dotnet/coreclr.git/src/vm/jitinterface.cpp:11889
#17 0xb69b1d94 in operator() (this=<optimized out>, pParam=<optimized
out>) at /work/dotnet/coreclr.git/src/vm/jitinterface.cpp:11951
#18 CallCompileMethodWithSEHWrapper (jitMgr=0x0, comp=0x1,
info=0xb4f26534, flags=1048592, flags2=0, nativeEntry=<optimized out>,
    nativeSizeOfCode=0xbefded70, ftn=<optimized out>) at
/work/dotnet/coreclr.git/src/vm/jitinterface.cpp:11994
#19 0xb69b247c in UnsafeJitFunction (ftn=0xb06ed2f0,
ILHeader=<optimized out>, flags=<optimized out>, flags2=0,
pSizeOfCode=0x0)
    at /work/dotnet/coreclr.git/src/vm/jitinterface.cpp:12635
#20 0xb6b52538 in MethodDesc::MakeJitWorker (this=0xb06ed2f0,
ILHeader=<optimized out>, flags=0, flags2=0)
    at /work/dotnet/coreclr.git/src/vm/prestub.cpp:462
#21 0xb6b53280 in MethodDesc::DoPrestub (this=0xb06ed2f0,
pDispatchingMT=0x0) at
/work/dotnet/coreclr.git/src/vm/prestub.cpp:1454
#22 0xb6b52c2a in PreStubWorker (pTransitionBlock=<optimized out>,
pMD=0xb06ed2f0) at /work/dotnet/coreclr.git/src/vm/prestub.cpp:1041
#23 0xb6aa3b72 in ThePreStub () from
/unit-test/Windows_NT.x64.Release.20160511/Tests/coreoverlay-o3/libcoreclr.so
#24 0xb05db7b0 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) info registers
r0             0x0      0
r1             0x1      1
r2             0xb4f26534       3035784500
r3             0x28     40
r4             0xb207d3ef       2986857455
r5             0xb4f25010       3035779088
r6             0xb4f25010       3035779088
r7             0xbefde998       3204311448
r8             0x7      7
r9             0x23     35
r10            0x4      4
r11            0x0      0
r12            0x1528   5416
sp             0xbefde520       0xbefde520
lr             0xb4f26534       -1259182796
pc             0xb22db22a       0xb22db22a
<Compiler::impImportBlockCode(BasicBlock*)+7182>
cpsr           0x800e0030       -2146566096


(gdb) info frame
Stack level 0, frame at 0xbefde9b0:
 pc = 0xb22db22a in getI8LittleEndian
(/work/dotnet/coreclr.git/src/jit/compiler.hpp:766); saved pc =
0xb22e8660
 inlined into frame 1
 source language c++.
 Arglist at unknown address.
 Locals at unknown address, Previous frame's sp in sp
(gdb) bt

Dump of assembler code for function Compiler::impImportBlockCode(BasicBlock*):
   0xb22d961c <+0>:     stmdb   sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr}
   0xb22d9620 <+4>:     add     r7, sp, #12
   0xb22d9622 <+6>:     sub.w   sp, sp, #1128   ; 0x468
   0xb22d9626 <+10>:    sub     sp, #4
   0xb22d9628 <+12>:    mov     r10, r0
   0xb22d962a <+14>:    ldr.w   r0, [pc, #3208] ; 0xb22da2b4
<Compiler::impImportBlockCode(BasicBlock*)+3224>
   0xb22d962e <+18>:    mov     r8, r1
   0xb22d9630 <+20>:    ldr.w   r1, [pc, #3204] ; 0xb22da2b8
<Compiler::impImportBlockCode(BasicBlock*)+3228>
   0xb22d9634 <+24>:    add     r0, pc
   0xb22d9636 <+26>:    str.w   r10, [sp, #196] ; 0xc4
   0xb22d963a <+30>:    ldr     r0, [r1, r0]
   0xb22d963c <+32>:    ldr     r0, [r0, #0]
   0xb22d963e <+34>:    str.w   r0, [r7, #-20]
   0xb22d9642 <+38>:    ldr.w   r0, [r10, #1712]        ; 0x6b0
   0xb22d9646 <+42>:    cbz     r0, 0xb22d9658
<Compiler::impImportBlockCode(BasicBlock*)+60>
   0xb22d9648 <+44>:    ldr.w   r0, [r0, #552]  ; 0x228
   0xb22d964c <+48>:    mov.w   r9, #4294967295
   0xb22d9650 <+52>:    ldr     r0, [r0, #60]   ; 0x3c
   0xb22d9652 <+54>:    str.w   r0, [r10, #1964]        ; 0x7ac
   0xb22d9656 <+58>:    b.n     0xb22d971a
<Compiler::impImportBlockCode(BasicBlock*)+254>
   0xb22d9658 <+60>:    mov.w   r0, #2147483648 ; 0x80000000
   0xb22d965c <+64>:    movw    r1, #5412       ; 0x1524
   0xb22d9660 <+68>:    str.w   r0, [r10, #1964]        ; 0x7ac
   0xb22d9664 <+72>:    movw    r0, #5308       ; 0x14bc
   0xb22d9668 <+76>:    ldr.w   r0, [r10, r0]
   0xb22d966c <+80>:    mov     r5, r10
   0xb22d966e <+82>:    ldr.w   r10, [r5, r1]
   0xb22d9672 <+86>:    ldr     r4, [r0, #84]   ; 0x54
   0xb22d9674 <+88>:    cmp.w   r10, #255       ; 0xff
   0xb22d9678 <+92>:    bhi.n   0xb22d968a
<Compiler::impImportBlockCode(BasicBlock*)+110>
   0xb22d967a <+94>:    movw    r0, #5300       ; 0x14b4
   0xb22d967e <+98>:    ldrb    r0, [r5, r0]
   0xb22d9680 <+100>:   tst.w   r0, #1
   0xb22d9684 <+104>:   it      ne
   0xb22d9686 <+106>:   strne.w r4, [r5, #1964] ; 0x7ac
   0xb22d968a <+110>:   cbnz    r4, 0xb22d969c
<Compiler::impImportBlockCode(BasicBlock*)+128>
   0xb22d968c <+112>:   movs    r0, #0
   0xb22d968e <+114>:   cmp.w   r10, #255       ; 0xff
   0xb22d9692 <+118>:   it      hi
   0xb22d9694 <+120>:   movhi.w r0, #2147483648 ; 0x80000000
   0xb22d9698 <+124>:   str.w   r0, [r5, #1964] ; 0x7ac
   0xb22d969c <+128>:   movw    r0, #5296       ; 0x14b0
   0xb22d96a0 <+132>:   ldr     r6, [r5, r0]
---Type <return> to continue, or q <return> to quit---
   0xb22d96a2 <+134>:   cmp     r6, #0
   0xb22d96a4 <+136>:   beq.n   0xb22d96dc
<Compiler::impImportBlockCode(BasicBlock*)+192>
   0xb22d96a6 <+138>:   mul.w   r0, r6, r4
   0xb22d96aa <+142>:   mov.w   r1, #5216       ; 0x1460
   0xb22d96ae <+146>:   ldr     r1, [r5, r1]
   0xb22d96b0 <+148>:   blx     0xb228cac4
   0xb22d96b4 <+152>:   cmp     r0, r6
   0xb22d96b6 <+154>:   mov     r12, r5
   0xb22d96b8 <+156>:   it      cs
   0xb22d96ba <+158>:   subcs   r0, r6, #1
   0xb22d96bc <+160>:   subs    r1, r0, #1
   0xb22d96be <+162>:   movw    r0, #5292       ; 0x14ac
   0xb22d96c2 <+166>:   adds    r2, r5, r0
   0xb22d96c4 <+168>:   cmp.w   r1, #4294967295
   0xb22d96c8 <+172>:   beq.n   0xb22d96e4
<Compiler::impImportBlockCode(BasicBlock*)+200>
   0xb22d96ca <+174>:   ldr     r0, [r2, #0]
   0xb22d96cc <+176>:   ldr.w   r3, [r0, r1, lsl #2]
   0xb22d96d0 <+180>:   subs    r1, #1
   0xb22d96d2 <+182>:   cmp     r3, r4
   0xb22d96d4 <+184>:   bcs.n   0xb22d96c4
<Compiler::impImportBlockCode(BasicBlock*)+168>
   0xb22d96d6 <+186>:   add.w   r9, r1, #2
   0xb22d96da <+190>:   b.n     0xb22d96ea
<Compiler::impImportBlockCode(BasicBlock*)+206>
   0xb22d96dc <+192>:   mov.w   r9, #4294967295
   0xb22d96e0 <+196>:   mov     r10, r5
   0xb22d96e2 <+198>:   b.n     0xb22d971a
<Compiler::impImportBlockCode(BasicBlock*)+254>
   0xb22d96e4 <+200>:   ldr     r0, [r2, #0]
   0xb22d96e6 <+202>:   mov.w   r9, #0
   0xb22d96ea <+206>:   ldr.w   r1, [r0, r9, lsl #2]
   0xb22d96ee <+210>:   cmp     r1, r4
   0xb22d96f0 <+212>:   bcs.n   0xb22d9700
<Compiler::impImportBlockCode(BasicBlock*)+228>
   0xb22d96f2 <+214>:   add.w   r9, r9, #1
   0xb22d96f6 <+218>:   cmp     r6, r9
   0xb22d96f8 <+220>:   bne.n   0xb22d96ea
<Compiler::impImportBlockCode(BasicBlock*)+206>
   0xb22d96fa <+222>:   mov     r9, r6
   0xb22d96fc <+224>:   mov     r10, r12
   0xb22d96fe <+226>:   b.n     0xb22d971a
<Compiler::impImportBlockCode(BasicBlock*)+254>
   0xb22d9700 <+228>:   bne.n   0xb22d9718
<Compiler::impImportBlockCode(BasicBlock*)+252>
   0xb22d9702 <+230>:   cmp.w   r10, #255       ; 0xff
   0xb22d9706 <+234>:   add.w   r9, r9, #1
   0xb22d970a <+238>:   mov     r10, r12
   0xb22d970c <+240>:   it      hi
   0xb22d970e <+242>:   orrhi.w r4, r4, #2147483648     ; 0x80000000
   0xb22d9712 <+246>:   str.w   r4, [r10, #1964]        ; 0x7ac
   0xb22d9716 <+250>:   b.n     0xb22d971a
<Compiler::impImportBlockCode(BasicBlock*)+254>
---Type <return> to continue, or q <return> to quit---




We have still got the same issue even though we try to build coreCLR with "
-mno-unaligned-access" flag of llang /llvm-3.6.
Anyone who has similar experience Is this issue already resolved in the
latest clang/llvm version?

BRs,
Geunsik Lim.





-- 
http://leemgs.fedorapeople.org
Don't try to avoid pain if you fail.
If you decided to face the challenges in life,
you can gain a lot by giving your best.
Cheolsang Jeong's Book & life
--
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160618/24f0cd07/attachment.html>


More information about the llvm-commits mailing list