|
|
Flag day - build machine upgrades, gcc changesDate: Tue, 20 Sep 2005 15:07:16 -0700 From: Keith M Wesolowski <keith dot wesolowski at sun dot com> To: on-all at sun dot com, onnv-gate at onnv dot eng dot sun dot com Subject: Flag day - build machine upgrades, gcc changes If you don't maintain a build machine or build ON with gcc, you can ignore the rest of this message. 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/math_c99.h> 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!" |