On Sun, Nov 24, 2013 at 11:48:54PM -0500, Glen Barber wrote: > On Sun, Nov 24, 2013 at 08:41:48PM -0800, Manfred Antar wrote: > > At 08:17 PM 11/24/2013, Glen Barber wrote: > > >On Sun, Nov 24, 2013 at 05:29:14PM -0800, Manfred Antar wrote: > > >> adding -lc_nonshared to LAAD enables me to build /bin and /sbin statically > > >> /bin/csh/Makefile was the only one I had to change all the rest of /bin and /sbin built fine > > >> > > > > > >Hmm, I'm not sure if bin/csh/ should require -c_nonshared > > >unconditionally. > > > > > >I've done some testing with WITHOUT_DYNAMICROOT=1, WITHOUT_ICONV=1, > > >WITH_ICONV=1, WITH_DYNAMICROOT=1, and am getting different results with > > >regard to what iconv_*() are included... > > > > > >Glen > > > > > > > > > > I think it only needs it if you want a static csh. > > my src.conf : > > > > #WITHOUT_DYNAMICROOT=yes > > WITH_IDEA=yes > > # Don't die on warnings > > NO_WERROR= > > WERROR= > > WITH_GCC=yes > > WITH_GNUCXX=yes > > > > can you some kind of conditional > > > > if WITHOUT_DYNAMICROOT=yes then LADD+= -lc_nonshared > > > > Yes, that is what I am doing, but also getting unexpected results. > > Latest diff I tried is: > > Index: Makefile > =================================================================== > --- Makefile (revision 258538) > +++ Makefile (working copy) > _at__at_ -42,6 +42,9 _at__at_ > > DPADD= ${LIBTERMCAP} ${LIBCRYPT} > LDADD= -ltermcap -lcrypt > +.if ${MK_ICONV} != "no" && ${MK_DYNAMICROOT} != "yes" > +LDADD+= -lc_nonshared > +.endif > > LINKS= ${BINDIR}/csh ${BINDIR}/tcsh > No, this is wrong. As is, static linking is broken and the hack above only fixes one case. What is needed is inclusion of the lib/libc_nonshared object files into static libc.a. I am not sure how to express this in our build system.
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:44 UTC