You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by GitBox <gi...@apache.org> on 2021/07/22 12:54:30 UTC
[GitHub] [incubator-nuttx] masayuki2009 commented on pull request #4207: arch: sim: Workaround to make the IPI work on macOS
masayuki2009 commented on pull request #4207:
URL: https://github.com/apache/incubator-nuttx/pull/4207#issuecomment-884888660
@xiaoxiang781216
After more investigations, I found that ```pthread_attr_init()``` in ```sim_cpu_start()``` is linked incorrectly for both Linux and macOS. The symbol should locate in the host library but it calls the library on NuttX. Do you know why the symbol is linked incorrectly?
```
pthread_attr_t attr;
pthread_attr_init(&attr);
3c875: 48 8d 85 50 ff ff ff lea -0xb0(%rbp),%rax
3c87c: 48 89 c7 mov %rax,%rdi
3c87f: e8 64 98 fe ff callq 260e8 <pthread_attr_init> <== should be @plt
pthread_attr_setstack(&attr, stack, size);
3c884: 48 8b 95 28 ff ff ff mov -0xd8(%rbp),%rdx
3c88b: 48 8b 8d 30 ff ff ff mov -0xd0(%rbp),%rcx
3c892: 48 8d 85 50 ff ff ff lea -0xb0(%rbp),%rax
3c899: 48 89 ce mov %rcx,%rsi
3c89c: 48 89 c7 mov %rax,%rdi
3c89f: e8 6c 64 fc ff callq 2d10 <pt...@plt>
ret = pthread_create(&g_cpu_thread[cpu],
3c8a4: 8b 85 3c ff ff ff mov -0xc4(%rbp),%eax
3c8aa: 48 98 cltq
3c8ac: 48 8d 14 c5 00 00 00 lea 0x0(,%rax,8),%rdx
3c8b3: 00
3c8b4: 48 8d 05 85 77 21 00 lea 0x217785(%rip),%rax # 254040 <g_cpu_thread>
3c8bb: 48 8d 3c 02 lea (%rdx,%rax,1),%rdi
3c8bf: 48 8d 55 90 lea -0x70(%rbp),%rdx
3c8c3: 48 8d 85 50 ff ff ff lea -0xb0(%rbp),%rax
3c8ca: 48 89 d1 mov %rdx,%rcx
3c8cd: 48 8d 15 35 fe ff ff lea -0x1cb(%rip),%rdx # 3c709 <sim_idle_trampoline>
3c8d4: 48 89 c6 mov %rax,%rsi
3c8d7: e8 04 64 fc ff callq 2ce0 <pt...@plt>
3c8dc: 89 85 4c ff ff ff mov %eax,-0xb4(%rbp)
&attr, sim_idle_trampoline, &cpuinfo);
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org