klzgrad / naiveproxy

Make a fortune quietly
BSD 3-Clause "New" or "Revised" License
6.59k stars 877 forks source link

v117.0.5938.44-1-openwrt-arm_cortex-a9-static segment fault #567

Closed spaceice0304 closed 1 year ago

spaceice0304 commented 1 year ago

asus merlin 两个路由器,R6300V2和RT-AX86U。a9的连版本都无法显示,a53可以显示版本。都无法运行。

klzgrad commented 1 year ago

Duplicate of #564.

spaceice0304 commented 1 year ago

arm a9 static 依旧显示 segmentation fault。

klzgrad commented 1 year ago
Program received signal SIGILL, Illegal instruction.
0x00253e1a in DoIOSInit () at ../../third_party/libc++/src/src/iostream.cpp:121
121 ../../third_party/libc++/src/src/iostream.cpp: No such file or directory.
(gdb) x/i $pc
=> 0x253e1a <DoIOSInit()+10>:   vpush   {d8-d9}

vpush requires FPU.

klzgrad commented 1 year ago

Default:

(gdb) x/20i main
   0x202988 <main()>:   push    {r4, r5, r6, r7, lr}
   0x20298a <main()+2>: add r7, sp, #12
   0x20298c <main()+4>: stmdb   sp!, {r8, r9, r10, r11}
   0x202990 <main()+8>: subw    sp, sp, #1596   ; 0x63c
   0x202994 <main()+12>:    mov r9, r0
   0x202996 <main()+14>:    movw    r0, #55984  ; 0xdab0
   0x20299a <main()+18>:    movt    r0, #72 ; 0x48
   0x20299e <main()+22>:    mov r8, r1
   0x2029a0 <main()+24>:    ldr r0, [r0, #0]
   0x2029a2 <main()+26>:    movw    r1, #52405  ; 0xccb5
   0x2029a6 <main()+30>:    movt    r1, #54 ; 0x36
=> 0x2029aa <main()+34>:    ldr r0, [r0, #0]
   0x2029ac <main()+36>:    str.w   r0, [r7, #-32]
   0x2029b0 <main()+40>:    movw    r0, #57392  ; 0xe030
   0x2029b4 <main()+44>:    movt    r0, #73 ; 0x49
   0x2029b8 <main()+48>:    dmb ish
   0x2029bc <main()+52>:    ldrex   r2, [r0]
   0x2029c0 <main()+56>:    strex   r2, r1, [r0]
   0x2029c4 <main()+60>:    cmp r2, #0
   0x2029c6 <main()+62>:    bne.n   0x2029bc <main()+52>
(gdb) x/x 0x48dab0
0x48dab0 <__stack_chk_guard>:   0xea462897

With -fno-stack-protector

(gdb) x/20i main
   0x2003e4 <main()>:   push    {r4, r5, r6, r7, lr}
   0x2003e6 <main()+2>: add r7, sp, #12
   0x2003e8 <main()+4>: stmdb   sp!, {r8, r9, r10, r11}
   0x2003ec <main()+8>: subw    sp, sp, #1596   ; 0x63c
   0x2003f0 <main()+12>:    mov r8, r1
   0x2003f2 <main()+14>:    movw    r1, #29333  ; 0x7295
   0x2003f6 <main()+18>:    mov r9, r0
   0x2003f8 <main()+20>:    movw    r0, #19760  ; 0x4d30
   0x2003fc <main()+24>:    movt    r0, #73 ; 0x49
   0x200400 <main()+28>:    movt    r1, #54 ; 0x36
   0x200404 <main()+32>:    dmb ish
   0x200408 <main()+36>:    ldrex   r2, [r0]
   0x20040c <main()+40>:    strex   r2, r1, [r0]
   0x200410 <main()+44>:    cmp r2, #0
   0x200412 <main()+46>:    bne.n   0x200408 <main()+36>
   0x200414 <main()+48>:    movw    r0, #61124  ; 0xeec4
   0x200418 <main()+52>:    movs    r1, #1
   0x20041a <main()+54>:    movt    r0, #72 ; 0x48
   0x20041e <main()+58>:    dmb ish
   0x200422 <main()+62>:    strb    r1, [r0, #0]
spaceice0304 commented 1 year ago

arm a9 static 可以了,多谢,辛苦了!