Ping on ticket 4728 + patch

Alan Cudmore alan.cudmore at gmail.com
Tue Oct 18 14:36:21 UTC 2022


On Tue, Oct 18, 2022 at 9:55 AM Joel Sherrill <joel at rtems.org> wrote:
>
>
>
> On Tue, Oct 18, 2022 at 8:44 AM Alan Cudmore <alan.cudmore at gmail.com> wrote:
>>
>> The log does have the error, and I get it when building by hand too:
>> start.o: in function `.L0 ':
>> /home/alan/rtems/test-build/rtems-tmp/build/riscv/rv32imafdc/../../../bsps/riscv/shared/start/start.S:86:(.bsp_start_text+0x5c):
>> relocation truncated to fit: R_RISCV_GPREL_I against symbol
>> `bsp_section_bss_size' defined in *ABS* section in
>> /home/alan/rtems/test-build/rtems-tmp/build/riscv/rv32imafdc/testsuites/samples/minimum.exe
>> collect2: error: ld returned 1 exit status
>
>
>
> Hmmm.. that's weird. You should never get a truncation error linking minimum.exe.
> It should always fit within the BSP's memory and not have any issues with branches
> or calls needing fixup.
>
> Unless the wrong type of branch/jump/call instruction is used at start.S:86, I have
> no idea.If it's a form that assumes a short distance to the destination but is going
> to a symbol outside start.S and thus could be further.

Also, 6 of the samples such as hello.exe link without error.
The rv32imafdc BSP variant does not have CPU_CFLAGS.
rv32imafd links fine and has specific CPU_CFLAGS, rv32imafdc does not
have the flags.
(I'll research the gcc defaults and architecture differences next..)

I get a similar error on the frdme310arty BSP but only on a specific
POSIX testsuite executable:

start.o: in function `.L0 ':

/home/alan/rtems/test-build/rtems-tmp/build/riscv/frdme310arty/../../../bsps/riscv/shared/start/start.S:86:(.bsp_start_text+0x28):
relocation truncated to fit: R_RISCV_GPREL_I against symbol
`bsp_section_bss_size' defined in *ABS* section in
/home/alan/rtems/test-build/rtems-tmp/build/riscv/frdme310arty/testsuites/validation/ts-validation-io-kernel.exe

collect2: error: ld returned 1 exit status



>
> --joel
>
>>
>>
>> On Mon, Oct 17, 2022 at 10:43 PM Chris Johns <chrisj at rtems.org> wrote:
>> >
>> > On 18/10/2022 1:13 pm, Joel Sherrill wrote:
>> > > On Sun, Oct 16, 2022 at 9:32 AM Alan Cudmore <alan.cudmore at gmail.com
>> > > <mailto:alan.cudmore at gmail.com>> wrote:
>> > >
>> > >     On Fri, Oct 14, 2022 at 9:19 AM Joel Sherrill <joel at rtems.org
>> > >     <mailto:joel at rtems.org>> wrote:
>> > >     >
>> > >     > Pushed. Thanks for pinging. It does help.
>> > >     >
>> > >     > Since you are looking at the riscv BSPs, could you look at the four
>> > >     > BSP build failures reported here:
>> > >     >
>> > >     > https://lists.rtems.org/pipermail/build/2022-September/036496.html
>> > >     <https://lists.rtems.org/pipermail/build/2022-September/036496.html>
>> > >     >
>> > >     > I think they are all variants so one fix (maybe repeated) should do it.
>> > >     > The reported message isn't much help:
>> > >     >
>> > >     >    1 smp riscv/rv32iac build:
>> > >     >       configure: /home/tester/rtems-cron-6/rtems/waf configure\
>> > >     >       --prefix=/home/tester/rtems-cron-6/tools/6/bsps --top=/home/tester\
>> > >     >       /rtems-cron-6/rtems --rtems-config=config-riscv-rv32iac-smp.ini
>> > >     >      error: ld/collect2:0 error: no error message found!
>> > >     >
>> > >
>> > >     I ran the bsp builder on the riscv BSPs with an updated toolchain and
>> > >     latest rtems master. I was able to reproduce only one of the failures
>> > >     with the rv32imafdc SMP configuration:
>> > >     Failures:
>> > >        1 smp riscv/rv32imafdc build:
>> > >           configure: /home/alan/rtems/test-build/rtems/waf configure\
>> > >           --prefix=/home/alan/rtems/test-build/bsps\
>> > >           --top=/home/alan/rtems/test-build/rtems --rtems-config=config-riscv-\
>> > >           rv32imafdc-smp.ini
>> > >          error: ld/collect2:0 error: no error message found!
>> > >
>> > >     Average BSP Build Time: 0:00:26.253927
>> > >     Total Time 1:04:45.581263
>> > >     Passes: 147   Failures: 1
>> > >
>> > >     This is the detail from the log:
>> > >     [1424/1437] Compiling ../../../rtems/testsuites/samples/nsecs/init.c
>> > >     start.o: in function `.L0 ':
>> > >     /home/alan/rtems/test-build/rtems/build/riscv/rv32imafdc/../../../bsps/riscv/shared/start/start.S:86:(.bsp_start_text+0x5
>> > >     c): relocation truncated to fit: R_RISCV_GPREL_I against symbol
>> > >     `bsp_section_bss_size' defined in *ABS* section in /home/
>> > >     alan/rtems/test-build/rtems/build/riscv/rv32imafdc/testsuites/samples/minimum.exe
>> > >     collect2: error: ld returned 1 exit status
>> > >
>> > >     This seems to be similar to the error I get when I try to build the
>> > >     frdme310arty BSP with the testsuite and posix enabled:
>> > >     [4152/4326] Compiling testsuites/validation/tr-sem-surrender.c
>> > >     start.o: in function `.L0 ':
>> > >     /home/alan/rtems/test-build/rtems-tmp/build/riscv/frdme310arty/../../../bsps/riscv/shared/start/start.S:86:(.bsp_start_te
>> > >     xt+0x28): relocation truncated to fit: R_RISCV_GPREL_I against symbol
>> > >     `bsp_section_bss_size' defined in *ABS* section in
>> > >     /home/alan/rtems/test-build/rtems-tmp/build/riscv/frdme310arty/testsuites/validation/ts-validation-io-kernel.exe
>> > >     collect2: error: ld returned 1 exit status
>> > >
>> > >     I need to investigate this more.
>> > >
>> > >
>> > > There are two issues.
>> > >
>> > > (1) The test in question does not fit on this target and needs to be disabled.
>> > >
>> > > (2) Somewhere there is parsing of this output which may be able to be more helpful.
>> > >
>> > > Chris... any pointers on (2)? Can the output of bsp builder be improved?
>> >
>> > 1) There should be a log of all the build details. Check in that for the error.
>> >
>> > 2) Can you build it by hand and see the error?
>> >
>> > Chris


More information about the devel mailing list