Date: Sun, 15 Nov 2015 10:51:21 -0553.75 From: "William A. Mahaffey III" <wam@hiwaay.net> To: FreeBSD toolchain mailing list !!!! <freebsd-toolchain@freebsd.org> Subject: Re: amd64-gcc question Message-ID: <5648B6BF.3090002@hiwaay.net> In-Reply-To: <5647D267.4070808@hiwaay.net> References: <56449EF8.7070806@hiwaay.net> <5647D267.4070808@hiwaay.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 11/14/15 18:36, William A. Mahaffey III wrote: > 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=<lib> Display the full path to library <lib> > -print-prog-name=<prog> Display the full path to compiler component > <prog> > -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,<options> Pass comma-separated <options> on to the > assembler > -Wp,<options> Pass comma-separated <options> on to the > preprocessor > -Wl,<options> Pass comma-separated <options> on to the > linker > -Xassembler <arg> Pass <arg> on to the assembler > -Xpreprocessor <arg> Pass <arg> on to the preprocessor > -Xlinker <arg> Pass <arg> on to the linker > -save-temps Do not delete intermediate files > -save-temps=<arg> 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=<file> Override built-in specs with the contents > of <file> > -std=<standard> Assume that the input sources are for > <standard> > --sysroot=<directory> Use <directory> as the root directory for > headers > and libraries > -B <directory> Add <directory> 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 <file> Place the output into <file> > -pie Create a position independent executable > -shared Create a shared library > -x <language> 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<letter> 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. more new info: I pkg-upgraded to gcc49-4.9.4.s20151111 this A.M. & retried my compile, still nogo, same messages as above :-/ .... [wam@devbox, pre, 10:48:19am] 463 % which gcc49 /usr/local/bin/gcc49 [wam@devbox, pre, 10:48:25am] 464 % ll `!!` ll `which gcc49` -r-xr-xr-x 3 root wheel 846360 Nov 14 03:50 /usr/local/bin/gcc49* [wam@devbox, pre, 10:48:29am] 465 % 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, 10:48:37am] 466 % sysctl -a | grep -A8 -B1 hw.model hw.machine: amd64 hw.model: AMD A8-6500 APU with Radeon(tm) HD Graphics hw.ncpu: 4 hw.byteorder: 1234 hw.physmem: 33464279040 hw.usermem: 32952082432 hw.pagesize: 4096 hw.floatingpoint: 1 hw.machine_arch: amd64 hw.realmem: 35416702976 [wam@devbox, pre, 10:50:00am] 467 % *Any* clues 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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5648B6BF.3090002>