|
Packit |
6c4009 |
----------------------------------------------------------
|
|
Packit |
6c4009 |
Notes on how to update libm based on Intel's libm releases
|
|
Packit |
6c4009 |
----------------------------------------------------------
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
This source code in this directory is currently based on Intel libm
|
|
Packit |
6c4009 |
v2.1 as available from:
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
http://www.intel.com/software/products/opensource/libraries/num.htm
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
To ease importing, fix some bugs, and simplify integration into libc,
|
|
Packit |
6c4009 |
it is also necessary to apply the patch at:
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
ftp://ftp.hpl.hp.com/pub/linux-ia64/intel-libm-041228.diff.gz
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
The expectation is that Intel will integrate most if not all of these
|
|
Packit |
6c4009 |
changes into future releases of libm, so this patching step can
|
|
Packit |
6c4009 |
hopefully be omitted in the future.
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
Once the patched libm sources are extracted in a directory $LIBM, they
|
|
Packit |
6c4009 |
can be imported into the libc source tree at $LIBC with the following
|
|
Packit |
6c4009 |
step:
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
$ cd $LIBC/src/sysdep/ia64/fpu
|
|
Packit |
6c4009 |
$ ./import_intel_libm $LIBM
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
This should produce a number of "Importing..." messages, without
|
|
Packit |
6c4009 |
showing any errors.
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
At this point, you should be able to build glibc in the usual fashion.
|
|
Packit |
6c4009 |
We assume you do this in directory $OBJ. Once the build has
|
|
Packit |
6c4009 |
completed, run "make check" to verify that all (math) checks succeed.
|
|
Packit |
6c4009 |
If these checks succeed, you should also run the following commands to
|
|
Packit |
6c4009 |
verify that the new libm doesn't pollute the name-space and has proper
|
|
Packit |
6c4009 |
size-info for the data objects:
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
$ cd $LIBC/src/sysdep/ia64/fpu
|
|
Packit |
6c4009 |
$ import_check $OBJ/math/
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
There should be no (unexpected) errors reported by this script.
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
As an optional step, you may also want to confirm that the new libm
|
|
Packit |
6c4009 |
exports the exact same global symbols as the old one.
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
If you want to see the changes introduced by the "import_intel_libm"
|
|
Packit |
6c4009 |
script, you can run the commands:
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
$ cd $LIBC/src/sysdep/ia64/fpu
|
|
Packit |
6c4009 |
$ import_diffs
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
That's it.
|