小编Log*_*ing的帖子

Linaro g++ aarch64编译导致未对齐错误

我使用 linaro g++ for ARM arch64 编译一个简单的 cpp 文件:

int main()
{
    char  *helloMain      = "main module (crm.c)";
    long  faculty, num    = 12;
    int   stop,mainLoop   = 1; 
    char  word[80]        = "";
}
Run Code Online (Sandbox Code Playgroud)

objdump生成elf文件后,我得到了它的asm代码:

0000000000001270 <main>:
int main()
{
    1270:   d101c3ff    sub sp, sp, #0x70
    char  *helloMain      = "main module (crm.c)";
    1274:   90000020    adrp    x0, 5000 <_malloc_trim_r+0x160>
    1278:   9111c000    add x0, x0, #0x470
    127c:   f90003e0    str x0, [sp]
    long  faculty, num    = 12;
    1280:   d2800180    movz    x0, #0xc
    1284:   f90007e0 …
Run Code Online (Sandbox Code Playgroud)

arm g++ memory-alignment arm64

2
推荐指数
1
解决办法
2804
查看次数

标签 统计

arm ×1

arm64 ×1

g++ ×1

memory-alignment ×1