diff options
author | levine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1997-06-17 20:10:50 +0000 |
---|---|---|
committer | levine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1997-06-17 20:10:50 +0000 |
commit | 7d959b773a21a7577ba943de25655b559bae6471 (patch) | |
tree | de1c3a5aa71dc8ccfcec85c35031344d37faadde | |
parent | a79867bb0d3a2c31474fa19f912a0a41165ad0a4 (diff) | |
download | ATCD-7d959b773a21a7577ba943de25655b559bae6471.tar.gz |
enabled exception handling, because the patched Sun C++ 4.2 seems to work properly with it
-rw-r--r-- | ace/config-sunos5.5-sunc++-4.x.h | 17 | ||||
-rw-r--r-- | include/makeinclude/platform_sunos5_sunc++.GNU | 8 |
2 files changed, 16 insertions, 9 deletions
diff --git a/ace/config-sunos5.5-sunc++-4.x.h b/ace/config-sunos5.5-sunc++-4.x.h index 93c03f82498..53156e2e1c9 100644 --- a/ace/config-sunos5.5-sunc++-4.x.h +++ b/ace/config-sunos5.5-sunc++-4.x.h @@ -17,6 +17,16 @@ // Sun C++ 4.2 (and beyond) supports template specialization. # define ACE_TEMPLATES_REQUIRE_SPECIALIZATION # define ACE_TEMPLATES_REQUIRE_SOURCE + + // ACE_HAS_EXCEPTIONS precludes -noex in + // include/makeinclude/platform_macros.GNU. But beware, we have + // seen problems with exception handling on multiprocessor + // UltraSparcs: threaded executables core dump when threads exit. + // This problem does not seem to appear on single-processor UltraSparcs. + // And, it is solved with the application of patch + // 104631-02 "C++ 4.2: Jumbo Patch for C++ 4.2 on Solaris SPARC" + // to Sun C++ 4.2. +# define ACE_HAS_EXCEPTIONS # endif #endif /* __SUNPRO_CC */ @@ -28,13 +38,6 @@ #define ACE_HAS_TEMPLATE_SPECIALIZATION -// ACE_HAS_EXCEPTIONS precludes -noex, but without -noex causes problems -// with Sun C++ 4.1/4.2 on multiprocessor UltraSparcs: threaded -// executables core dump when threads exit. This problem does not seem -// to appear on single-processor UltraSparcs. So until exception handling -// gets fixed on MP machines, we can't use this with Sun C++ 4.1/4.2 . . . -// #define ACE_HAS_EXCEPTIONS - // Platform supports pread() and pwrite() #define ACE_HAS_P_READ_WRITE diff --git a/include/makeinclude/platform_sunos5_sunc++.GNU b/include/makeinclude/platform_sunos5_sunc++.GNU index 324f16e43d8..2f0435e50a7 100644 --- a/include/makeinclude/platform_sunos5_sunc++.GNU +++ b/include/makeinclude/platform_sunos5_sunc++.GNU @@ -17,11 +17,15 @@ CC = cc CXX = CC CFLAGS += $(DCFLAGS) -mt -#### Exception handling breaks on MP machines, see config*h files. +#### Exception handling breaks on MP machines prior to Sun C++ 4.2 +#### with jumbo patch 104631-02, see ace/config-sunos5.5-sunc++-4.x.h. +#### If you are using a version of Sun C++ prior to 4,2, or haven't +#### applied that jumbo patch to your 4.2, then add "-noex" to +#### CCFLAGS below. #### -pta instantiates all template members, which makes libraries bigger. #### But, it's supposed to put each member into it's own .o, so executable #### size should not be penalized. -CCFLAGS += $(CFLAGS) -noex -pta +CCFLAGS += $(CFLAGS) -pta DCFLAGS += -g DLD = $(CXX) LD = $(CXX) |