e500 libm patches.

Steve Papacharalambous stevep at freescale.com
Mon Apr 2 10:37:20 UTC 2007


Hi Jocke,

The new patches cause a build failure in libm when building for classic
powerpc.

I've attached a patch to fix this,

Best regards,

Steve

On Sat, 2007-03-31 at 15:29 +0200, Joakim Tjernlund wrote:
> Merged, please check if I missed something.
> 
>  Jocke 
> 
> > -----Original Message-----
> > From: Steve Papacharalambous [mailto:stevep at freescale.com] 
> > Sent: den 20 mars 2007 08:55
> > To: Joakim Tjernlund
> > Cc: uclibc at uclibc.org
> > Subject: RE: e500 libm patches.
> > 
> > Hi Jocke,
> > 
> > Thanks for getting back to me about the e500 uClibc libm patches.
> > Please see in line answers,
> > 
> > Best regards,
> > 
> > Steve
> > 
> > On Sat, 2007-03-17 at 17:58 +0100, Joakim Tjernlund wrote: 
> > > Hi Steve
> > > 
> > > I started to look at your math patches again :)
> > > 
> > > > -----Original Message-----
> > > > From: Steve Papacharalambous [mailto:stevep at freescale.com] 
> > > > Sent: den 23 februari 2007 14:22
> > > > To: uclibc at uclibc.org
> > > > Cc: Joakim Tjernlund
> > > > Subject: e500 libm patches.
> > > > 
> > > > Hi,
> > > > 
> > > > I've done an initial port of the e500 libm fpu code to uclibc, and
> > > > modified them to include the comments from Joakim Tjernlund.
> > > > 
> > > > These patches can be downloaded from the website:
> > > > http://www.bitshrine.org/gpp/
> > > > 
> > > > The patches move all the existing code in libm/powerpc to
> > > > libm/powerpc/classic and put the e500 code in libm/e500/fpu
> > > > 
> > > > Patch #1:
> > > > 
> > http://www.bitshrine.org/gpp/uclibc-20070119-e500-libm-classic.patch
> > > > 
> > > > This patch move all the existing files in libm/powerpc to
> > > > libm/powerpc/classic.
> > > > 
> > > > Patch #2:
> > > > http://www.bitshrine.org/gpp/uclibc-20070216-e500-libm-e500.patch
> > > > 
> > > > This patch add e500 code to libm/powerpc/e500 and 
> > > > libm/powerpc/e500/fpu
> > > > 
> > > > Patch #3:
> > > > 
> > http://www.bitshrine.org/gpp/uclibc-20070216-e500-libm-string.patch
> > > > 
> > > > This patch add the e500 string conversion functions.
> > > 
> > > There are a lot of string funs(ato..., strto..) that nobody
> > > uses. Who is the user? gcc?
> > 
> > These will be used by the printf and scanf extensions for the e500 to
> > add long double support.  I haven't done the patches to the printf and
> > scanf functions needed to use these functions yet as I was 
> > waiting until
> > all the main e500 code had been merged.
> > 
> > However if you want to drop long double support for now we can just
> > ignore the patch: uclibc-20070216-e500-libm-string.patch  and we can
> > look at this later on.
> > 
> > > Is it possible to build a non math enabled uClibc system?
> > > 
> > 
> > Not sure what you mean here?  If you're asking whether uClibc can be
> > configured and built for e500 and soft float then the answer is yes.
> > 
> > > The file machine-ieeefp.h contains a lot of non powerpc
> > > code, why is this file placed here?
> > 
> > Mainly because this it is only used by the string functions and it was
> > in the local directory in the glibc port, so I left it in the 
> > same place
> > for the uClibc port.
> > 
> > However, if you want to ignore support for long double for the time
> > being and not apply the libm-string patch mentioned above, then
> > machine-ieeefp.h will not exist.
> > 
> > > 
> > > There also appers to be long double support in here
> > > and uClibc does not support long double yet and when
> > > it does there will probably be wrapper funs that
> > > maps the long double to just double to keep the
> > > size down. Lets drop long double for now.
> > 
> > The removal of the libm-string patch should remove all the long double
> > support code.
> > 
> > > 
> > > fprrest.c  fprsave.c are empty files 
> > > 
> > 
> > Deleted.
> > 
> > > There are a few:
> > > versioned_symbol (libm, __feclearexcept, feclearexcept, GLIBC_2_2); 
> > > that's is very glibc only ATM.
> > > 
> > 
> > Removed these lines.
> > 
> > > 
> > > Please send new patches relative these and not against SVN as I
> > > have already applied these patches locally.
> > 
> > OK.
> > 
> > New patch: uclibc-20070216-e500-libm-e500-02.patch attached.
> > 
> > Summary:
> > --------
> > 
> > 1/ uclibc-20070119-e500-libm-classic.patch is unchanged.
> > 
> > 2/ uclibc-20070216-e500-libm-e500.patch replaced with
> > uclibc-20070216-e500-libm-e500-02.patch which is attached to 
> > this email.
> > 
> > 3/ uclibc-20070216-e500-libm-string.patch no longer needed 
> > until support
> > for long double implemented.
> > 
> > > 
> > >  Jocke
> > > 
> > > > 
> > > > Patch #4:
> > > > 
> > http://www.bitshrine.org/gpp/uclibc-20070119-e500-libm-changes.patch
> > > > 
> > > > This patch make the changes to the Makefiles to build the 
> > appropriate
> > > > set of powerpc code.
> > > > 
> > > > I'd be willing to help with the effort to get the patches 
> > merged and
> > > > maintained,
> > > > 
> > > > 
> > > > Best regards,
> > > > 
> > > > Steve
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > 
> > 
> > 
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: classic-ppc-s_copysign.patch
Type: text/x-patch
Size: 588 bytes
Desc: not available
Url : http://lists.busybox.net/pipermail/uclibc/attachments/20070402/de71b4a5/attachment-0002.bin 


More information about the uClibc mailing list