[RFA] Avoid aliasing problems tickled by gcc-3.4.4

Jeff Johnston jjohnstn@redhat.com
Thu Jun 16 20:06:00 GMT 2005


Christopher Faylor wrote:
> On Thu, Jun 16, 2005 at 03:21:27PM -0400, Jeff Johnston wrote:
> 
>>Christopher Faylor wrote:
>>
>>>ping?
>>
>>Sorry about the delay.  Patch checked in.
> 
> 
> Thanks, Jeff.
> 
> 
>>>On Sat, Jun 11, 2005 at 03:23:01PM -0400, Christopher Faylor wrote:
>>>
>>>
>>>>[Reply-To set]
>>>>We've recently upgraded gcc to 3.4.4 on Cygwin and found what appear to
>>>>be a few aliasing problems in newlib source.  The patch below fixes this
>>>>with the use of unions to reference long double values rather than by
>>>>coercing a long double pointer to some other type of pointer.
>>>>
>>>>The change to vfprintf.c fixed one observed problem in cygwin.  I made
>>>>the change to ldtoa.c because -Wstrict-aliasing uncovered problems in
>>>>that file.
>>>>
>>>>There might be another, more elegant way to do this.  If so, I'd be happy
>>>>to entertain suggestions.  If not, I think these changes make sense.
>>>>
>>
>>The changes are fine.  They are according to the gcc postings on strict 
>>aliasing and type-punning.
> 
> 
> Really?  I wasn't really sure about the ldtoa.c changes since I didn't detect
> any obvious breakage there.
> 

Sorry, I am confused here.  I thought you said that using the 
-Wstrict-aliasing option uncovered problems in ldtoa.c.  The recommended 
way from gcc to handle such aliasing problems is to use a union.

> 
>>>>Meta-topic: Should "-Wstrict-aliasing" be turned on by default for newlib 
>>>>builds?
>>
>>It might be prudent to make it work cleanly for gcc4 before doing this.
> 
> 
> Ok.  Corinna has worked at getting cygwin building cleanly with gcc4.  I
> think one or both of us will probably get to doing that eventually.
> 
> cgf



More information about the Newlib mailing list