2016-01-08 49 views
0

我有NetBSD5.1的源碼。我已經編譯了內核和userland的源代碼。當我在ARM NetBSD5.1中用pthread_create()本地編譯示例C程序時,它崩潰了。相同的程序在我的Linux PC上運行成功。想知道運行NetBSD5.1操作系統的ARM機器是否支持Pthread?ARM NetBSD5.1 Pthread支持

注意:ARM機器中本地編譯的其他示例C程序運行成功。

+0

@格雷格 - 一個樹林我不知怎麼能從/usr/lib/libpthread.so.0 #BT #在這個BT(GDB)到達在pthread_setcancelstate()0 0x4003ad5c 1 0x400af724在inet_network()從/usr/lib/libc.so.12 #2 0x400af724在inet_network()from /usr/lib/libc.so.12 上一幀與此幀相同(損壞的堆棧?) 也我靜態編譯了程序,I在fflush()中獲得#0 0x000232b4在fflush()中的__flockfile_internal() #1 0x00022ae0() #2 0x00022ae0任何線索可以調試?搬到最新的NetBSD不適用於我 –

回答

0

它應該工作,我想。 (我目前沒有運行5.1的ARM系統 - 我的7.0版本正在運行。)

如果您可以顯示關於崩潰的更多詳細信息,從調試器堆棧回溯,那麼也許我或其他人可以提供更多的幫助。

+0

@ greg-a-woods Thasnks很多。程序收到信號SIGSEGV,分段故障。 0x64aa0640在?? () (gdb)bt #0 0x64aa0640 in ?? () #1 0x4003ae64在?? ()from /usr/lib/libpthread.so.0 #2 0x4003ae64 in ?? ()從/usr/lib/libpthread.so.0 Backtrace停止:前一幀與此幀相同(損壞的堆棧?)
它只是一個帶有pthread_create()的簡單程序。在i386中,相同的程序正在執行成功。 –

+0

也許如果你可以使用'-g'來編譯得到調試符號,那麼回溯會更有意義。也許你也可以編輯你的問題並插入測試程序完整源代碼的副本。我仍然不確定pthread是否可以在NetBSD/arm-5.1上運行,但是在我的RPi B +上使用NetBSD/arm-7.99.8上的pthreads運行測試程序沒有問題。也許你可以升級到NetBSD-7。 –

+0

我用-g編譯了我的程序,庫也在說「沒有被剝離」。也許gdb有一些bug。 –