Re: amd64-gcc question

2015-11-15 Thread William A. Mahaffey III

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 
r...@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-helpDisplay target specific command line options
--help={common|optimizers|params|target|warnings|[^]{joined|separate|undocumented}}[,...] 


   Display specific types of command line options
  --versionDisplay 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
  -XlinkerPass  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
  -pipeUse pipes rather than 

Re: [toolchain] amd64-gcc question

2015-11-15 Thread William A. Mahaffey III

On 11/15/15 13:58, Gerald Pfeifer wrote:

On Thu, 12 Nov 2015, William A. Mahaffey III wrote:

I pkg-installed amd64-gcc over the weekend hoping for Graphite
(auto-loop parallelization) support, but no go.

When you say "amd64-gcc" where did you obtain that from?  As a
FreeBSD port/package, or somewhere else?


I pkg-installed it originally, but as of last Monday, there was a port 
as well, I did a 'portsnap fetch update' (all box-stock ports configs) & 
there it was 





just did a 'portsnap fetch upgrade' & there is now a port
for amd64-gcc, but it includes no files & no pkg-descr file.

This is a little weird.  I have packaged GCC 4.6 (lang/gcc46),
GCC 4.7 (lang/gcc47), GCC 4.8 (lang/gcc48), GCC 4.9 (lang/gcc49),
GCC 5 (lang/gcc5 and lang/gcc5-devel) and GCC 6 snapshot (lang/gcc6-devel)
as well as the "canonical" version of GCC (lang/gcc, currently
GCC 4.8 and in the process of being moved to GCC 4.9).

All of these build and package on amd64, feature pkg-descr, etc.
And as a FreeBSD user leveraging the official FreeBSD Ports Collection
is the recommended approach.

None of them would be called amd64-gcc or similar, though.


amd64-gcc-5.2.0
amd64-xtoolchain-gcc-0.1

is what pkg calls them 




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).

Let's focus on lang/gcc5-devel, which is the most reasonable version
to enable Graphite for right now since GCC 5 is the current release
series and hence most stable, but also advanced, and the -devel port
is more suitable for making changes like this than the "production"
variant.

And indeed lang/gcc5-devel/Makefile already had the following lines,
which is how options handling actually works:

   OPTIONS_DEFINE= BOOTSTRAP
   OPTIONS_DEFINE_i386=JAVA
   OPTIONS_DEFINE_amd64=   JAVA
   OPTIONS_DEFAULT=BOOTSTRAP
   OPTIONS_DEFAULT_i386=   JAVA
   OPTIONS_DEFAULT_amd64=  JAVA


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.

If you check out the GCC release notes at
   https://gcc.gnu.org/gcc-5/changes.html
you will find that "The Graphite framework for loop optimizations no
longer requires the CLooG library, only ISL version 0.14 (recommended)
or 0.12.2."

I just committed changes to lang/gcc6-devel and lang/gcc5-devel to
add support for Graphite with a new option GRAPHITE.  This is off
by default, but you can enable it, rebuild the port, and then have
what you've been looking for.

Gerald



*Excellent*, thanks muchly :-). I'll buy you a beer next time we meet 
;-) 


--

William A. Mahaffey III

 --

"The M1 Garand is without doubt the finest implement of war
 ever devised by man."
   -- Gen. George S. Patton Jr.

___
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: [toolchain] amd64-gcc question

2015-11-15 Thread Baptiste Daroussin
On Sun, Nov 15, 2015 at 04:04:07PM -0553, William A. Mahaffey III wrote:
> On 11/15/15 13:58, Gerald Pfeifer wrote:
> > On Thu, 12 Nov 2015, William A. Mahaffey III wrote:
> >> I pkg-installed amd64-gcc over the weekend hoping for Graphite
> >> (auto-loop parallelization) support, but no go.
> > When you say "amd64-gcc" where did you obtain that from?  As a
> > FreeBSD port/package, or somewhere else?
> 
> I pkg-installed it originally, but as of last Monday, there was a port 
> as well, I did a 'portsnap fetch update' (all box-stock ports configs) & 
> there it was 
> 
> >
> >> just did a 'portsnap fetch upgrade' & there is now a port
> >> for amd64-gcc, but it includes no files & no pkg-descr file.
> > This is a little weird.  I have packaged GCC 4.6 (lang/gcc46),
> > GCC 4.7 (lang/gcc47), GCC 4.8 (lang/gcc48), GCC 4.9 (lang/gcc49),
> > GCC 5 (lang/gcc5 and lang/gcc5-devel) and GCC 6 snapshot (lang/gcc6-devel)
> > as well as the "canonical" version of GCC (lang/gcc, currently
> > GCC 4.8 and in the process of being moved to GCC 4.9).
> >
> > All of these build and package on amd64, feature pkg-descr, etc.
> > And as a FreeBSD user leveraging the official FreeBSD Ports Collection
> > is the recommended approach.
> >
> > None of them would be called amd64-gcc or similar, though.
> 
> amd64-gcc-5.2.0
> amd64-xtoolchain-gcc-0.1
> 
> is what pkg calls them 

Those are cross toolchain packages to cross build base with modern gcc

Bapt


signature.asc
Description: PGP signature