aboutsummaryrefslogtreecommitdiffstats
path: root/lang/compaq-cc/files
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2000-12-08 21:27:29 +0800
committerobrien <obrien@FreeBSD.org>2000-12-08 21:27:29 +0800
commit50f9eaf6264ad45d1aa210e7cc06f2f4ecdd3e44 (patch)
tree8d8e9a2f0227ed0e104e4fc91d4b582d5416cdb7 /lang/compaq-cc/files
parentf3a5be8c5fe2123dda6910439c17b4bbd8721a1f (diff)
downloadfreebsd-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.c35
-rw-r--r--lang/compaq-cc/files/ieee_fp_control.c50
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;
+}