diff options
author | obrien <obrien@FreeBSD.org> | 2000-12-08 21:27:29 +0800 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 2000-12-08 21:27:29 +0800 |
commit | 50f9eaf6264ad45d1aa210e7cc06f2f4ecdd3e44 (patch) | |
tree | 8d8e9a2f0227ed0e104e4fc91d4b582d5416cdb7 /lang/compaq-cc/files | |
parent | f3a5be8c5fe2123dda6910439c17b4bbd8721a1f (diff) | |
download | freebsd-ports-gnome-50f9eaf6264ad45d1aa210e7cc06f2f4ecdd3e44.tar.gz freebsd-ports-gnome-50f9eaf6264ad45d1aa210e7cc06f2f4ecdd3e44.tar.zst freebsd-ports-gnome-50f9eaf6264ad45d1aa210e7cc06f2f4ecdd3e44.zip |
* Remove the Linux -dynamic-linker specification from the `ld' execution.
Luckly our `ld' knows the name of our dynamic linker and DTRT.
* Remove the DECpaq shared libs from the standard search dir as linking
with them gives unresolved symbols. Thus we'll use the .a's for now.
* Add the symbols __errno_location, __ieee_get_fp_control, and
__ieee_set_fp_control (mapped to native interfaces) to the static
Compaq Portable Math Library. Thus all symbols are resolved.
This allows `CC=ccc' to build fully native FreeBSD Alpha binaries.
Diffstat (limited to 'lang/compaq-cc/files')
-rw-r--r-- | lang/compaq-cc/files/errno_location.c | 35 | ||||
-rw-r--r-- | lang/compaq-cc/files/ieee_fp_control.c | 50 |
2 files changed, 85 insertions, 0 deletions
diff --git a/lang/compaq-cc/files/errno_location.c b/lang/compaq-cc/files/errno_location.c new file mode 100644 index 000000000000..c7b297537a4d --- /dev/null +++ b/lang/compaq-cc/files/errno_location.c @@ -0,0 +1,35 @@ +/*- + * Copyright (c) 2000 Andrew Gallatin and David O'Brien + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include <errno.h> + +int * +__errno_location(void) +{ + return &errno; +} diff --git a/lang/compaq-cc/files/ieee_fp_control.c b/lang/compaq-cc/files/ieee_fp_control.c new file mode 100644 index 000000000000..be6acd189476 --- /dev/null +++ b/lang/compaq-cc/files/ieee_fp_control.c @@ -0,0 +1,50 @@ +/*- + * Copyright (c) 2000 Andrew Gallatin and David O'Brien + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +/* + * A pretty detailed Digital description of ieee_get_fp_control is at: + * http://decline.epfl.ch/docs/DUV40E/HTML/MAN/MAN3/1089____.HTM + * and examples at: + * http://www.physik.fu-berlin.de/DOKU/DEC_Unix_4.0/HTML/AA-PS30D-TET1_html/peg12.html + */ + +#include <sys/types.h> +#include <ieeefp.h> + +u_int64_t +__ieee_get_fp_control(void) +{ + return fpgetmask(); +} + +void +__ieee_set_fp_control(u_int64_t fpc) +{ + fpsetmask((fp_except_t)fpc); + return; +} |