summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/config.gcc14
-rw-r--r--gcc/config/netbsd-aout.h3
-rw-r--r--gcc/config/netbsd.h10
4 files changed, 24 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b1c440326ae..c41bf5f8186 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,13 @@
+2002-01-28 Richard Earnshaw <rearnsha@arm.com>
+
+ * config.gcc (*-*-netbsdelf*): Set up generic parameters.
+ (*-*-netbsd*): Always use collect2. Remove collect2 settings from
+ other non-elf netbsd config frags.
+ * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
+ collect2 will does that.
+ * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
+ shared-lib frobbing will work.
+
2002-01-28 Kazu Hirata <kazu@hxi.com>
* config/h8300/h8300.h: Fix formatting.
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 63cef2b6c82..85e5f28f2a9 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -319,11 +319,19 @@ case $machine in
tmake_file="${tmake_file} t-openbsd-thread"
fi
;;
+*-*-netbsdelf*)
+ tmake_file="t-libc-ok t-netbsd"
+ xm_defines=POSIX
+ gas=yes
+ gnu_ld=yes
+ ;;
*-*-netbsd*)
+ # Traditional a.out systems need to use collect2
tmake_file="t-libc-ok t-netbsd"
xm_defines=POSIX
gas=yes
gnu_ld=yes
+ use_collect2=yes
;;
*-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*)
# This is the place-holder for the generic a.out configuration
@@ -632,7 +640,6 @@ arm*-*-freebsd*|strongarm*-*-freebsd*)
arm*-*-netbsd*)
tm_file="arm/aout.h arm/arm.h netbsd.h netbsd-aout.h arm/netbsd.h"
tmake_file="t-netbsd arm/t-netbsd"
- use_collect2=yes
;;
arm*-*-linux*) # ARM GNU/Linux with ELF
tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/linux-gas.h arm/linux-elf.h"
@@ -1150,7 +1157,6 @@ i[34567]86-*-netbsdelf*)
i[34567]86-*-netbsd*)
tm_file=i386/netbsd.h
tmake_file=t-netbsd
- use_collect2=yes
;;
x86_64-*-netbsd*)
tm_file="${tm_file} i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h"
@@ -1936,7 +1942,6 @@ m68k*-*-netbsd*)
tm_file=m68k/netbsd.h
tmake_file=t-netbsd
float_format=m68k
- use_collect2=yes
;;
m68k*-*-openbsd*)
# needed to unconfuse gdb
@@ -2606,7 +2611,6 @@ ns32k-*-netbsd*)
tm_file=ns32k/netbsd.h
# On NetBSD, the headers are already okay, except for math.h.
tmake_file=t-netbsd
- use_collect2=yes
;;
pdp11-*-bsd)
tm_file="${tm_file} pdp11/2bsd.h"
@@ -2917,7 +2921,6 @@ sparc-*-aout*)
sparc-*-netbsd*)
tm_file="${tm_file} sparc/aout.h netbsd.h netbsd-aout.h sparc/netbsd.h"
tmake_file=t-netbsd
- use_collect2=yes
;;
sparc-*-openbsd*)
tm_file="sparc/sparc.h ${tm_file}"
@@ -3232,7 +3235,6 @@ vax-*-netbsd*)
tm_file="${tm_file} netbsd.h netbsd-aout.h vax/netbsd.h"
tmake_file=t-netbsd
float_format=vax
- use_collect2=yes
;;
vax-*-openbsd*)
tm_file="vax/vax.h vax/openbsd1.h openbsd.h ${tm_file}"
diff --git a/gcc/config/netbsd-aout.h b/gcc/config/netbsd-aout.h
index 55a9bf4c623..a853df54420 100644
--- a/gcc/config/netbsd-aout.h
+++ b/gcc/config/netbsd-aout.h
@@ -45,8 +45,7 @@ Boston, MA 02111-1307, USA. */
%{p:mcrt0%O%s} \
%{!p: \
%{!static:crt0%O%s} \
- %{static:scrt0%O%s}}}} \
- %{shared:c++rt0%O%s}"
+ %{static:scrt0%O%s}}}}"
/* Provide a LINK_SPEC appropriate for NetBSD a.out. Here we provide
support for the special GCC options -static, -assert, and -nostdlib. */
diff --git a/gcc/config/netbsd.h b/gcc/config/netbsd.h
index 5894174791e..fba341bc0cb 100644
--- a/gcc/config/netbsd.h
+++ b/gcc/config/netbsd.h
@@ -70,12 +70,12 @@
"%{!symbolic: \
%{!shared: \
%{!p: \
- %{!pg:-lgcc}}} \
- %{shared:-lgcc_pic} \
- %{p:-lgcc_p} \
- %{pg:-lgcc_p}}"
+ %{!pg: -lgcc}}} \
+ %{shared: -lgcc_pic} \
+ %{p: -lgcc_p} \
+ %{pg: -lgcc_p}}"
#else
-#define LIBGCC_SPEC "%{!shared:%{!symbolic:-lgcc}}"
+#define LIBGCC_SPEC "%{!shared:%{!symbolic: -lgcc}}"
#endif
/* When building shared libraries, the initialization and finalization