Date: Wed, 21 Jan 2009 05:40:02 GMT From: Pegasus Mc Cleaft <ken@mthelicon.com> To: freebsd-ports-bugs@FreeBSD.org Subject: Re: ports/130715: New Port:devel/binutils-2.19 Message-ID: <200901210540.n0L5e2qU069733@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/130715; it has been noted by GNATS. From: Pegasus Mc Cleaft <ken@mthelicon.com> To: Alexander Best <alexbestms@math.uni-muenster.de> Cc: bug-followup@freebsd.org Subject: Re: ports/130715: New Port:devel/binutils-2.19 Date: Wed, 21 Jan 2009 05:32:39 +0000 On Tuesday 20 January 2009 21:53:56 Alexander Best wrote: > compiling and installing the port works fine for me. Firstly, thanks for testing the port. I really appreciate it. > the only problem i'm having is that i can't convince gcc to use the updated > version of `as` (gas). gcc seems to be using /usr/bin as a hardcoded path > to look for as `as`. only if gcc doesn't find the executable in that > directory it looks for it in the places specified in $PATH. <snip> > i don't know if this is just the case with `as` or with all the binutils > binaries. the only solution i've found so far is to rename /usr/bin/as to > something else so gcc cannot find it and searches for `as` in $PATH. If you are using the base compiler, this is probably normal. During the ./configure of the compiler, it either searches for or is told where to find ar, as, ld, etc.. You can override this by setting the appropriate environment variables either in your environment or in the /etc/make.conf: AR=/usr/local/bin/ar, etc. To be honest, using the new binutils with the base compiler really wont do very much for you, its useful if you also upgrade your compiler (to take advantage of processor features that the base tools are not aware of yet, IE: SSE4) What you might consider is building /usr/ports/lang/gcc43. When this port configures, it will find the new tools and use them by default. The above is the path I took, and in addition, I added the following to my /etc/make.conf to use it by default: <in /etc/make.conf> #CFLAGS= -O2 -fno-strict-aliasing -pipe -s #CXXFLAGS+= -fconserve-space CFLAGS= -march=native -O2 -fno-strict-aliasing -pipe -s CXXFLAGS+= -fconserve-space CC=gcc43 CXX=g++43 NO_CPU_CFLAGS= # Don't add -march=<cpu> to CFLAGS automatically NO_CPU_COPTFLAGS= # Don't add -march=<cpu> to COPTFLAGS automatically Now I comment out the first block when I am compiling from the ports tree, and comment out the second block (and uncomment the first) when compiling the world and kernel. Just be aware that using the later gcc will break many of the ports due to gcc's Header dependency cleanup. So, if you find something that is broken, just switch back to the first block and try again. ~Peg
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200901210540.n0L5e2qU069733>