From owner-freebsd-toolchain@freebsd.org Sun Nov 15 00:31:44 2015 Return-Path: Delivered-To: freebsd-toolchain@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B2FF6A2E422 for ; Sun, 15 Nov 2015 00:31:44 +0000 (UTC) (envelope-from wam@hiwaay.net) Received: from fly.hiwaay.net (fly.hiwaay.net [216.180.54.1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 76BA71283 for ; Sun, 15 Nov 2015 00:31:44 +0000 (UTC) (envelope-from wam@hiwaay.net) Received: from kabini1.local (dynamic-216-186-213-32.knology.net [216.186.213.32] (may be forged)) (authenticated bits=0) by fly.hiwaay.net (8.13.8/8.13.8/fly) with ESMTP id tAF0VZCj020490 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for ; Sat, 14 Nov 2015 18:31:36 -0600 Subject: Re: amd64-gcc question To: FreeBSD toolchain mailing list !!!! References: <56449EF8.7070806@hiwaay.net> From: "William A. Mahaffey III" Message-ID: <5647D267.4070808@hiwaay.net> Date: Sat, 14 Nov 2015 18:37:05 -0553.75 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <56449EF8.7070806@hiwaay.net> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Nov 2015 00:31:44 -0000 On 11/12/15 08:20, William A. Mahaffey III wrote: > > > Howdy, new to this list. I posted this to FreeBSD-users & was advised > to try this list or the GNU GCC list, so here goes: > > > I pkg-installed amd64-gcc over the weekend hoping for Graphite > (auto-loop parallelization) support, but no go. I looked around over > the weekend & found that there was no port for that package, only the > pkg. I just did a 'portsnap fetch upgrade' & there is now a port for > amd64-gcc, but it includes no files & no pkg-descr file. I determined > over the weekend that the gcc's from about V4.3 on can indeed be built > w/ Graphite support, but you need to do it manually. I found a post > dated 2010 from someone who did it under linux: > http://openwall.info/wiki/internal/gcc-local-build. I see no configure > files for any of the gcc ports (I have the entire ports tree > downloaded & local, & freshly updated as of a few min. ago). What is > the canonical/BPP (FreeBSD 9.3R) way of recompiling a port with > different config flags ? > > > I did find ports/pkgs for the 2 main components apparently needed for > Graphite support (cloog & ppl) & pkg-installed them over the weekend, > so I am ready to go on that front. > > > I have gotten as far as running 'make showconfig' in the various gcc* > & amd64-gcc directories to see what info I could get on default config > options. In all cases they gave options & said to run 'make config' to > change options. I didn't even see a 'config:' entry in the Makefiles > (probably included from elsewhere, but I didn't chase it). I only want > to make the minimum # of config mods necessary (trusting that pkg/port > maintainers probably know more than I about their various pkg's & > ports) to add the cloog & ppl support & recompile. > > > I have been using pkg almost exclusively to maintain my (now 3) > FreeBSD 9.3R boxen, except for recompiling the linux-c6 flash plugin > for this box whenever it get upgraded, so I have *no* experience with > getting more nitty-gritty w/ FreeBSD ports than that :-/. TIA & have a > good one. > > > BTW: > > [wam@devbox, pre, 8:19:58am] 676 % uname -a > FreeBSD devbox 9.3-RELEASE-p24 FreeBSD 9.3-RELEASE-p24 #0: Sat Aug 22 > 01:54:44 UTC 2015 > root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64 > [wam@devbox, pre, 8:20:00am] 677 % sysctl -A | grep -A1 -B1 model > hw.machine: amd64 > hw.model: AMD A8-6500 APU with Radeon(tm) HD Graphics > hw.ncpu: 4 > -- > dev.rgephy.0.%location: phyno=1 > dev.rgephy.0.%pnpinfo: oui=0xe04c model=0x0 rev=0x0 > dev.rgephy.0.%parent: miibus0 > [wam@devbox, pre, 8:20:12am] 678 % > > Updated info & a question or 2: [wam@devbox, pre, 1:07:58pm] 876 % ^8^9^ gcc49 -v --help Using built-in specs. COLLECT_GCC=gcc49 COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc49/gcc/x86_64-portbld-freebsd9.3/4.9.4/lto-wrapper Usage: gcc49 [options] file... Options: -pass-exit-codes Exit with highest error code from a phase --help Display this information --target-help Display target specific command line options --help={common|optimizers|params|target|warnings|[^]{joined|separate|undocumented}}[,...] Display specific types of command line options --version Display compiler version information -dumpspecs Display all of the built in spec strings -dumpversion Display the version of the compiler -dumpmachine Display the compiler's target processor -print-search-dirs Display the directories in the compiler's search path -print-libgcc-file-name Display the name of the compiler's companion library -print-file-name= Display the full path to library -print-prog-name= Display the full path to compiler component -print-multiarch Display the target's normalized GNU triplet, used as a component in the library path -print-multi-directory Display the root directory for versions of libgcc -print-multi-lib Display the mapping between command line options and multiple library search directories -print-multi-os-directory Display the relative path to OS libraries -print-sysroot Display the target libraries directory -print-sysroot-headers-suffix Display the sysroot suffix used to find headers -Wa, Pass comma-separated on to the assembler -Wp, Pass comma-separated on to the preprocessor -Wl, Pass comma-separated on to the linker -Xassembler Pass on to the assembler -Xpreprocessor Pass on to the preprocessor -Xlinker Pass on to the linker -save-temps Do not delete intermediate files -save-temps= Do not delete intermediate files -no-canonical-prefixes Do not canonicalize paths when building relative prefixes to other gcc components -pipe Use pipes rather than intermediate files -time Time the execution of each subprocess -specs= Override built-in specs with the contents of -std= Assume that the input sources are for --sysroot= Use as the root directory for headers and libraries -B Add to the compiler's search paths -v Display the programs invoked by the compiler -### Like -v but options quoted and commands not executed -E Preprocess only; do not compile, assemble or link -S Compile only; do not assemble or link -c Compile and assemble, but do not link -o Place the output into -pie Create a position independent executable -shared Create a shared library -x Specify the language of the following input files Permissible languages include: c c++ assembler none 'none' means revert to the default behavior of guessing the language based on the file's extension Options starting with -g, -f, -m, -O, -W, or --param are automatically passed on to the various sub-processes invoked by gcc49. In order to pass other options on to these processes the -W options must be used. Target: x86_64-portbld-freebsd9.3 Configured with: ./../gcc-4.9-20151028/configure --with-build-config=bootstrap-debug --disable-nls --enable-gnu-indirect-function --libdir=/usr/local/lib/gcc49 --libexecdir=/usr/local/libexec/gcc49 --program-suffix=49 --with-as=/usr/local/bin/as --with-gmp=/usr/local --with-gxx-include-dir=/usr/local/lib/gcc49/include/c++/ --with-ld=/usr/local/bin/ld --with-ppl=/usr/local/lib --with-cloog=/usr/local/lib --with-libiconv-prefix=/usr/local --with-pkgversion='FreeBSD Ports Collection' --with-system-zlib --disable-libgcj --enable-languages=c,c++,objc,fortran --prefix=/usr/local --localstatedir=/var --mandir=/usr/local/man --infodir=/usr/local/info/gcc49 --build=x86_64-portbld-freebsd9.3 Thread model: posix gcc version 4.9.4 20151028 (prerelease) (FreeBSD Ports Collection) COLLECT_GCC_OPTIONS='-v' '--help' '-mtune=generic' '-march=x86-64' /usr/local/libexec/gcc49/gcc/x86_64-portbld-freebsd9.3/4.9.4/cc1 -quiet -v help-dummy -quiet -dumpbase help-dummy -mtune=generic -march=x86-64 -auxbase help-dummy -version --help -o /tmp//cc0bsC4i.s The following options are specific to just the language Ada: None found. Use --help=Ada to show *all* the options supported by the Ada front-end .... & many more lines snipped. Observe that the config shows --with-ppl & --with-cloog, req'd for Graphite (auto-loop-parallelization), yet my compiles still fail out w/ the following: Beginning background make WAMGCC=49 all Initiated at 06:30:01 PM MCST on Saturday, November 14, 2015 MakeMPI: both --- MakeMPI: ../lib/R4/opteron/libmpi.a --- gcc49 -DNDEBUG -DUNDER_SCORE_SYS -DLOSE_GAMMAL -I../include -I~/inc -I../Properties -I../TEST -I../pre -march=opteron -mtune=opteron -O3 -fprefetch-loop-arrays -floo p-parallelize-all -ftree-parallelize-loops=4 -fopt-info -c mpi.c mpprime.c mpi.c:1:0: sorry, unimplemented: Graphite loop optimizations cannot be used (-fgraphite, -fgraphite-identity, -floop-block, -floop-interchange, -floop-strip-mine, -fl oop-parallelize-all, and -ftree-loop-linear) /* ^ mpprime.c:1:0: sorry, unimplemented: Graphite loop optimizations cannot be used (-fgraphite, -fgraphite-identity, -floop-block, -floop-interchange, -floop-strip-mine, -floop-parallelize-all, and -ftree-loop-linear) /* ^ *** [../lib/R4/opteron/libmpi.a] Error code 1 1 error `usual' not remade because of errors. i.e. no Graphite support. A few questions: 1. Is this list the proper forum for these questions :-) ? 2. Are ppl & cloog (both pkg-installed last wqeekend & ready to go) in fact all that is req'd for Graphite support to work ? 3. Did the port of gcc4.9 wind up removing the req'd code internally for Graphite support, so that even w/ the config properly setup, I still get no Graphite support ? This identical code (accessed via VPATH macro from Makefile over there) compiles elsewhere on my LAN under Intel icc/ifort & parallelizes where expected AOK. *Any* clues much appreciated. TIA & have a good one. -- William A. Mahaffey III ---------------------------------------------------------------------- "The M1 Garand is without doubt the finest implement of war ever devised by man." -- Gen. George S. Patton Jr.