summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Lowe <richlowe@richlowe.net>2012-06-25 21:03:47 -0400
committerRichard Lowe <richlowe@richlowe.net>2012-06-25 21:03:47 -0400
commit1a5ea5323390ffdf86f171d238b41e381d2292b9 (patch)
treed20709b641b6059042e071da73d1ffb159ae6fb6
parentbde2df36223c26750e6e5e801907d885e088ee30 (diff)
downloadillumos-joyent-1a5ea5323390ffdf86f171d238b41e381d2292b9.tar.gz
3132 remove support for building with gcc 3
Reviewed by: Garrett D'Amore <garrett@damore.org> Reviewed by: Robert Mustacchi <rm@joyent.com> Reviewed by: Milan Jurik <milan.jurik@xylab.cz> Approved by: Eric Schrock <eric.schrock@delphix.com>
-rw-r--r--usr/src/Makefile.master23
-rw-r--r--usr/src/Makefile.master.643
-rw-r--r--usr/src/cmd/krb5/krb5kdc/Makefile2
-rw-r--r--usr/src/cmd/lp/Makefile.lp3
-rw-r--r--usr/src/lib/libc/sparc/Makefile.com4
-rw-r--r--usr/src/lib/libc/sparcv9/Makefile.com4
-rw-r--r--usr/src/lib/scsi/libses/Makefile.defs7
-rw-r--r--usr/src/lib/scsi/libsmp/Makefile.com7
-rw-r--r--usr/src/pkg/manifests/developer-opensolaris-osnet.mf2
9 files changed, 8 insertions, 47 deletions
diff --git a/usr/src/Makefile.master b/usr/src/Makefile.master
index 415097ee7b..151e87aa29 100644
--- a/usr/src/Makefile.master
+++ b/usr/src/Makefile.master
@@ -116,22 +116,11 @@ $(TONICBUILD)CLOSEDROOT= $(ROOT)-closed
# compiler is primary, and control the versions of the given compilers to be
# used. They also allow compiler-version specific Makefile fragments.
#
-# __SSNEXT when set to the empty string enables options specific to the 'next'
-# version of the Sun Studio compiler.
-#
-# __GNUC3 when the empty string uses and refers to GCC 3.x, it is the default.
-# __GNUC4 when the empty string uses and refers to GCC 4.x.
__GNUC= $(POUND_SIGN)
$(__GNUC)__SUNC= $(POUND_SIGN)
__GNUC64= $(__GNUC)
-__SSNEXT= $(POUND_SIGN)
-
-__GNUC3=
-__GNUC4= $(POUND_SIGN)
-$(__GNUC4)__GNUC3= $(POUND_SIGN)
-
# CLOSED is the root of the tree that contains source which isn't released
# as open source
CLOSED= $(SRC)/../closed
@@ -149,8 +138,7 @@ SFWINCDIR= $(SFW_ROOT)/include
SFWLIBDIR= $(SFW_ROOT)/lib
SFWLIBDIR64= $(SFW_ROOT)/lib/$(MACH64)
-$(__GNUC3)GCC_ROOT= $(SFW_ROOT)
-$(__GNUC4)GCC_ROOT= /opt/gcc/4.4.4
+GCC_ROOT= /opt/gcc/4.4.4
GCCLIBDIR= $(GCC_ROOT)/lib
GCCLIBDIR64= $(GCC_ROOT)/lib/$(MACH64)
@@ -340,14 +328,14 @@ CCABS32= -Wc,-xcode=abs32
#
# generate v9 code which tolerates callers using the v7 ABI, for the sake of
# system calls.
-$(__GNUC4)CC32BITCALLERS= -_gcc=-massume-32bit-callers
+CC32BITCALLERS= -_gcc=-massume-32bit-callers
# GCC, especially, is increasingly beginning to auto-inline functions and
# sadly does so separately not under the general -fno-inline-functions
# Additionally, we wish to prevent optimisations which cause GCC to clone
# functions -- in particular, these may cause unhelpful symbols to be
# emitted instead of function names
-$(__GNUC4)CCNOAUTOINLINE= -_gcc=-fno-inline-small-functions \
+CCNOAUTOINLINE= -_gcc=-fno-inline-small-functions \
-_gcc=-fno-inline-functions-called-once \
-_gcc=-fno-ipa-cp
@@ -415,10 +403,7 @@ XSTRCONST= -xstrconst
CERRWARN = -errtags=yes -errwarn=%all
CERRWARN += -erroff=E_EMPTY_TRANSLATION_UNIT
CERRWARN += -erroff=E_STATEMENT_NOT_REACHED
-
-# Normally cw(1) would translate -v into a set of options including these
-# but as they're GCC 4.x specific, we can't do that
-$(__GNUC4)CERRWARN += -_gcc=-Wno-address -_gcc=-Wno-array-bounds
+CERRWARN += -_gcc=-Wno-address -_gcc=-Wno-array-bounds
#
# turn warnings into errors (C++)
diff --git a/usr/src/Makefile.master.64 b/usr/src/Makefile.master.64
index db5a45031b..319d3fdfdc 100644
--- a/usr/src/Makefile.master.64
+++ b/usr/src/Makefile.master.64
@@ -82,8 +82,7 @@ MAPFILECLASS= -64
CCNEEDED = -lCrun
$(__GNUC64)CCNEEDED = -L$(GCCLIBDIR) -R$(GCCLIBDIR) -lstdc++
-$(__GNUC64)$(__GNUC3)CCNEEDED += -lgcc_s_$(MACH64)
-$(__GNUC64)$(__GNUC4)CCNEEDED += -lgcc_s
+$(__GNUC64)CCNEEDED += -lgcc_s
BUILDCCC.SO= $(CCC) $(CCFLAGS) -o $@ $(GSHARED) $(DYNFLAGS) \
$(PICS) $(EXTPICS) $(LDLIBS) $(CCNEEDED)
diff --git a/usr/src/cmd/krb5/krb5kdc/Makefile b/usr/src/cmd/krb5/krb5kdc/Makefile
index 72d02fb2d2..b4ddfb587a 100644
--- a/usr/src/cmd/krb5/krb5kdc/Makefile
+++ b/usr/src/cmd/krb5/krb5kdc/Makefile
@@ -42,7 +42,7 @@ ROOTMANIFESTDIR= $(ROOTSVCNETWORKSECURITY)
CFLAGS += $(CCOPTS) $(DEFS) $(LOCALINCLUDE)
# The SET macros in network.c will be mis-optimized if GCC believes it
# may rely on undefined signed overflow behaviour.
-$(__GNUC4)CFLAGS += -_gcc=-fno-strict-overflow
+CFLAGS += -_gcc=-fno-strict-overflow
CPPFLAGS += \
-I$(SRC)/lib/gss_mechs/mech_krb5/include \
diff --git a/usr/src/cmd/lp/Makefile.lp b/usr/src/cmd/lp/Makefile.lp
index 2ca2a176d9..a650c0323a 100644
--- a/usr/src/cmd/lp/Makefile.lp
+++ b/usr/src/cmd/lp/Makefile.lp
@@ -84,8 +84,7 @@ LINTREQ = $(LPLIB)/requests/llib-llpreq.ln
LINTSEC = $(LPLIB)/secure/llib-llpsec.ln
LINTUSR = $(LPLIB)/users/llib-llpusr.ln
-$(__GNUC3)CERRWARN += -_gcc=-Wno-sequence-points
-$(__GNUC4)CERRWARN += -_gcc=-Wno-sequence-point
+CERRWARN += -_gcc=-Wno-sequence-point
all:= TARGET= all
install:= TARGET= install
diff --git a/usr/src/lib/libc/sparc/Makefile.com b/usr/src/lib/libc/sparc/Makefile.com
index b19adadaea..6088b2231b 100644
--- a/usr/src/lib/libc/sparc/Makefile.com
+++ b/usr/src/lib/libc/sparc/Makefile.com
@@ -1204,10 +1204,6 @@ TIL= \
$(TIL:%=pics/%) := CFLAGS += $(LIBCBASE)/threads/sparc.il
-# This hack is needed because sparc GCC3 generates DWARF data about TLS which
-# The Sun assembler cannot process
-$(__GNUC3)pics/tls_data.o := CTF_FLAGS += -_gcc=-g1
-
# special kludge for inlines with 'cas':
pics/rwlock.o pics/synch.o pics/lwp.o pics/door_calls.o := \
sparc_CFLAGS += -_gcc=-Wa,-xarch=v8plus
diff --git a/usr/src/lib/libc/sparcv9/Makefile.com b/usr/src/lib/libc/sparcv9/Makefile.com
index 82438151c7..a6168090b5 100644
--- a/usr/src/lib/libc/sparcv9/Makefile.com
+++ b/usr/src/lib/libc/sparcv9/Makefile.com
@@ -1136,10 +1136,6 @@ TIL= \
$(TIL:%=pics/%) := CFLAGS64 += $(LIBCBASE)/threads/sparcv9.il
-# This hack is needed because sparc GCC3 generates DWARF data about TLS which
-# The Sun assembler cannot process
-$(__GNUC3)pics/tls_data.o := CTF_FLAGS += -_gcc=-g1
-
# Files in fp, port/fp subdirectories that need base.il inline template
IL= \
__flt_decim.o \
diff --git a/usr/src/lib/scsi/libses/Makefile.defs b/usr/src/lib/scsi/libses/Makefile.defs
index c4772bd68f..af9632f137 100644
--- a/usr/src/lib/scsi/libses/Makefile.defs
+++ b/usr/src/lib/scsi/libses/Makefile.defs
@@ -49,11 +49,4 @@ LIBS = $(DYNLIB) $(LINTLIB)
CLEANFILES += \
../common/ses_errno.c
-#
-# On SPARC, gcc 3.4 emits DWARF assembler directives for TLS data that are not
-# understood by the Sun assembler. Until this problem is fixed, we turn down
-# the amount of generated debugging information, which seems to do the trick.
-#
-$(__GNUC3)$(SPARC_BLD)CTF_FLAGS += -_gcc=-g1
-
$(LINTLIB) := SRCS = $(SRCDIR)/$(LINTSRC)
diff --git a/usr/src/lib/scsi/libsmp/Makefile.com b/usr/src/lib/scsi/libsmp/Makefile.com
index 4316313877..0e75a719c4 100644
--- a/usr/src/lib/scsi/libsmp/Makefile.com
+++ b/usr/src/lib/scsi/libsmp/Makefile.com
@@ -50,13 +50,6 @@ ROOTLIBDIR64 = $(ROOTSCSILIBDIR)/$(MACH64)
CLEANFILES += \
../common/smp_errno.c
-#
-# On SPARC, gcc 3.4 emits DWARF assembler directives for TLS data that are not
-# understood by the Sun assembler. Until this problem is fixed, we turn down
-# the amount of generated debugging information, which seems to do the trick.
-#
-$(__GNUC3)$(SPARC_BLD)CTF_FLAGS += -_gcc=-g1
-
$(LINTLIB) := SRCS = $(SRCDIR)/$(LINTSRC)
.KEEP_STATE:
diff --git a/usr/src/pkg/manifests/developer-opensolaris-osnet.mf b/usr/src/pkg/manifests/developer-opensolaris-osnet.mf
index d05fbd7291..9632c7d614 100644
--- a/usr/src/pkg/manifests/developer-opensolaris-osnet.mf
+++ b/usr/src/pkg/manifests/developer-opensolaris-osnet.mf
@@ -34,7 +34,7 @@ depend fmri=data/docbook@0.5.11-0.133 type=require
depend fmri=developer/astdev@0.5.11-0.133 type=require
depend fmri=developer/build/make@0.5.11-0.133 type=require
depend fmri=developer/build/onbld@0.5.11-0.133 type=require
-depend fmri=developer/gcc-3@3.4.3-0.133 type=require
+$(i386_ONLY)depend fmri=developer/gnu-binutils@2.19-0.133 type=require
depend fmri=developer/java/jdk@0.5.11-0.133 type=require
depend fmri=developer/lexer/flex@2.5.35-0.133 type=require
depend fmri=developer/object-file@0.5.11-0.133 type=require