|
Message-ID: <CAPW=hRSk1vcvqXa0=UFuXKHMwG+JNMS1LDYxXRFpbdvmRvi_Xw@mail.gmail.com> Date: Sun, 21 Oct 2012 17:19:37 +0800 From: Brian Wang <brian.wang.0721@...il.com> To: musl@...ts.openwall.com Subject: Re: Problem Compiling gdbserver with musl On Fri, Oct 19, 2012 at 9:54 PM, John Spencer <maillist-musl@...fooze.de> wrote: > On 10/19/2012 08:13 AM, Brian Wang wrote: >> >> Hello all, >> >> Is it possible to cross compile gdbserver with musl? I tried it and >> it failed complaining about some thread-db stuff: >> -------------- >> thread-db.c: In function ‘find_one_thread’: >> thread-db.c:292:7: error: format ‘%ld’ expects argument of type ‘long >> int’, but argument 3 has type ‘thread_t’ [-Werror=format] >> thread-db.c:315:6: error: ‘struct lwp_info’ has no member named ‘th’ >> thread-db.c: In function ‘attach_thread’: >> thread-db.c:329:7: error: format ‘%ld’ expects argument of type ‘long >> int’, but argument 3 has type ‘thread_t’ [-Werror=format] >> thread-db.c:335:9: error: format ‘%ld’ expects argument of type ‘long >> int’, but argument 2 has type ‘thread_t’ [-Werror=format] >> thread-db.c:340:6: error: ‘struct lwp_info’ has no member named ‘th’ >> thread-db.c: In function ‘thread_db_get_tls_address’: >> thread-db.c:513:47: error: ‘struct lwp_info’ has no member named ‘th’ >> thread-db.c: In function ‘dladdr_to_soname’: >> thread-db.c:652:3: error: passing argument 1 of ‘dladdr’ discards >> ‘const’ qualifier from pointer target type [-Werror] >> In file included from thread-db.c:33:0: >> >> /opt/cross/arm-linux-musleabi/lib/gcc/arm-linux-musleabi/4.7.1/../../../../arm-linux-musleabi/include/dlfcn.h:30:5: >> note: expected ‘void *’ but argument is of type ‘const void *’ >> thread-db.c: In function ‘try_thread_db_load_from_sdir’: >> thread-db.c:708:30: error: ‘LIBTHREAD_DB_SO’ undeclared (first use in >> this function) >> thread-db.c:708:30: note: each undeclared identifier is reported only >> once for each function it appears in >> thread-db.c: In function ‘try_thread_db_load_from_dir’: >> thread-db.c:719:29: error: ‘LIBTHREAD_DB_SO’ undeclared (first use in >> this function) >> thread-db.c: In function ‘thread_db_load_search’: >> thread-db.c:748:41: error: ‘LIBTHREAD_DB_SEARCH_PATH’ undeclared >> (first use in this function) >> thread-db.c: In function ‘thread_db_handle_monitor_command’: >> thread-db.c:971:7: error: ‘LIBTHREAD_DB_SEARCH_PATH’ undeclared (first >> use in this function) >> thread-db.c: In function ‘try_thread_db_load_from_sdir’: >> thread-db.c:709:1: error: control reaches end of non-void function >> [-Werror=return-type] >> cc1: all warnings being treated as errors >> -------------- >> > > hello brian, please forward your bug report to gdb mailing list. > clearly gdb devs should check if these facilities are available before using > them. > we must raise awareness of such issues upstream. I guess gdb development is somehow tightly coupled with glibc, which supplies libthread_db. I remember seeing similar issues reported: http://sourceware.org/bugzilla/show_bug.cgi?id=13011 > > > as a temporary fix, you can either build gdb without gdbserver: > https://github.com/rofl0r/sabotage/blob/master/pkg/gdb > > patches are here: https://github.com/rofl0r/sabotage/tree/master/KEEP > > before i ported sabotage to mips i had working patches for gdbserver to > *compile* (did not test if it *works*) on x86 and amd64: > > https://github.com/rofl0r/sabotage/commit/02202d48d5062c62a3fa62deaf3bdc01d5b4423d > > the dlopen patch should not be necessary with current musl. Thank you for the pointers. :-) gdbserver+gdb now works for my ARM target, at least for single-thread program. Brian -- brian ------------------ Cool-Karaoke - The smallest recording studio, in your palm, open-sourced http://cool-idea.com.tw/ iMaGiNaTiOn iS mOrE iMpOrTaNt tHaN kNoWlEdGe
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.