Please describe all the steps you are doing and such way everybody can
reproduce yet (same way I did in previous email).

I don't think a library compile to Ubuntu will work on Fedora.

Xiang, do you have a documentation about the JLink integration? BTW,
any news about the guy/gal Xiaomi was contracting to write better
documentation to NuttX ?

BR,

Alan

On 6/23/22, Fotis Panagiotopoulos <f.j.pa...@gmail.com> wrote:
> 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