aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1999-03-01 22:47:33 +0000
committerJeff Law <law@gcc.gnu.org>1999-03-01 15:47:33 -0700
commite4b2ca3109ee197efc085d609f5b1cf73c6c18d3 (patch)
tree424bf735fa7523082a3ae92abeea11857bf90ebd
parent753ef1cc469d99701eec82e32d1a6f3d544ab2bd (diff)
[multiple changes]
Tue Feb 2 23:38:35 1999 David O'Brien <obrien@FreeBSD.org> * i386/freebsd*.h now allows '$' in label names and does not use the PCC struct return method. Wed Dec 30 23:00:28 1998 David O'Brien <obrien@NUXI.com> * configure.in (FreeBSD ELF): Needs special crt files. * configure: Rebuilt. From-SVN: r25522
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/config/i386/freebsd-elf.h7
-rw-r--r--gcc/config/i386/freebsd.h4
-rwxr-xr-xgcc/configure3
-rw-r--r--gcc/configure.in1
5 files changed, 23 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 98ecef49913..ab90b9ff4aa 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,13 @@
+Mon Mar 1 23:38:20 1999 Jeffrey A Law (law@cygnus.com)
+
+ Tue Feb 2 23:38:35 1999 David O'Brien <obrien@FreeBSD.org>
+ * i386/freebsd*.h now allows '$' in label names and does not use the
+ PCC struct return method.
+
+ Wed Dec 30 23:00:28 1998 David O'Brien <obrien@NUXI.com>
+ * configure.in (FreeBSD ELF): Needs special crt files.
+ * configure: Rebuilt.
+
Sun Feb 28 14:47:53 1999 Arturo Montes <mitosys@colomsat.com.co>
* config/i386/t-sco5gas (crti.o): New target.
diff --git a/gcc/config/i386/freebsd-elf.h b/gcc/config/i386/freebsd-elf.h
index 3c1934b4cda..0a556fe01bd 100644
--- a/gcc/config/i386/freebsd-elf.h
+++ b/gcc/config/i386/freebsd-elf.h
@@ -26,8 +26,13 @@ Boston, MA 02111-1307, USA. */
/* The svr4 ABI for the i386 says that records and unions are returned
in memory. */
+/* On FreeBSD, we do not. */
#undef DEFAULT_PCC_STRUCT_RETURN
-#define DEFAULT_PCC_STRUCT_RETURN 1
+#define DEFAULT_PCC_STRUCT_RETURN 0
+
+/* This gets defined in tm.h->linux.h->svr4.h, and keeps us from using
+ libraries compiled with the native cc, so undef it. */
+#undef NO_DOLLAR_IN_LABEL
/* This is how to output an element of a case-vector that is relative.
This is only used for PIC code. See comments by the `casesi' insn in
diff --git a/gcc/config/i386/freebsd.h b/gcc/config/i386/freebsd.h
index df653ae3bd9..a9ce1bfeaa1 100644
--- a/gcc/config/i386/freebsd.h
+++ b/gcc/config/i386/freebsd.h
@@ -89,6 +89,10 @@ Boston, MA 02111-1307, USA. */
/* Don't default to pcc-struct-return, because gcc is the only compiler, and
we want to retain compatibility with older gcc versions. */
#define DEFAULT_PCC_STRUCT_RETURN 0
+
+/* Ensure we the configuration knows our system correctly so we can link with
+ libraries compiled with the native cc. */
+#undef NO_DOLLAR_IN_LABEL
/* i386 freebsd still uses old binutils that don't insert nops by default
when the .align directive demands to insert extra space in the text
diff --git a/gcc/configure b/gcc/configure
index 5987093f27c..25875cd8fe6 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -2854,6 +2854,7 @@ for machine in $build $host $target; do
tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
# On FreeBSD, the headers are already ok, except for math.h.
fixincludes=fixinc.wrap
+ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=i386/t-freebsd
gas=yes
gnu_ld=yes
@@ -5394,7 +5395,7 @@ fi
# Figure out what assembler alignment features are present.
echo $ac_n "checking assembler alignment features""... $ac_c" 1>&6
-echo "configure:5398: checking assembler alignment features" >&5
+echo "configure:5399: checking assembler alignment features" >&5
gcc_cv_as=
gcc_cv_as_alignment_features=
gcc_cv_as_gas_srcdir=`echo $srcdir | sed -e 's,gcc$,gas,'`
diff --git a/gcc/configure.in b/gcc/configure.in
index d840d57f618..713039f04ee 100644
--- a/gcc/configure.in
+++ b/gcc/configure.in
@@ -875,6 +875,7 @@ for machine in $build $host $target; do
tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
# On FreeBSD, the headers are already ok, except for math.h.
fixincludes=fixinc.wrap
+ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=i386/t-freebsd
gas=yes
gnu_ld=yes