jasonmolenda wrote:

Ah, I misunderstood what the nature of the failure was.  I tried running the 
shell test, and it's failing for different reasons.  I almost never touch shell 
tests, I find them really hard to debug so I'm not sure what the problem is.  
If I run it by hand,

```
(lldb) settings set platform.plugin.darwin.ignored-exceptions 
EXC_BAD_INSTRUCTION
(lldb) b sigill_handler
Breakpoint 1: where = a.out`sigill_handler + 20 at 
signal-in-leaf-function-aarch64.c:10:34, address = 0x0000000100003f4c
(lldb) r
Process 25854 launched: '/tmp/a.out' (arm64)
Process 25854 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGILL
    frame #0: 0x0000000100003f2c a.out`signal_generating_add at 
signal-in-leaf-function-aarch64.c:5:3
   2    #include <unistd.h>
   3    
   4    int __attribute__((naked)) signal_generating_add(int a, int b) {
-> 5      asm("add w0, w1, w0\n\t"
   6          "udf #0xdead\n\t"
   7          "ret");
   8    }
(lldb) c
Process 25854 resuming
Process 25854 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
    frame #0: 0x0000000100003f4c a.out`sigill_handler(signo=4) at 
signal-in-leaf-function-aarch64.c:10:34
   7          "ret");
   8    }
   9    
-> 10   void sigill_handler(int signo) { _exit(0); }
   11   
   12   int main() {
   13     signal(SIGILL, sigill_handler);
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
  * frame #0: 0x0000000100003f4c a.out`sigill_handler(signo=4) at 
signal-in-leaf-function-aarch64.c:10:34
    frame #1: 0x0000000197f93584 libsystem_platform.dylib`_sigtramp + 56
    frame #2: 0x0000000100003f7c a.out`main at 
signal-in-leaf-function-aarch64.c:14:3
    frame #3: 0x0000000197bda0e0 dyld`start + 2360
(lldb) 
```

which all looks good to me, but it the shell test fails with


```
/Volumes/work/llvm/llvm-project/lldb/test/Shell/Unwind/signal-in-leaf-function-aarch64.test:26:10:
 error: CHECK: expected string not found in input
# CHECK: frame #{{[0-9]+}}: [[ADD]] {{.*}}`signal_generating_add
         ^
<stdin>:32:86: note: scanning from here
 frame #0: 0x0000000100003f38 
signal-in-leaf-function-aarch64.test.tmp`sigill_handler
                                                                                
     ^
<stdin>:32:86: note: with "ADD" equal to "0x0000000100003f2c"
 frame #0: 0x0000000100003f38 
signal-in-leaf-function-aarch64.test.tmp`sigill_handler
                                                                                
     ^
<stdin>:33:23: note: possible intended match here
signal-in-leaf-function-aarch64.test.tmp`sigill_handler:
                      ^

Input file: <stdin>
Check file: 
/Volumes/work/llvm/llvm-project/lldb/test/Shell/Unwind/signal-in-leaf-function-aarch64.test

-dump-input=help explains the following input dump.

Input was:
<<<<<<
            .
            .
            .
           27:  frame #2: 0x0000000197bda0e0 dyld`start + 2360 
           28: (lldb) continue 
           29: Process 23467 resuming 
           30: Process 23467 stopped 
           31: * thread #1, queue = 'com.apple.main-thread', stop reason = 
breakpoint 1.1 
           32:  frame #0: 0x0000000100003f38 
signal-in-leaf-function-aarch64.test.tmp`sigill_handler 
check:26'0                                                                      
                    X error: no match found
check:26'1                                                                      
                      with "ADD" equal to "0x0000000100003f2c"
           33: signal-in-leaf-function-aarch64.test.tmp`sigill_handler: 
check:26'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:26'2                           ?                                   
possible intended match
           34: -> 0x100003f38 <+0>: sub sp, sp, #0x20 
check:26'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           35:  0x100003f3c <+4>: stp x29, x30, [sp, #0x10] 
check:26'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           36:  0x100003f40 <+8>: add x29, sp, #0x10 
check:26'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           37:  0x100003f44 <+12>: stur w0, [x29, #-0x4] 
check:26'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           38: (lldb) thread backtrace 
check:26'0     ~~~~~~~~~~~~~~~~~~~~~~~~
            .
            .
            .
>>>>>>
```



https://github.com/llvm/llvm-project/pull/91321
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to