[PATCH 2/2] rcmd.c: Removed references to unsupported functions

Chris Johns chrisj at rtems.org
Sat May 4 06:37:06 UTC 2019


On 4/5/19 2:30 pm, Joel Sherrill wrote:
> On Fri, May 3, 2019, 8:18 PM Chris Johns <chrisj at rtems.org 
> <mailto:chrisj at rtems.org>> wrote:
>     On 4/5/19 9:16 am, Joel Sherrill wrote:
>      > On Fri, May 3, 2019, 6:04 PM Chris Johns <chrisj at rtems.org
>     <mailto:chrisj at rtems.org>
>      > <mailto:chrisj at rtems.org <mailto:chrisj at rtems.org>>> wrote:
>      >
>      >     On 4/5/19 7:44 am, Lou Woods wrote:
>      >      > From: Lou Woods <Lou.Woods at OARCorp.com>
>      >      >
>      >      > rcmdsh() and innetgr() are referenced by rcmd, but aren’t
>     available
>      >      > in libbsd and are unresolvable external symbols when
>     libbsd.a is
>      >      > processed by the RTL.
>      >
>      >     Why does this not show up when we statically link?
>      >
>      >     I wonder if this is related to separate sections where a
>     function in a
>      >     file is present but no used and it not linked but is with the
>     RTL?
>      >
>      > Statically linking an exe normally wouldn't have hit this unless you
>      > referenced rcmd. Ld wouldn't have pulled it out of the library.
> 
>     Oh your app is referencing `rcmd`?
> 
> No. Lou tracked down the symbols that the RTL showed as undefined. That 
> led us to look into rcmd and rcmdsh. I spotted the fork/exec and 
> realized some chunk had to be removed. Rcmdsh in whole and parts of rcmd.

What do the module dependencies look like? See ...

https://docs.rtems.org/branches/master/shell/dl_commands.html#rtl-list

I am sorry I am not following why the rcmd.c file is being loaded. If 
nothing references any symbols in it it should not be loaded it.

>      > FWIW rcmdsh.* needs to be dropped out of the build. It requires
>      > fork/exec so will never work.
> 
>     Should this change be a build system change or is this needed plus the
>     build system change?
> 
> Both. Rcmdsh.* should not be in libbsd.
> 

Does the `#if __rtems__` formatting conform to CONTRIBUTING.md ? It 
looks to me like some extra lines and `#else` with out `__rtems__`.

Chris



More information about the devel mailing list