Re: svn commit: r297435 - head: still problems for stage 3 when gcc 4.2.1 is avoided (powerpc64 self-hosted build)
On 5/28/2016 12:03 PM, Adrian Chadd wrote: > [snip] I beg of you to *stop* snipping all context. > > hi, > > please don't patch the ports compiler assumptions about things like I said it was not right, and was an experiment. > this. We should be targeting external toolchains on OSes (eg macosx) > where it may already generate freebsd binaries and as such we should > be calling the compiler/linker with all the flags it needs. > > Having a patched compiler default for mips made things way, way harder > than it needed to be. > > -- Regards, Bryan Drewery bdrewery@freenode/EFNet ___ freebsd-toolchain@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"
Re: svn commit: r297435 - head: still problems for stage 3 when gcc 4.2.1 is avoided (powerpc64 self-hosted build)
On 2016-May-28, at 12:03 PM, Adrian Chadd wrote: > [snip] > > hi, > > please don't patch the ports compiler assumptions about things like > this. We should be targeting external toolchains on OSes (eg macosx) > where it may already generate freebsd binaries and as such we should > be calling the compiler/linker with all the flags it needs. > > Having a patched compiler default for mips made things way, way harder > than it needed to be. > > > > -adrian Are there specific technical examples of specific lessons learned from the "patched compiler default for mips" context? Is there an intent to use /usr/src/. . . materials for buildworld/buildkernel and the like from a non-FreeBSD context? Are there examples? Currently I'm just providing evidence that some FreeBSD committers have requested. I'm not a committer for FreeBSD or for upstream and will not be making any FreeBSD system or ports changes outside my personal context. I'm no direct risk to FreeBSD. So your note is more for the folks having me cross check xtoolchain and related behavior than for me. Notes on my context. . . (stop reading if you do not care) Unfortunately powerpc64 and powerpc still can not be clang based overall for buildworld/buildkernel. I will say that in my use of devel/powerpc64-xtoolchain-gcc (and so devel/powerpc64-gcc ) to have a libc++ based FreeBSD on powerpc64 I've always had to have some form of work around to avoid /usr/local/include causing buildworld failures from use of the wrong files for buildworld purposes. I have either: A) temporarily renamed files below /usr/local/include/ to avoid them being used (or otherwise blocked /usr/local/include access) or B) used C_INCLUDE_PATH and CPLUS_INCLUDE_PATH to cause the C/C++ compiles to look below /usr/include/ before looking below /usr/local/include/ . (I've also experimented with extra -I's and the like.) So far I've not used devel/powerpc64-gcc to build ports under FreeBSD. So far I've only built ports from a self-hosted context (no cross-built ports). So I tend to use something like lang/gcc49 to build ports. I'm not likely to adopt a technique for building the likes of lang/gcc49 that messes up using it to build ports. I normally self-host buildworld/buildkernel on a powerpc64 FreeBSD context, an odd use of devel/powerpc64-gcc . But I have at times also cross-built from an amd64 FreeBSD context and it also can have the "wrong files for buildworld" problem for /usr/local/include/ in FreeBSD. I've never tried buildworld/buildkernel from a non-FreeBSD context and so have never built devel/powerpc64-gcc or anything like its configuration outside FreeBSD. === Mark Millard markmi at dsl-only.net ___ freebsd-toolchain@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"
Re: svn commit: r297435 - head: still problems for stage 3 when gcc 4.2.1 is avoided (powerpc64 self-hosted build)
[snip] hi, please don't patch the ports compiler assumptions about things like this. We should be targeting external toolchains on OSes (eg macosx) where it may already generate freebsd binaries and as such we should be calling the compiler/linker with all the flags it needs. Having a patched compiler default for mips made things way, way harder than it needed to be. -adrian ___ freebsd-toolchain@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"
Re: svn commit: r297435 - head: still problems for stage 3 when gcc 4.2.1 is avoided (powerpc64 self-hosted build)
[Top post of failure to get rid of /usr/local/include from devel/powerpc64-gcc search list.] I have tried: > # svnlite diff /usr/ports/devel/powerpc64-gcc/ > Index: /usr/ports/devel/powerpc64-gcc/Makefile > === > --- /usr/ports/devel/powerpc64-gcc/Makefile (revision 415874) > +++ /usr/ports/devel/powerpc64-gcc/Makefile (working copy) > @@ -43,6 +43,7 @@ > CONFIGURE_ARGS+=--target=${GCC_TARGET} --disable-nls > --enable-languages=c,c++ \ > --without-headers \ > --with-gmp=${LOCALBASE} \ > + > --with-local-prefix=${LOCALBASE}/lib/gcc/${GCC_TARGET}/${PORTVERSION} \ > --with-pkgversion="FreeBSD Ports Collection for > ${PKGNAMEPREFIX:C/-//g}" \ > --with-system-zlib \ > --with-as=${LOCALBASE}/bin/${BU_PREFIX}-as \ which when rebuilt in a powerpc64 context shows up with: --with-local-prefix=/usr/local/lib/gcc/powerpc64-portbld-freebsd11.0/5.3.0 in the "Configured with" (from using -v): > Target: powerpc64-portbld-freebsd11.0 > Configured with: > /usr/obj/portswork/usr/ports/devel/powerpc64-gcc/work/gcc-5.3.0/configure > --target=powerpc64-portbld-freebsd11.0 --disable-nls --enable-languages=c,c++ > --without-headers --with-gmp=/usr/local > --with-local-prefix=/usr/local/lib/gcc/powerpc64-portbld-freebsd11.0/5.3.0 > --with-pkgversion='FreeBSD Ports Collection for powerpc64' --with-system-zlib > --with-as=/usr/local/bin/powerpc64-freebsd-as > --with-ld=/usr/local/bin/powerpc64-freebsd-ld --prefix=/usr/local > --localstatedir=/var --mandir=/usr/local/man --infodir=/usr/local/info/ > --build=powerpc64-portbld-freebsd11.0 But /usr/local/include still shows up in the search list, for example: > ignoring nonexistent directory > "/usr/obj/xtoolchain_noclang/powerpc.powerpc64/usr/src/tmp/usr/local/lib/gcc/powerpc64-portbld-freebsd11.0/5.3.0/include" > ignoring nonexistent directory > "/usr/local/lib/gcc/powerpc64-portbld-freebsd11.0/5.3.0/../../../../powerpc64-portbld-freebsd11.0/include" > ignoring duplicate directory > "/usr/obj/xtoolchain_noclang/powerpc.powerpc64/usr/src/tmp/usr/include" > #include "..." search starts here: > #include <...> search starts here: > /usr/src/lib/msun/powerpc > /usr/src/lib/msun/src > /usr/src/lib/libc/include > /usr/src/lib/libc/powerpc > /usr/obj/xtoolchain_noclang/powerpc.powerpc64/usr/src/tmp/usr/include > /usr/local/lib/gcc/powerpc64-portbld-freebsd11.0/5.3.0/include > /usr/local/include > /usr/local/lib/gcc/powerpc64-portbld-freebsd11.0/5.3.0/include-fixed > End of search list. [Despite some prior mis-wording in other messages: The line match for --with-local-prefix= 's value with "/include" appended matches the line prior to /usr/local/include in the search list, not the following line.] So far I'm unsuccessful at avoiding /usr/local/include being in the search list. I'm still at the stage of C_INCLUDE_PAPTH and CPLUS_INCLUDE_PATH being the best means that I've found to force /usr/include based paths to win when there are conflicts in /usr/local/include from ports that have been built. So far I'm only doing the experiment with devel/powerpc64-gcc (used as the so-called "cross compiler" in my powerpc64 self-hosted context), not with the lang/gcc49 that I use as the system compiler. For lang/gcc49 I'm still using C_INCLUDE_PAPTH and CPLUS_INCLUDE_PATH to avoid /usr/local/include based paths from finding files. In part this is because I expect port building problems if I use lang/gcc49 to build ports without lang/gcc49 having /usr/local/include implicitly. I do not use devel/powerpc64-gcc to build ports. === Mark Millard markmi at dsl-only.net On 2016-May-28, at 2:24 AM, Mark Millard wrote: > --with-local-prefix=/usr was insufficient to avoid /usr/local/include in the > search list in powerpc64-gcc: > >> ignoring duplicate directory >> "/usr/obj/xtoolchain_noclang/powerpc.powerpc64/usr/src/tmp/usr/include" >> ignoring nonexistent directory >> "/usr/local/lib/gcc/powerpc64-portbld-freebsd11.0/5.3.0/../../../../powerpc64-portbld-freebsd11.0/include" >> ignoring duplicate directory >> "/usr/obj/xtoolchain_noclang/powerpc.powerpc64/usr/src/tmp/usr/include" >> #include "..." search starts here: >> #include <...> search starts here: >> /usr/src/gnu/lib/libssp/libssp_nonshared/.. >> /usr/src/gnu/lib/libssp/libssp_nonshared/../../../../contrib/gcclibs/libssp >> /usr/src/gnu/lib/libssp/libssp_nonshared/../../../../contrib/gcclibs/include >> /usr/obj/xtoolchain_noclang/powerpc.powerpc64/usr/src/tmp/usr/include >> /usr/local/lib/gcc/powerpc64-portbld-freebsd11.0/5.3.0/include >> /usr/local/include >> /usr/local/lib/gcc/powerpc64-portbld-freebsd11.0/5.3.0/include-fixed >> End of search list. > > Which came from (which shows the --with-local-prefix=/usr use): > >> Configured with: >> /usr/obj/portswork/usr/ports/devel/powerpc64-gcc/work/gcc-5.3.0/configure >>
Re: 11.0-CURRENT -r300770 libc++ update vs. lang/powerpc64-xtoolchain-gcc: no go [self hosted powerpc64 context]
On 28 May 2016, at 06:18, Mark Millardwrote: ... > The -r300886 powerpc64 devel/powerpc64-gcc combination with no clang build > included has failed: > > --- all_subdir_usr.bin --- > endian.h(111): warning: bitwise operation on signed value possibly > nonportable [117] > endian.h(127): warning: extra bits set to 0 in conversion of 'unsigned int' > to 'unsigned long long', op & [309] > types.h(316): warning: bitwise operation on signed value possibly nonportable > [117] > types.h(317): warning: bitwise operation on signed value possibly nonportable > [117] > types.h(318): warning: bitwise operation on signed value possibly nonportable > [117] > types.h(319): warning: bitwise operation on signed value possibly nonportable > [117] > types.h(355): warning: conversion to 'unsigned int' due to prototype, arg #1 > [259] > types.h(355): warning: conversion from 'unsigned long long' to 'unsigned int' > may lose accuracy, arg #1 [298] > types.h(355): warning: conversion to 'unsigned int' due to prototype, arg #1 > [259] > types.h(355): warning: conversion from 'unsigned long long' to 'unsigned int' > may lose accuracy, arg #1 [298] > stdarg.h(40): syntax error [249] > stdarg.h(98): syntax error [249] > llib-lposix(307): syntax error [249] > llib-lposix(308): syntax error [249] > llib-lposix(309): syntax error [249] > llib-lposix(309): cannot recover from previous errors [224] > *** [llib-lposix.ln] Error code 1 For me, r300886 didn't build at all, when I tried: CROSS_TOOLCHAIN=powerpc64-gcc TARGET=powerpc TARGET_ARCH=powerpc64 \ __MAKE_CONF=/dev/null SRCCONF=/dev/null make buildworld It always errors out at the very first file built for the libraries stage: -- >>> stage 4.2: building libraries -- cd /usr/src; CROSS_TOOLCHAIN="powerpc64-gcc" MAKEOBJDIRPREFIX=/usr/obj MACHINE_ARCH=i386 MACHINE=i386 CPUTYPE= GROFF_BIN_PATH=/usr/obj/usr/src/tmp/legacy/usr/bin GROFF_FONT_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/groff_font GROFF_TMAC_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/tmac CC="/usr/local/bin/powerpc64-portbld-freebsd11.0-gcc --sysroot=/usr/obj/usr/src/tmp -B/usr/local/powerpc64-freebsd/bin/" CXX="/usr/local/bin/powerpc64-portbld-freebsd11.0-g++ --sysroot=/usr/obj/usr/src/tmp -B/usr/local/powerpc64-freebsd/bin/" CPP="/usr/local/bin/powerpc64-portbld-freebsd11.0-cpp --sysroot=/usr/obj/usr/src/tmp -B/usr/local/powerpc64-freebsd/bin/" AS="/usr/local/powerpc64-freebsd/bin/as" AR="/usr/local/powerpc64-freebsd/bin/ar" LD="/usr/local/powerpc64-freebsd/bin/ld" NM=/usr/local/powerpc64-freebsd/bin/nm OBJDUMP=/usr/local/powerpc64-freebsd/bin/objdump OBJCOPY="/usr/local/powerpc64-freebsd/bin/objcopy" RANLIB=/usr/local/powerpc64-freebsd/bin/ranlib STRINGS=/usr/local/powerpc64-freebsd/bin/ SIZE="/usr/local/powerpc64-freebsd/bin/size" INSTALL="sh /usr/src/tools/install.sh" PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/bin:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin make -f Makefile.inc1 DESTDIR=/usr/obj/usr/src/tmp -DNO_FSCHG MK_HTML=no -DNO_LINT MK_MAN=no MK_PROFILE=no MK_TESTS=no MK_TESTS_SUPPORT=yes libraries cd /usr/src; make -f Makefile.inc1 _prereq_libs; make -f Makefile.inc1 _startup_libs; make -f Makefile.inc1 _prebuild_libs; make -f Makefile.inc1 _generic_libs ===> gnu/lib/libssp/libssp_nonshared (obj,all,install) building static ssp_nonshared library /usr/local/powerpc64-freebsd/bin/ar -crD libssp_nonshared.a `NM='/usr/local/powerpc64-freebsd/bin/nm' NMFLAGS='' lorder ssp-local.o | tsort -q` /usr/local/powerpc64-freebsd/bin/ranlib -D libssp_nonshared.a sh /usr/src/tools/install.sh -C -o root -g wheel -m 444 libssp_nonshared.a /usr/obj/usr/src/tmp/usr/lib/ ===> gnu/lib/libgcc (obj,all,install) LC_ALL=C awk -f /usr/src/gnu/lib/libgcc/../../../contrib/gcc/opt-functions.awk -f /usr/src/gnu/lib/libgcc/../../../contrib/gcc/opth-gen.awk < optionlist > options.h /usr/local/bin/powerpc64-portbld-freebsd11.0-gcc --sysroot=/usr/obj/usr/src/tmp -B/usr/local/powerpc64-freebsd/bin/ -c -O2 -pipe -DIN_GCC -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -DHAVE_GTHR_DEFAULT -I/usr/src/gnu/lib/libgcc/../../../contrib/gcclibs/include -I/usr/src/gnu/lib/libgcc/../../../contrib/gcc/config -I/usr/src/gnu/lib/libgcc/../../../contrib/gcc -I. -I/usr/src/gnu/lib/libgcc/../../usr.bin/cc/cc_tools -std=gnu99 -Wno-error=unused-function -Wno-error=enum-compare -Wno-error=logical-not-parentheses -Wno-error=bool-compare -Wno-error=uninitialized -Wno-error=array-bounds -Wno-error=clobbered -Wno-error=cast-align -Wno-error=extra -Wno-error=attributes -Wno-error=inline -Wno-error=unused-but-set-variable -Wno-error=unused-value -Wno-error=strict-aliasing -Wno-error=address -fvisibility=hidden -DHIDE_EXPORTS -fPIC -fexceptions