On 4/5/19 2:30 pm, Joel Sherrill wrote:
On Fri, May 3, 2019, 8:18 PM Chris Johns <chr...@rtems.org
<mailto:chr...@rtems.org>> wrote:
On 4/5/19 9:16 am, Joel Sherrill wrote:
> On Fri, May 3, 2019, 6:04 PM Chris Johns <chr...@rtems.org
<mailto:chr...@rtems.org>
> <mailto:chr...@rtems.org <mailto:chr...@rtems.org>>> wrote:
>
> On 4/5/19 7:44 am, Lou Woods wrote:
> > From: Lou Woods <lou.wo...@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
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel