This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [v3] libstdc++/22554/23734


Ben,

	Thanks for applying the patch.  Unfortunately your modifications
to my proposed patch undo the benefit.  I'm sorry that I wasn't clearer in
the original bug report.

	When I split the headers up into sub-value, my stamp-assoc rule
installed each of the groups separately, e.g.,

        @mkdir -p ${assoc_subdirs}
        @cd ${assoc_builddir} && for h in ${assoc_headers1}; do \
            build_name=`echo $$h | sed -e "s|${assoc_srcdir}|.|g"` ;\
            $(LN_S) $$h $${build_name} || true ;\
          done
        @cd ${assoc_builddir} && for h in ${assoc_headers2}; do \
            build_name=`echo $$h | sed -e "s|${assoc_srcdir}|.|g"` ;\
            $(LN_S) $$h $${build_name} || true ;\
          done

Your rule concatenates all of the sub-commands into one large command:

        @if [ ! -d "${assoc_builddir}" ]; then \
            mkdir -p ${assoc_subdirs} ;\
        fi ;\
        if [ ! -f stamp-assoc ]; then \
          (cd ${assoc_builddir} && for h in ${assoc_headers1}; do \
            build_name=`echo $$h | sed -e "s|${assoc_srcdir}|.|g"` ;\
            $(LN_S) $$h $${build_name} || true ;\
          done) ;\
          (cd ${assoc_builddir} && for h in ${assoc_headers2}; do \
            build_name=`echo $$h | sed -e "s|${assoc_srcdir}|.|g"` ;\
            $(LN_S) $$h $${build_name} || true ;\
          done) ;\

which expands the variables and overflows the execvp limit in much the
same way as if the headers were all in one variable.  To avoid overflow,
the commands cannot be strung together.

David


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]