Date: Fri, 14 Apr 2017 20:12:08 -0700 From: Mark Millard <markmi@dsl-only.net> To: FreeBSD Ports <freebsd-ports@freebsd.org> Cc: Alexander Kabaev <kabaev@gmail.com> Subject: Re: lang/gcc6-aux for head beyond __nonnull related issues: vm_ooffset_t and vm_pindex_t related changes (and more) Message-ID: <910E4F4B-B4BC-434E-8B2A-E9860D5039F6@dsl-only.net> In-Reply-To: <86A361FC-8C3A-48A0-9C5D-7C1DA166D176@dsl-only.net> References: <86A361FC-8C3A-48A0-9C5D-7C1DA166D176@dsl-only.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2017-Apr-14, at 6:54 PM, Mark Millard <markmi at dsl-only.net> wrote: > Alexander Kabaev kabaev at gmail.com on Sat Apr 15 00:20:40 UTC 2017 > wrote: > . . . >=20 >> it was suggested multiple times that the whole fixinc step is >> ultimately harmful and serves no useful purpose and probably should = be >> disabled in built packages outright. Is there a reason not to do it? >> Even Redhat appears to do the slimming in their rpms: >>=20 >> mv $FULLPATH/include-fixed/syslimits.h $FULLPATH/include/syslimits.h >> mv $FULLPATH/include-fixed/limits.h $FULLPATH/include/limits.h >> for h in `find $FULLPATH/include -name \*.h`; do >> if grep -q 'It has been auto-edited by fixincludes from' $h; then >> rh=3D`grep -A2 'It has been auto-edited by fixincludes from' $h | >> tail -1 | sed 's|^.*"\(.*\)".*$|\1|'` diff -up $rh $h || : >> rm -f $h >> fi >> done >=20 > I'll note that: >=20 > http://www.linuxfromscratch.org/lfs/view/7.1/chapter06/gcc.html >=20 > reports as one of its steps (quote): >=20 > The fixincludes script is known to occasionally erroneously attempt > to "fix" the system headers installed so far. As the headers up to > this point are known to not require fixing, issue the following > command to prevent the fixincludes script from running: >=20 > sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in >=20 > (End quote) >=20 > So seems that disabling fixinc.sh's use is fairly common when > the headers are known to "not require fixing" (i.e., are known > to already be gcc compliant). Hmm. Looking around I found a more overall script. For the context that I tried it in the command was: # = /usr/obj/portswork/usr/ports/lang/gcc6-aux/work/bootstrap/libexec/gcc/aarc= h64-aux-freebsd12.0/6.3.1/install-tools/mkheaders = /usr/obj/portswork/usr/ports/lang/gcc6-aux/work/bootstrap In other words: bootstrap/libexec/gcc/*/*/install-tools/mkheaders is the script and looking on the web I find other references to using such as well. So I doubt that is all that special to gcc6-aux, although some of the content of the example might well be. It in turn uses fixinc.sh script(s). The mkheaders core loop looked like: for ml in `cat ${itoolsdatadir}/fixinc_list`; do sysroot_headers_suffix=3D`echo ${ml} | sed -e 's/;.*$//'` multi_dir=3D`echo ${ml} | sed -e 's/^[^;]*;//'` subincdir=3D${incdir}${multi_dir} . ${itoolsdatadir}/mkheaders.conf if [ x${STMP_FIXINC} !=3D x ] ; then TARGET_MACHINE=3D"${target}" target_canonical=3D"${target}" \ MACRO_LIST=3D"${itoolsdatadir}/macro_list" \ /bin/sh ./fixinc.sh ${subincdir} \ ${isysroot}${SYSTEM_HEADER_DIR} ${OTHER_FIXINCLUDES_DIRS} rm -f ${subincdir}/syslimits.h if [ -f ${subincdir}/limits.h ]; then mv ${subincdir}/limits.h ${subincdir}/syslimits.h else cp ${itoolsdatadir}/gsyslimits.h ${subincdir}/syslimits.h fi fi cp ${itoolsdatadir}/include${multi_dir}/limits.h ${subincdir} done This code provides context to fixinc.sh and deals with limits.h as well. So: http://www.linuxfromscratch.org/lfs/view/7.1/chapter06/gcc.html was not turning everything off. =3D=3D=3D Mark Millard markmi at dsl-only.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?910E4F4B-B4BC-434E-8B2A-E9860D5039F6>