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?
> >> >> >
> >> >>
> >> >
> >>
> >
>

Reply via email to