Patches & Updates
Deploy and monitor updates to all of your systems through Sun from anywhere you have an Internet connection.
Start today with Knowledge-based software update services for Solaris and Linux.
Please review changes to Patch Access.
Patches:
Download Patch (3409825 bytes): HTTP 
Download Signed Patch (2430337 bytes): HTTP 
Signed Patch Documentation  Patch Finder

C 5.2: Patch for Forte Developer 6 Update 1 C compiler


Status: RELEASED
Patch Id: 109513-11
Summary: C 5.2: Patch for Forte Developer 6 Update 1 C compiler
Date:  Feb/03/2003
Installation Requirements:
None
Solaris Release: 2.6 7 8
Sun OS Release: 5.6 5.7 5.8
Unbundled Product: Forte Developer 6 Update 1
Unbundled Release: C_5.2
Xref: 
Topic: 
Relevant Architecture: sparc
BugId's fixed with this patch:

4375097 4375977 4387115 4390827 4405238 4414290 4415917 4423502 4424121 4427975 4458596 4473515 4486317 4522629 4524014 4639260 4766782

Changes incorporated in this version:

4766782

Patches accumulated and obsoleted by this patch:

Patches which conflict with this patch: 

Required Patches:

Obsoleted by:
 
Files Included in this Patch: 
<install_dir>/SUNWspro/WS6U1/bin/acc
<install_dir>/SUNWspro/WS6U1/bin/acomp
<install_dir>/SUNWspro/WS6U1/bin/acompegr
<install_dir>/SUNWspro/WS6U1/bin/c89
<install_dir>/SUNWspro/WS6U1/bin/cc
<install_dir>/SUNWspro/WS6U1/bin/lint
<install_dir>/SUNWspro/WS6U1/bin/lint1
<install_dir>/SUNWspro/WS6U1/bin/lint2
<install_dir>/SUNWspro/WS6U1/bin/lint2n
Problem Description: 
4766782 C file loops in acomp / ir_mkoverlap()
 
(from 109513-10)
 
4423502 Provide way to provide source name to be used in stabs and STT_FILE symbol
4639260 compiling via intermediary file -E > .i misses stabs info to .c file in .o
 
(from 109513-09)
 
4524014 lint too smart for own good (thinks 5.10 < 5.7)
 
(from 109513-08)
 
4522629 Disagreement between C++ and C when returning a struct (C violates ABI)
 
(from 109513-07)
 
4486317 switch statements don't work properly
 
(from 109513-06)
 
4427975 WS6 lint returns "internal compiler error:"
4473515 cc -native expands to -xtarget=generic on recent Sun boxes
 
(from 109513-05)
 
4458596 Invalid loop code generated when no opt or tcov flags,  causes Oracle failures
 
(from 109513-04)
 
4424121 S/ PROBLEM with a packed struct inside another packed struct.
 
(from 109513-03)
 
4415917 SC6.1 horks up a recursive stab for a K&R function with a short arg
4414290 C compile time doubled from compiler 4.2 to 5.2
 
(from 109513-02)
 
4390827 compiler asserts with -KPIC and optimization
4405238 ws6u1 compiler includes function names in .rodata section
4387115 SC5.2 (and 5.1) generate wrong code for long longs in 32bit mode
 
(from 109513-01)
 
4375097 Internal compiler error with -xdepend compiling Pro/E code
4375977 acomp crashes compiling Pro/E code in 64-bit mode
Revision History: 

109513-08 109513-01 109513-03 109513-05 109513-09 109513-07 109513-04 109513-02 109513-10 109513-06

Patch Installation Instructions: 
--------------------------------
For Solaris 2.0-2.6 releases, refer to the Install.info file and/or
the README within the patch for instructions on using the generic
'installpatch' and 'backoutpatch' scripts provided with each patch."
 
For Solaris 7-8 releases, refer to the man pages for instructions on
using 'patchadd' and 'patchrm' scripts provided with Solaris.
Any other special or non-generic installation instructions should be
described below as special instructions.  The following example
installs a patch to a standalone machine:
 
        example# patchadd /var/spool/patch/106326-01
 
The following example removes a patch from a standalone system:
 
        example# patchrm 104945-02
 
For additional examples please see the appropriate man pages.
Special Install Instructions: 
-----------------------------
 
	The fix for bugid 4522629 "Disagreement between C++ and C when
	returning a struct (C violates ABI)" in 111679-04 breaks binary
	compatibility on sparc V9 architectures only.  This is because
	C currently does not conform to the v9 ABI and the fix changes
	C to conform to the V9 ABI.  The codes affected will be any
	code with a function definition or function reference where the
	return value or any argument is defined as a small struct
	containing an array of floating-point type, i.e. float, double,
	or long double.  The incompatibility will exhibit undefined
	behavior if the function definition and the function reference
	are compiled using different C compilers.  The difference
	between those C compilers being one with this patch applied or
	one without this patch applied.  A small struct is defined as
	16 bytes for arguments, 32 bytes for return values.
 
	The patches that will introduce this incompatibility
	are 111679-04 for C Forte Developer 6 Update 2, and
	109513-08 for C Forte Developer 6 Update 1.
 
	Compatible compilers:
		C Forte Developer 6 Update 1 109513-08
		C Forte Developer 6 Update 2 111679-04
 
	Binaries compiled with earlier versions of these two compilers,
	or earlier versions of Forte Developer or DevPro compilers that
	have function definitions or function references where the
	return value or any argument is defined as a small struct
	containing an array of floating-point as shown in the following
	list will be incompatible with binaries compiled with the above
	listed compilers.
 
	Example of a small struct containing an array of floating-point
	type that will be incompatible:
 
	Functions returning a small struct containing a
	3 or 4 element array of double:
 
	    typedef struct {
		double tf[4];
	    } t4_st;
 
	    typedef struct {
		double tf[3];
	    } t3_st;
 
	Functions returning a small struct containing a
	3, 4, 5, 6, 7, or 8 element array of float
 
	    typedef struct {
		float tf[8];
	    } t8_st;
 
	    typedef struct {
		float tf[7];
	    } t7_st;
 
	    typedef struct {
		float tf[6];
	    } t6_st;
 
	    typedef struct {
		float tf[5];
	    } t5_st;
 
	    typedef struct {
		float tf[4];
	    } t4_st;
 
	    typedef struct {
		float tf[3];
	    } t3_st;
 
	Functions passing as an argument a small struct containing a 3,
	or 4 element array of float
 
	    typedef struct {
		float tf[4];
	    } t4_st;
 
	    typedef struct {
		float tf[3];
	    } t3_st;

README -- Last modified date:  Monday, February 3, 2003

 
 
Login Required

You must login and have a valid contract to access Sun's Premium content which includes:

  • Sun Alerts
  • Bugs
  • Patches
  • Solutions
  • White Papers
  • Documentation
  • Support Knowledge

Login Required

You must login and have a valid contract to access Sun's contracted features

Access Legend:

(Login to access)   Sun Contracted Content
(Login to access)   Sun Contracted Feature

Please make use of SunSolve Feedback application by selecting the floating [+] to provide feedback about this specific document.

Search

Article Details
Article ID : 109513-11
Article Type : Patch Descriptions
Last reviewed : 2003-02-03
Audience : PUBLIC
Keywords : C 5.2
Provide feedback  (help)
Page Tools
»  Print This Page
»  Email This Article
»  Bookmark This Article