1 ---------------------------------------------------------- 2 Notes on how to update libm based on Intel's libm releases 3 ---------------------------------------------------------- 4 5This source code in this directory is currently based on Intel libm 6v2.1 as available from: 7 8 http://www.intel.com/software/products/opensource/libraries/num.htm 9 10To ease importing, fix some bugs, and simplify integration into libc, 11it is also necessary to apply the patch at: 12 13 ftp://ftp.hpl.hp.com/pub/linux-ia64/intel-libm-041228.diff.gz 14 15The expectation is that Intel will integrate most if not all of these 16changes into future releases of libm, so this patching step can 17hopefully be omitted in the future. 18 19Once the patched libm sources are extracted in a directory $LIBM, they 20can be imported into the libc source tree at $LIBC with the following 21step: 22 23 $ cd $LIBC/src/sysdep/ia64/fpu 24 $ ./import_intel_libm $LIBM 25 26This should produce a number of "Importing..." messages, without 27showing any errors. 28 29At this point, you should be able to build glibc in the usual fashion. 30We assume you do this in directory $OBJ. Once the build has 31completed, run "make check" to verify that all (math) checks succeed. 32If these checks succeed, you should also run the following commands to 33verify that the new libm doesn't pollute the name-space and has proper 34size-info for the data objects: 35 36 $ cd $LIBC/src/sysdep/ia64/fpu 37 $ import_check $OBJ/math/ 38 39There should be no (unexpected) errors reported by this script. 40 41As an optional step, you may also want to confirm that the new libm 42exports the exact same global symbols as the old one. 43 44If you want to see the changes introduced by the "import_intel_libm" 45script, you can run the commands: 46 47 $ cd $LIBC/src/sysdep/ia64/fpu 48 $ import_diffs 49 50That's it. 51