I tried your instructions. The build fails on a clean repository too. I then tried a newer version of Ubuntu (as a Docker container, I do not have access to any other Ubuntu machines). This time the build succeeded.
However I haven't managed to debug the application from within this Docker container. I took the successfully built plug-in, and used it on my Fedora machine. Again, it crashes in the same way. On Thu, Jun 23, 2022 at 5:06 PM Alan Carvalho de Assis <acas...@gmail.com> wrote: > Hi Fotis, > > I'm using Ubuntu 20.04 and I can confirm it is working fine, I don't > need to add -fPIC. > > Please try a clear repository, I will do it here step-by-step on /tmp > to removed after next reboot: > > $ cd /tmp/ > $ git clone https://github.com/apache/incubator-nuttx nuttx > $ git clone https://github.com/apache/incubator-nuttx-apps apps > $ cd nuttx/ > $ make -C tools -f Makefile.host all > $ ls -l tools/jlink* > -rwxrwxr-x 1 alan alan 17144 jun 23 11:02 tools/jlink-nuttx > -rw-rw-r-- 1 alan alan 16804 jun 23 11:01 tools/jlink-nuttx.c > > I didn't test it with JLinkGDBServer, but at least I can tell you it > is compiling fine. > > BR, > > Alan > > On 6/23/22, Fotis Panagiotopoulos <f.j.pa...@gmail.com> wrote: > >> Ahhh, so it is your Fedora 36 issue, hahaha > > > > No, it is not. > > > > I just tried on Ubuntu 18, and I got the exact same result. > > > > Build fails with the same error. I added the -fPIC flag, and the build > > succeeded. > > Then I tried to debug the firmware with JLink and GDB crashes during init > > with a SEGFAULT. > > > > Just like on Fedora. > > > > So I guess, this is a problem with the plug-in itself? > > > > Those that have managed to use the plug-in successfully, what is the > > version of JLinkGDBServer ? > > Mine is V7.54c. > > > > > > > > > > > > > > > > > > On Thu, Jun 23, 2022 at 1:50 AM Alan Carvalho de Assis < > acas...@gmail.com> > > wrote: > > > >> Ahhh, so it is your Fedora 36 issue, hahaha > >> > >> Here on Ubuntu "make -C tools -f Makefile.host all" works fine. > >> > >> It created the jlink-nuttx.so file. > >> > >> BR, > >> > >> Alan > >> > >> On 6/22/22, Fotis Panagiotopoulos <f.j.pa...@gmail.com> wrote: > >> > Yes I enabled CONFIG_DEBUG_TCBINFO. > >> > (When disabled, debugging works normally but without being > >> > thread-aware). > >> > > >> > It seems that it is either a bug in the plugin itself, or something is > >> > wrong with my build. > >> > > >> > If it matters, I am using Fedora 36 with gcc (GCC) 12.1.1 20220507 > (Red > >> Hat > >> > 12.1.1-1) > >> > > >> > Maybe someone can provide me with a pre-build .so file to test if this > >> > is > >> > the cause? > >> > > >> > > >> > > >> > > >> > On Wed, Jun 22, 2022 at 10:30 PM Xiang Xiao < > xiaoxiang781...@gmail.com> > >> > wrote: > >> > > >> >> Did you enable CONFIG_DEBUG_TCBINFO in your defconfig: > >> >> incubator-nuttx/Kconfig at master ยท apache/incubator-nuttx > >> >> (github.com) > >> >> < > >> > https://github.com/apache/incubator-nuttx/blob/master/Kconfig#L1857-L1863 > >> >> > > >> >> The plugin needs the g_tcbinfo to know the critical offset of the > >> >> field > >> >> in > >> >> tcb_s structure. > >> >> > >> >> On Thu, Jun 23, 2022 at 2:10 AM Fotis Panagiotopoulos > >> >> <f.j.pa...@gmail.com > >> >> > > >> >> wrote: > >> >> > >> >> > Hello, > >> >> > > >> >> > I am in need of debugging NuttX in a thread-aware fashion, as I > >> >> > still > >> >> hit a > >> >> > dead-lock in networking that I haven't managed to track down yet. > >> >> > > >> >> > I am using a custom target, based on the STM32F427VI and JLink as > >> >> > the > >> >> > debugger. > >> >> > > >> >> > I see that there is a plug-in for JLink GDB that was added in > #4810. > >> >> > Unfortunately, I never got this working. I commented on the PR, but > >> >> > I > >> >> > got > >> >> > ignored. > >> >> > > >> >> > So: > >> >> > > >> >> > 1. I cannot build the plug-in. > >> >> > Running: > >> >> > > >> >> > make -C tools -f Makefile.host all > >> >> > > >> >> > I get: > >> >> > > >> >> > /usr/bin/ld: /tmp/cclxEqhk.o: relocation R_X86_64_32 against > >> >> > `.rodata.str1.8' can not be used when making a shared object; > >> recompile > >> >> > with -fPIC > >> >> > collect2: error: ld returned 1 exit status > >> >> > make: *** [Makefile.host:231: jlink-nuttx.so] Error 1 > >> >> > > >> >> > I added the -fPIC option, and it was built successfully. > >> >> > If this is actually the correct option, then I guess the makefile > >> >> > has > >> >> > to > >> >> be > >> >> > fixed? > >> >> > > >> >> > > >> >> > 2. After building the plug-in with -fPIC, it crashes during start > >> >> > with > >> >> > a > >> >> > segmentation fault. > >> >> > > >> >> > Here is an example output: > >> >> > https://pastebin.com/U1tqtMND > >> >> > > >> >> > > >> >> > Has anyone managed to use this? > >> >> > Any idea what the fault may be? > >> >> > > >> >> > >> > > >> > > >