Can't build minimal buildset for libbsd on IMXRT
Christian Mauderer
oss at c-mauderer.de
Fri Jun 11 13:22:42 UTC 2021
Hello Peter,
On 11/06/2021 15:12, dufault at hda.com wrote:
>
>
>> On Jun 11, 2021, at 08:07 , Christian Mauderer <oss at c-mauderer.de> wrote:
>>
>> Hello Peter,
>>
>> On 11/06/2021 13:23, Peter Dufault wrote:
>>> I tried to build the "minimal" buildset for the IMXRT BSP and I get undefined INET6 references - _bsd_inet6_pfil_hook, _bsd_ip6stat, etc. Only two executables are created - swi01.exe and timeout01.exe. For "default" (almost) everything builds except for a few that won't fit in RAM but I don't currently have enough RAM to run anything so I figured my first step should be to build "minimal".
>>
>> I just tried it with beagle bone black: The minimal buildset builds fine. Can you tell from the output who is referencing the inet6_pfil_hook and ip6stat?
>
> Let's look at inet6_pfil_hook. It's only called in "if_bridge.c" by bridge_pfil, bridge_fragment, bridge_dummynet, bridge_broadcast, bridge_ioctl, bridge_ioctl_add, bridge_forward, and bridge_input.
Yes, right. But if I didn't miss one, they should be all called only if
INET6 is defined (in rtemsbsd/include/rtems/bsd/local/opt_inet6.h). In
the minimal buildset that shouldn't be the case.
Do you have a previously installed libbsd in your prefix that might mess
with the build?
>
> These are all statics. Is there something going on with inlining and "garbage collecting"? Do I have C flags messed up? I'm not sure how this is works as I see that "_bsd_inet6_pfil_hook" is defined in ip6_input.c and the object is in the built libbsd.a. I see there's some -Bstatic and -Bdynamic stuff going on in the link.
The ip6_input shouldn't even be in the minimal buildset. Minimal doesn't
have IPv6 support.
Best regards
Christian
>
> Start of the link of netshell01. I can send more info if you'd like, I don't want to swamp the list.
>
> [1147/1178] Linking build/arm-rtems6-imxrt1052-minimal/netshell01.exe
> 06:29:59 runner ['/opt/flatland/opt/rtems-6/bin/arm-rtems6-gcc', '-mthumb', '-mcpu=cortex-m7', '-mfpu=fpv5-d16', '-mfloat-abi=hard', '-I/opt/flatland/opt/rtems-6/arm-rtems6/imxrt1052/lib/include', '-MMD', '-B/opt/flatland/opt/rtems-6/arm-rtems6/imxrt1052/lib', '-qrtems', '-Wl,--gc-sections', 'testsuite/netshell01/test_main.c.65.o', 'testsuite/netshell01/shellconfig.c.65.o', '-o/home/dufault/development/rtems/rtems-libbsd/build/arm-rtems6-imxrt1052-minimal/netshell01.exe', '-Wl,-Bstatic', '-L.', '-lbsd', '-Wl,-Bdynamic', '-lbsd', '-lm', '-lz', '-lrtemstest']
> /opt/flatland/opt/rtems-6/lib/gcc/arm-rtems6/10.3.1/../../../../arm-rtems6/bin/ld: ./libbsd.a(if_bridge.c.17.o): in function `bridge_pfil':
> /home/dufault/development/rtems/rtems-libbsd/build/arm-rtems6-imxrt1052-minimal/../../freebsd/sys/net/if_bridge.c:3346: undefined reference to `_bsd_inet6_pfil_hook'
>
>
>>
>>> The configure command is:
>>> ./waf configure --rtems-tools=bla/rtems-6 --rtems=bla/rtems-6 --rtems-bsps=arm/imxrt1052 --buildset=buildset/minimal.ini
>>
>> Looks OK.
>>
>>> The libbsd is a recent 6-freebsd=12
>>> is "minimal" built regularly? Any hints?
>>
>> No it is not build regularly. I think the buildset are often forgotten if someone works on libbsd. For example "everything" doesn't build at the moment.
>>
>> Best regards
>>
>> Christian
>>
>>> Peter
>>> -----------------
>>> Peter Dufault
>>> HD Associates, Inc. Software and System Engineering
>>> This email is delivered through the public internet using protocols subject to interception and tampering.
>>> _______________________________________________
>>> devel mailing list
>>> devel at rtems.org
>>> http://lists.rtems.org/mailman/listinfo/devel
>
> Peter
> -----------------
> Peter Dufault
> HD Associates, Inc. Software and System Engineering
>
> This email is delivered through the public internet using protocols subject to interception and tampering.
>
More information about the devel
mailing list