Posts:
818
From:
San Francisco CA US
Registered:
3/9/05
|
|
|
|
gcc upgrade
Posted:
Sep 21, 2005 12:12 PM
|
|
I'm passing along the notice I sent yesterday so that those of you working away from the SWAN on gcc can get a feel for what's coming. The changes described here will be in build 25, but you can upgrade your compiler any time (the gcc and libm upgrade scripts described below aren't available off the SWAN, so install or upgrade to build 22 or newer from CD/DVD/network to get the required updates). If you're waiting for the build 22 gcc source drop, I'm assembling it as I write this.
For those on the SWAN, I'll be removing the compilers in /net/tonic-gate/tonic/gcc-tools today; these are no longer needed and in fact are too old to be used successfully. I'm also removing the onbld tools located there; the gate's are sufficient to build with gcc. That means that if your sources are current (either gcc-gate or onnv-gate) the only environment variable you need to set to do a full build with gcc is __GNUC; GNU_ROOT, ONBLD_TOOLS, and __GNUC64 need not be overridden. A preliminary build 24 snapshot and archives for all 8 compiler/arch/debug combinations are available at /net/tonic-gate/gcc-archives/.
My putback for
6237094 perl build should honor $(CC) 6272179 relocation processing should be bypassed when building libgenunix et al 6307198 Need to pass in -save_args option when the new gcc is available 6310534 new gcc options should be used to build ON
represents a flag day for all build machine maintainers and a heads-up for engineers debugging amd64 bits built with gcc.
Function arguments on amd64 ---------------------------
The save_args feature previously available for Vulcan builds is now enabled when building with gcc as well. As described at http://onnv.sfbay/links/flagdays/pages/2005071403.html, this feature allows inspection of function arguments when using mdb. You will need to use gcc from build 22 or newer; see "Build machines" below for more information on compiler requirements.
Build machines --------------
There are three separate upgrades required for all build machines:
- Linker - gcc compilers and related packages - SUNWlibm, for <iso/m
The easiest and fastest way to get all of these required changes is to install or upgrade to Nevada build 22 or later. Build 22 is available on the netinstall servers for both x86 and SPARC and has been released to the public as Solaris Express Community Edition. Other upgrade options are described in more detail below.
This putback introduces use of the -znoreloc linker flag for building kernel shared libraries such as libgenunix.so. These objects are not delivered and are used only for symbol resolution during the build, but your build will fail with messages like:
ld: fatal: option -z has illegal argument `noreloc' ld: fatal: Flags processing errors
if your linker is too old. Support for this flag was introduced in build 14; you can BFU to any recent build to obtain the needed fix.
This putback also introduces the use of new compiler flags during gcc builds. Support for these flags was incorporated into SUNWgcc and SUNWgccruntime in sfw build 22. If you attempt to build with an old gcc, your build will fail. If you cannot netinstall build 22 or later, you can upgrade to the latest gcc by doing:
# /ws/onnv-gate/public/bin/update_gcc
Finally, to support gcc builds of perl, a SUNWlibm containing the fix for
6285517 gcc 3.4.x/4.x c99 math intrinsics support needed
is required. This fix integrated into build 18. If you cannot upgrade to build 22 or newer, you can obtain this fix by doing:
# /ws/onnv-gate/public/bin/update_devpro
Please don't hesitate to contact me if you have further questions.
-- Keith M Wesolowski "Sir, we're surrounded!" Solaris Kernel Team "Excellent; we can attack in any direction!" _______________________________________________ tools-gcc mailing list tools-gcc at opensolaris dot org
|
|