https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82820
--- Comment #2 from zwzhangwen.zhang at huawei dot com --- Hi, I have a testcase for example: typedef struct structA{ int a; int b; int c; }A; typedef struct structB{ int iData; A a; }B; int test(A aa) { aa.a = 123; aa.b = 321; aa.c = 213; printf("\r\n line:%d func:%s [%d][%d][%d]\r\n", __LINE__, __FUNCTION__, aa.a, aa.b, aa.c); } int main() { char buf[1024]; A aaa = {1,2,3}; B *pb = (B *)(buf + 1); pb->a = aaa; test(pb->a); return 0; } compiling with the command "arm32-linux-gnueabi-gcc -O0 test.c " Then objdump assemble is as follows: ... 85ac: e51b3008 ldr r3, [fp, #-8] 85b0: e2833004 add r3, r3, #4 85b4: e24b2e41 sub r2, fp, #1040 ; 0x410 85b8: e2422004 sub r2, r2, #4 85bc: e8920007 ldm r2, {r0, r1, r2} 85c0: e8830007 stm r3, {r0, r1, r2} 85c4: e51b3008 ldr r3, [fp, #-8] 85c8: e2833004 add r3, r3, #4 85cc: e8930007 ldm r3, {r0, r1, r2} 85d0: ebffffcd bl 850c <test> ... pb->a is unaligned access but inst. is ldm/stm and this is a prolem. The other problem is the elf has bus error on arm64 env, So anybody help me? Thank you.