make-rules/shared-macros.mk
changeset 109 07cc6a1a08ad
parent 108 2cfc48b87a85
child 116 ae6a90899b42
--- a/make-rules/shared-macros.mk	Fri Feb 25 10:07:58 2011 -0800
+++ b/make-rules/shared-macros.mk	Fri Feb 25 14:21:38 2011 -0800
@@ -287,6 +287,18 @@
 studio_XREGS.i386 =	-xregs=no%frameptr
 studio_XREGS =		$(studio_XREGS.$(MACH))
 
+# Set data alignment on sparc to reasonable values, 8 byte alignment for 32 bit
+# objects and 16 byte alignment for 64 bit objects.  This is added to CFLAGS by
+# default.
+studio_ALIGN.sparc.32 =	-xmemalign=8s
+studio_ALIGN.sparc.64 =	-xmemalign=16s
+studio_ALIGN =		$(studio_ALIGN.$(MACH).$(BITS))
+
+# Studio shorthand for building multi-threaded code,  enables -D_REENTRANT and
+# linking with threadin support.  This is added to CFLAGS by default, override
+# studio_MT to turn this off.
+studio_MT =		-mt
+
 # See CPP_XPG6MODE comment above.
 studio_XPG6MODE =	$(studio_C99MODE) $(CPP_XPG6MODE)
 XPG6MODE =		$(studio_XPG6MODE)
@@ -297,8 +309,8 @@
 # should not be necessary to add CFLAGS to any environment other than the
 # configure environment.
 CFLAGS.studio +=	$(studio_OPT) $(studio_XBITS) $(studio_XREGS) \
-			$(studio_IROPTS) $(studio_C99MODE)
-
+			$(studio_IROPTS) $(studio_C99MODE) $(studio_ALIGN) \
+			$(studio_MT)
 
 #
 # GNU C compiler flag sets to ease feature selection.  Add the required