libgcc-math

2007-01-11 Thread Mark Mitchell
Richard --

The GCC SC has been discussing libgcc-math.  RMS says that he will need
to consider the issue, and that he has other things he wants to do
first.  So, I'm afraid that we can't give you a good timeline for a
resolution of the question, but I can say that some progress is being made.

FYI,

-- 
Mark Mitchell
CodeSourcery
[EMAIL PROTECTED]
(650) 331-3385 x713


Re: libgcc-math

2007-01-11 Thread Gabriel Dos Reis
Mark Mitchell [EMAIL PROTECTED] writes:

| Richard --
| 
| The GCC SC has been discussing libgcc-math.  RMS says that he will need
| to consider the issue, and that he has other things he wants to do
| first.  So, I'm afraid that we can't give you a good timeline for a
| resolution of the question, but I can say that some progress is being made.

I would like the SC to consider that liibgcc-math will also greatly
help improve libstdc++, in particular for its numeric support.

-- Gaby


Re: libgcc-math specification

2006-08-05 Thread Richard Guenther

On 8/4/06, Sashan Govender [EMAIL PROTECTED] wrote:

Hi

Is there a specification that describes a set of routines for
libgcc-math? I read through previous emails on this topic and it seems
that it has been removed from head. I'd like to contribute but not
sure what direction to go in. Is there a specific branch that needs
checking out?


It is not on a branch at the moment, but is supposed to re-appear once
4.2 branches.  Also there is not a fixed set of routines at the moment, but
what is used by the patch supporting vectorization of math intrinsics.

Richard.


Re: Notes of the libgcc-math BOF at the summit.

2006-07-01 Thread Christopher Faylor
On Fri, Jun 30, 2006 at 02:57:19PM +0200, Richard Guenther wrote:
Issues of providing both standard conforming and target optimized
math runtimes for GCC were discussed.

Thanks for posting this.  Since I wasn't able to attend the summit this
year, I really appreciate seeing summaries like this.

cgf


Notes of the libgcc-math BOF at the summit.

2006-06-30 Thread Richard Guenther

Issues of providing both standard conforming and target optimized
math runtimes for GCC were discussed.

Interested parties are various frontends (C++, Fortran, Ada) that
are required to provide support similar to C99 from their runtime
and like to be able to fall back to a standard conforming implementation
provided by GCC.  Especially on weird target architectures and OSs
where the existing runtime is only partly working or cannot be relied
upon.

Other interest is from folks that require optimized versions of
the math runtime, being it for different ABI, stripped versions
useful for -ffast-math or -fno-math-errno.  In addition to that,
a place to add vectorized versions of the math routines, which
are closely integrated to GCC is requested.

Several points were be made about licensing, and people agreed
that while it may be possible to use the LGPL, using GPL + exception
will avoid user confusion and possible problems, especially if
we are going to automatically link against this library.

People had concerns about forking GNUs libm from glibc with respect
to maintainance issues.  The point was made that the standard
conforming runtime GCC would provide was optional and not to be used
if there is a conforming (and performant) runtime available from
glibc or the target.  Only the optimized routines would be used
on such systems, which of course, if target dependent would have
to be provided by the architecture maintainers if they want to enable
extra optimizations for their platform.

There were no doubts that we can get hands on properly licensed
(GPL + exception compatible) standard conforming C routines that
implement the C99 math runtime.  Offerings were from AMD, and
the original BSD-licensed routines from SUN were mentioned.  Also
it was suggested IBM could re-submit their math library for use
in GCC with a GPL + exception license.

--

In conclusion, having a C99 math runtime subject to GPL + exception
inside GCC alongside with whatever optimized routines (being able
to base on the C routines provided by the C99 routines) was generally
accepted as worthwhile.


Thanks,
Richard.

PS: please direct discussion to gcc@gcc.gnu.org only and avoid
cross-posting followups.


libgcc-math and the gcc 4.2 release

2006-05-17 Thread Richard Guenther
Hi,

Following RMS request of removing source copies of other projects I
asked him if he considers it ok to have copies of the generic math
transcendentals routines of glibc in libgcc-math and to distribute
them under GPL + libgcc exception clause license.  He denied that
request and so, after doing the emergency-removal of the wrongly
licensed double parts from libgcc-math I am going to remove the float
parts as well.  This renders the SSE2 abi math functions support
unusable, so I am going forward and remove the following middle-end
patches as well:

2006-01-31  Richard Guenther  [EMAIL PROTECTED]

* doc/invoke.texi (-msselibm): Document.
* target.h (expand_library_builtin): New target hook.
* builtins.c (expand_builtin): Use expand_library_builtin.
(default_expand_library_builtin): New function.
* gcc.c (LINK_GCC_MATH_SPEC): Define.
(LINK_COMMAND_SPEC): Handle %(link_gcc_math).
(link_gcc_math_spec): Declare.
(static_specs): Add link_gcc_math_spec.
* expr.h (default_expand_library_builtin): Declare.
* target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
(TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN.
* config/i386/i386.h: Provide LINK_GCC_MATH_SPEC.
* config/i386/i386.opt (msselibm): New target option.
* config/i386/i386.c (ix86_builtin_function_variants): New array.
(ix86_init_sse_abi_builtins): New function.
(ix86_expand_library_builtin): Likewise.
(TARGET_EXPAND_LIBRARY_BUILTIN): Define.
(override_options): Handle error conditions wrt -msselibm.
(ix86_builtins): Add function codes for SSE2 ABI builtins.
(ix86_init_builtins): Call ix86_init_sse_abi_builtins.
* doc/extend.texi (__builtin_sse2_*): Document new target specific
builtins.

2006-01-31  Richard Guenther  [EMAIL PROTECTED]
Paolo Bonzini  [EMAIL PROTECTED]

* doc/install.texi (--disable-libgcc-math): Document.

Unfortunately this leaves libgcc-math empty for the moment, even if
patches for further utilizing this container were proposed (though after
entering stage3), namely

http://gcc.gnu.org/ml/gcc-patches/2006-03/msg01611.html
http://gcc.gnu.org/ml/gcc-patches/2006-03/msg01655.html

While I'm now in a position to approve the first one, the second one
is still unreviewed and the first one is of no use if the second one
does not go in for 4.2.

As we're far into stage3 now I propose to remove libgcc-math from the
mainline again and re-instantiate it at the beginning of stage1 again.
In the mean time it would be nice to have it live on autovect branch
where the two patches above could go in now, as I am aware of at least
Andrew Pinskia planning to use the libgcc-math container for Cell work.

Another option would be to remove the library only after branching
for 4.2 and only on that branch.

I will go forward with the first part of this plan (removal of libgcc-math
from the mainline) next week if no serious objections come up.

Thanks,
Richard.

--
Richard Guenther [EMAIL PROTECTED]
Novell / SUSE Labs


Re: libgcc-math and the gcc 4.2 release

2006-05-17 Thread Gabriel Dos Reis
Richard Guenther [EMAIL PROTECTED] writes:

| Hi,
| 
| Following RMS request of removing source copies of other projects I
| asked him if he considers it ok to have copies of the generic math
| transcendentals routines of glibc in libgcc-math and to distribute
| them under GPL + libgcc exception clause license.  He denied that
| request and so, after doing the emergency-removal of the wrongly
| licensed double parts from libgcc-math I am going to remove the float
| parts as well.  This renders the SSE2 abi math functions support
| unusable, so I am going forward and remove the following middle-end
| patches as well:

Sigh.

[...]

| As we're far into stage3 now I propose to remove libgcc-math from the
| mainline again and re-instantiate it at the beginning of stage1 again.

Please clarify things for me.  
Does that mean that in the future we (GG) have to develop our own
codes independently of glibc?  Or is that a no-no-no end?

-- Gaby


Re: libgcc-math and the gcc 4.2 release

2006-05-17 Thread Richard Guenther
On Wed, 17 May 2006, Gabriel Dos Reis wrote:

 Richard Guenther [EMAIL PROTECTED] writes:
 
 | Hi,
 | 
 | Following RMS request of removing source copies of other projects I
 | asked him if he considers it ok to have copies of the generic math
 | transcendentals routines of glibc in libgcc-math and to distribute
 | them under GPL + libgcc exception clause license.  He denied that
 | request and so, after doing the emergency-removal of the wrongly
 | licensed double parts from libgcc-math I am going to remove the float
 | parts as well.  This renders the SSE2 abi math functions support
 | unusable, so I am going forward and remove the following middle-end
 | patches as well:
 
 Sigh.
 
 [...]
 
 | As we're far into stage3 now I propose to remove libgcc-math from the
 | mainline again and re-instantiate it at the beginning of stage1 again.
 
 Please clarify things for me.  
 Does that mean that in the future we (GG) have to develop our own
 codes independently of glibc?  Or is that a no-no-no end?

As far as I understand we (GCC) have to develop our own codes 
independently of glibc unless RMS agrees to have copies/forks of
glibc code in GCC (this includes license changes to GPL + libgcc exception
like in this case).  What is fine as far as I understand is extend/modify
glibc itself to suit our needs - which is of course usually pointless
because GCC is not in a glibc-only world.

Richard.

--
Richard Guenther [EMAIL PROTECTED]
Novell / SUSE Labs


Re: libgcc-math and the gcc 4.2 release

2006-05-17 Thread Gabriel Dos Reis
Richard Guenther [EMAIL PROTECTED] writes:

[...]

| As far as I understand we (GCC) have to develop our own codes 
| independently of glibc unless RMS agrees to have copies/forks of
| glibc code in GCC (this includes license changes to GPL + libgcc exception
| like in this case).  What is fine as far as I understand is extend/modify
| glibc itself to suit our needs - which is of course usually pointless
| because GCC is not in a glibc-only world.

Thanks for the clarification.

I hope you're still interested in and motivated by the ligcc-math project.

-- Gaby


Re: libgcc-math and the gcc 4.2 release

2006-05-17 Thread Mark Mitchell
Richard Guenther wrote:
 Hi,
 
 Following RMS request of removing source copies of other projects I
 asked him if he considers it ok to have copies of the generic math
 transcendentals routines of glibc in libgcc-math and to distribute
 them under GPL + libgcc exception clause license.  He denied that
 request and so, after doing the emergency-removal of the wrongly
 licensed double parts from libgcc-math I am going to remove the float
 parts as well.  This renders the SSE2 abi math functions support
 unusable, so I am going forward and remove the following middle-end
 patches as well:

Yes, that seems like the right plan, given RMS' decision.

 As we're far into stage3 now I propose to remove libgcc-math from the
 mainline again and re-instantiate it at the beginning of stage1 again.

Again, I think that's a good idea.

 Another option would be to remove the library only after branching
 for 4.2 and only on that branch.

I think it's better to remove it from mainline, just so that if there
are any build issues we catch them before we branch.

Thanks,

-- 
Mark Mitchell
CodeSourcery
[EMAIL PROTECTED]
(650) 331-3385 x713


Re: libgcc-math and the gcc 4.2 release

2006-05-17 Thread John David Anglin
 Richard Guenther [EMAIL PROTECTED] writes:

 | As far as I understand we (GCC) have to develop our own codes 
 | independently of glibc unless RMS agrees to have copies/forks of
 | glibc code in GCC (this includes license changes to GPL + libgcc exception
 | like in this case).  What is fine as far as I understand is extend/modify
 | glibc itself to suit our needs - which is of course usually pointless
 | because GCC is not in a glibc-only world.

This is sad.  I've always believed that it was important to support both
worlds in a balanced manner.  I do believe that making the generic code
available to the non-glibc world is in fact extending its usage.  There
is the suggestion in the above that there may be considerations beyond
licensing and copyright involved.

 I hope you're still interested in and motivated by the ligcc-math project.

My impression is that this is blocked.

Dave
-- 
J. David Anglin  [EMAIL PROTECTED]
National Research Council of Canada  (613) 990-0752 (FAX: 952-6602)


Richard G. appointed libgcc-math maintainer

2006-04-28 Thread Gerald Pfeifer
It is my pleasure to announce that the steering committee has
appointed Richard Guenther libgcc-math maintainer.

Please adjust the MAINTAINERS file accordingly, Richard, and
Happy Hacking!

Gerald


[Bug bootstrap/26055] [4.2 Regression] libgcc-math declaration of __isinf conflicts with system header, fails bootstrap

2006-02-28 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2006-02-28 11:29 ---
Subject: Bug 26055

Author: rguenth
Date: Tue Feb 28 11:29:41 2006
New Revision: 111563

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=111563
Log:
2006-02-28  Richard Guenther  [EMAIL PROTECTED]

PR bootstrap/26055
Revert
* configure.ac: Disable libgcc-math if we cannot mix
declaration of __isinf and math.h inclusion.
* configure: Re-generate.

* i386/Makefile.am: Use -std=c99, do not use -ffinite-math-only,
do not define __NO_MATH_INLINES.
* i386/Makefile.in: Re-generate.
* include/math_private.h (__atanf): Declare.
(__scalbnf): Likewise.
(__floorf): Likewise.
(__isinff): Likewise.
(__scalbn): Likewise.
(__floor): Likewise.
(fabs): Likewise.
(fabsf): Likewise.
* flt-32/e_acosf.c: Do not include math.h
* flt-32/s_isinff.c: Likewise.
* flt-32/k_tanf.c: Likewise.
* flt-32/e_sqrtf.c: Likewise.
* flt-32/e_asinf.c: Likewise.
* flt-32/k_cosf.c: Likewise.
* flt-32/k_sinf.c: Likewise.
* flt-32/s_floorf.c: Likewise.
* flt-32/s_tanf.c: Likewise.
* flt-32/s_atanf.c: Likewise.
* flt-32/s_cosf.c: Likewise.
* flt-32/e_atan2f.c: Likewise.
* flt-32/e_powf.c: Likewise.
* flt-32/s_sinf.c: Likewise.
* flt-32/e_rem_pio2f.c: Likewise.
* flt-32/s_scalbnf.c: Likewise.
* flt-32/e_logf.c: Likewise.
* flt-32/e_log10f.c: Likewise.
* flt-32/k_rem_pio2f.c: Likewise.
* flt-32/e_expf.c: Likewise.  Use __builtin_isless and
__builtin_isgreater.
* dbl-64/s_floor.c: Do not include math.h.
* dbl-64/e_log10.c: Likewise.
* dbl-64/k_rem_pio2.c: Likewise.
* dbl-64/s_atan.c: Likewise.
* dbl-64/s_scalbn.c: Likewise.
* dbl-64/s_isinf.c: Likewise.
* dbl-64/s_tan.c: Likewise.
* dbl-64/e_rem_pio2.c: Likewise.  Avoid uninitialized variable
warning.
* dbl-64/mpa.c: Likewise.

Modified:
trunk/libgcc-math/ChangeLog
trunk/libgcc-math/configure
trunk/libgcc-math/configure.ac
trunk/libgcc-math/dbl-64/e_log10.c
trunk/libgcc-math/dbl-64/e_rem_pio2.c
trunk/libgcc-math/dbl-64/k_rem_pio2.c
trunk/libgcc-math/dbl-64/mpa.c
trunk/libgcc-math/dbl-64/s_atan.c
trunk/libgcc-math/dbl-64/s_floor.c
trunk/libgcc-math/dbl-64/s_isinf.c
trunk/libgcc-math/dbl-64/s_scalbn.c
trunk/libgcc-math/dbl-64/s_tan.c
trunk/libgcc-math/flt-32/e_acosf.c
trunk/libgcc-math/flt-32/e_asinf.c
trunk/libgcc-math/flt-32/e_atan2f.c
trunk/libgcc-math/flt-32/e_expf.c
trunk/libgcc-math/flt-32/e_log10f.c
trunk/libgcc-math/flt-32/e_logf.c
trunk/libgcc-math/flt-32/e_powf.c
trunk/libgcc-math/flt-32/e_rem_pio2f.c
trunk/libgcc-math/flt-32/e_sqrtf.c
trunk/libgcc-math/flt-32/k_cosf.c
trunk/libgcc-math/flt-32/k_rem_pio2f.c
trunk/libgcc-math/flt-32/k_sinf.c
trunk/libgcc-math/flt-32/k_tanf.c
trunk/libgcc-math/flt-32/s_atanf.c
trunk/libgcc-math/flt-32/s_cosf.c
trunk/libgcc-math/flt-32/s_floorf.c
trunk/libgcc-math/flt-32/s_isinff.c
trunk/libgcc-math/flt-32/s_scalbnf.c
trunk/libgcc-math/flt-32/s_sinf.c
trunk/libgcc-math/flt-32/s_tanf.c
trunk/libgcc-math/i386/Makefile.am
trunk/libgcc-math/i386/Makefile.in
trunk/libgcc-math/include/math_private.h


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26055



[Bug bootstrap/26055] [4.2 Regression] libgcc-math declaration of __isinf conflicts with system header, fails bootstrap

2006-02-28 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2006-02-28 14:07 ---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26055



[Bug bootstrap/26050] [4.2 Regression] Use of u_int32_t in libgcc-math breaks bootstrap on Solaris 10/x86

2006-02-07 Thread rguenth at gcc dot gnu dot org


--- Comment #9 from rguenth at gcc dot gnu dot org  2006-02-07 11:37 ---
Subject: Bug 26050

Author: rguenth
Date: Tue Feb  7 11:37:15 2006
New Revision: 110694

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=110694
Log:
2006-02-07  Richard Guenther  [EMAIL PROTECTED]

PR bootstrap/26050
* configure.ac: Generate gstdint.h using GCC_HEADER_STDINT.
* configure: Re-generate.
* Makefile.in: Likewise. 
* aclocal.m4: Likewise.
* i386/Makefile.am: Adjust include path.
* i386/Makefile.in: Re-generate.
* include/math_private.h: Do not include sys/types.h.
Include gstdint.h.  Use uint32_t instead of u_int32_t.
* flt-32/e_expf.c: Do not include inttypes.h
* flt-32/e_sqrtf.c: Use uint32_t instead of u_int32_t.
* flt-32/s_floorf.c: Likewise.
* flt-32/e_atan2f.c: Likewise.
* flt-32/e_powf.c: Likewise.
* flt-32/e_rem_pio2f.c: Likewise.
* flt-32/e_log10f.c: Likewise.
* dbl-64/s_floor.c: Likewise.
* dbl-64/e_log10.c: Likewise.
* dbl-64/e_rem_pio2.c: Likewise.

Modified:
trunk/libgcc-math/ChangeLog
trunk/libgcc-math/Makefile.in
trunk/libgcc-math/aclocal.m4
trunk/libgcc-math/configure
trunk/libgcc-math/configure.ac
trunk/libgcc-math/dbl-64/e_log10.c
trunk/libgcc-math/dbl-64/e_rem_pio2.c
trunk/libgcc-math/dbl-64/s_floor.c
trunk/libgcc-math/flt-32/e_atan2f.c
trunk/libgcc-math/flt-32/e_expf.c
trunk/libgcc-math/flt-32/e_log10f.c
trunk/libgcc-math/flt-32/e_powf.c
trunk/libgcc-math/flt-32/e_rem_pio2f.c
trunk/libgcc-math/flt-32/e_sqrtf.c
trunk/libgcc-math/flt-32/s_floorf.c
trunk/libgcc-math/i386/Makefile.am
trunk/libgcc-math/i386/Makefile.in
trunk/libgcc-math/include/math_private.h


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26050



[Bug bootstrap/26050] [4.2 Regression] Use of u_int32_t in libgcc-math breaks bootstrap on Solaris 10/x86

2006-02-07 Thread rguenth at gcc dot gnu dot org


--- Comment #10 from rguenth at gcc dot gnu dot org  2006-02-07 15:40 
---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26050



Re: x86 Darwin an libgcc-math

2006-02-01 Thread Richard Guenther
On 2/1/06, Paolo Bonzini [EMAIL PROTECTED] wrote:

  Is it intentional that these functions have global visibility and
  interfere with functions declared and implemented by the system
  libraries? If not, can they be compilied with hidden visibility?

 Yes (I originally tried to see what happens if we use the glibc
 routines, then I shared the code with Richard who did the configury and
 the back-end patches.  glibc people do not try to make life easy for
 people that use their code outside glibc, but I forgot to tell him about
 this...).

Ok, so Darwin does not support symbol versioning?  As then all these
conflicting symbols should be local.  Originally Paolo added #pragma
visibility stuff which I removed during getting rid of all the C wrapper files.
I wonder if we can do some clever stuff with just using default hidden for
all files and appending an visibility attribute to the name defines.  I can
work on this, but I didn't see any difference in exported symbols if using
it or not (probably due to the used linker script).

Richard.


Re: x86 Darwin an libgcc-math

2006-02-01 Thread Richard Guenther
On 2/1/06, Richard Guenther [EMAIL PROTECTED] wrote:
 On 2/1/06, Paolo Bonzini [EMAIL PROTECTED] wrote:
 
   Is it intentional that these functions have global visibility and
   interfere with functions declared and implemented by the system
   libraries? If not, can they be compilied with hidden visibility?
 
  Yes (I originally tried to see what happens if we use the glibc
  routines, then I shared the code with Richard who did the configury and
  the back-end patches.  glibc people do not try to make life easy for
  people that use their code outside glibc, but I forgot to tell him about
  this...).

 Ok, so Darwin does not support symbol versioning?  As then all these
 conflicting symbols should be local.  Originally Paolo added #pragma
 visibility stuff which I removed during getting rid of all the C wrapper 
 files.
 I wonder if we can do some clever stuff with just using default hidden for
 all files and appending an visibility attribute to the name defines.  I can
 work on this, but I didn't see any difference in exported symbols if using
 it or not (probably due to the used linker script).

Can you try the attached patch (it's not perfect as it misses to export some
of the symbols due to the simple #define hack not working for them) and
see if in principle it would solve the issue on Darwin?

Thanks,
Richard.


p8-6
Description: Binary data


Re: x86 Darwin an libgcc-math

2006-02-01 Thread Shantonu Sen

Awesome.

With trunk, your 3 previous patches, my config/darwin.h patch for the  
link line, and your further patch for visibility:


[EMAIL PROTECTED] /opt/gccmath/bin/gcc -o test test.c -msselibm
[EMAIL PROTECTED] otool -Lv test
test:
/opt/gccmath/lib/libgcc-math.0.dylib (compatibility version  
1.0.0, current version 1.0.0)

time stamp 1138831883 Wed Feb  1 14:11:23 2006
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0,  
current version 88.1.5)

time stamp 1137810491 Fri Jan 20 18:28:11 2006
[EMAIL PROTECTED] ./test
0.999816

Also, using nm I see that only the intentional support API is global.

[EMAIL PROTECTED] nm -g -f /opt/gccmath/lib/libgcc-math.0.dylib | grep -v  
 U 

33a0 T ___libm_sse2_acos
3080 T ___libm_sse2_acosf
4460 T ___libm_sse2_asin
5580 T ___libm_sse2_asinf
000139a0 T ___libm_sse2_atan
5a40 T ___libm_sse2_atan2
a6c0 T ___libm_sse2_atan2f
00017660 T ___libm_sse2_cos
00015f80 T ___libm_sse2_cosf
add0 T ___libm_sse2_exp
b250 T ___libm_sse2_expf
ce90 T ___libm_sse2_log10
cfc0 T ___libm_sse2_log10f
e4b0 T ___libm_sse2_powf
00018a30 T ___libm_sse2_sin
0001acb0 T ___libm_sse2_sinf
0001adf0 T ___libm_sse2_tan
00021270 T ___libm_sse2_tanf
[EMAIL PROTECTED]

Thank you very much! Bootstrapped on i386-apple-darwin8.4.1

Shantonu

On Feb 1, 2006, at 1:10 PM, Richard Guenther wrote:



Can you try the attached patch (it's not perfect as it misses to  
export some
of the symbols due to the simple #define hack not working for them)  
and

see if in principle it would solve the issue on Darwin?

Thanks,
Richard.
p8-6




[Bug bootstrap/26055] [4.2 Regression] libgcc-math declaration of __isinf conflicts with system header, fails bootstrap

2006-02-01 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2006-02-01 10:30 ---
Subject: Bug 26055

Author: rguenth
Date: Wed Feb  1 10:30:43 2006
New Revision: 110469

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=110469
Log:
2006-02-01  Richard Guenther  [EMAIL PROTECTED]

PR bootstrap/26055
* configure.ac: Disable libgcc-math if we cannot mix
declaration of __isinf and math.h inclusion.
* configure: Re-generate.

Modified:
trunk/libgcc-math/ChangeLog
trunk/libgcc-math/configure
trunk/libgcc-math/configure.ac


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26055



[Bug bootstrap/26059] [4.2 Regression] fenv.h use in libgcc-math

2006-02-01 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2006-02-01 10:32 ---
Subject: Bug 26059

Author: rguenth
Date: Wed Feb  1 10:32:22 2006
New Revision: 110470

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=110470
Log:
2006-02-01  Richard Guenther  [EMAIL PROTECTED]

PR bootstrap/26059
* flt-32/e_expf.c: Remove fenv access.

Modified:
trunk/libgcc-math/ChangeLog
trunk/libgcc-math/flt-32/e_expf.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26059



[Bug bootstrap/26055] [4.2 Regression] libgcc-math declaration of __isinf conflicts with system header, fails bootstrap

2006-02-01 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2006-02-01 11:36 ---
This is fixed/worked around on the mainline.  A completer fix was posted here
http://gcc.gnu.org/ml/gcc-patches/2006-02/msg00026.html
for testing.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
   Severity|blocker |normal
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-02-01 01:36:30 |2006-02-01 11:36:08
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26055



[Bug bootstrap/26059] [4.2 Regression] fenv.h use in libgcc-math

2006-02-01 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2006-02-01 11:36 ---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26059



[Bug bootstrap/26050] [4.2 Regression] Use of u_int32_t in libgcc-math breaks bootstrap on Solaris 10/x86

2006-02-01 Thread rguenth at gcc dot gnu dot org


--- Comment #3 from rguenth at gcc dot gnu dot org  2006-02-01 11:38 ---
Can you provide the patch that fixed the issue for you?

Thanks,
Richard.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-02-01 01:39:59 |2006-02-01 11:38:01
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26050



[Bug bootstrap/26050] [4.2 Regression] Use of u_int32_t in libgcc-math breaks bootstrap on Solaris 10/x86

2006-02-01 Thread ro at techfak dot uni-bielefeld dot de


--- Comment #4 from ro at techfak dot uni-bielefeld dot de  2006-02-01 
12:18 ---
Subject: Re:  [4.2 Regression] Use of u_int32_t in libgcc-math breaks bootstrap
on Solaris 10/x86

rguenth at gcc dot gnu dot org writes:

 Can you provide the patch that fixed the issue for you?

Sure, but as I said, it's just a trivial global replacement of u_int32_t
with uint32_t.  I'll attach my patch (without a ChangeLog entry).

Rainer


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26050



[Bug bootstrap/26050] [4.2 Regression] Use of u_int32_t in libgcc-math breaks bootstrap on Solaris 10/x86

2006-02-01 Thread ro at gcc dot gnu dot org


--- Comment #5 from ro at gcc dot gnu dot org  2006-02-01 12:19 ---
Created an attachment (id=10769)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10769action=view)
Trivial patch to avoid use non-standard u_int32_t


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26050



[Bug bootstrap/26050] [4.2 Regression] Use of u_int32_t in libgcc-math breaks bootstrap on Solaris 10/x86

2006-02-01 Thread rguenth at gcc dot gnu dot org


--- Comment #6 from rguenth at gcc dot gnu dot org  2006-02-01 12:23 ---
Oh, I thought you did the config/stdint.m4 fallback, too.  I'll take care of
that.
Thanks anyway.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26050



[Bug bootstrap/26050] [4.2 Regression] Use of u_int32_t in libgcc-math breaks bootstrap on Solaris 10/x86

2006-02-01 Thread ro at techfak dot uni-bielefeld dot de


--- Comment #7 from ro at techfak dot uni-bielefeld dot de  2006-02-01 
12:31 ---
Subject: Re:  [4.2 Regression] Use of u_int32_t in libgcc-math breaks bootstrap
on Solaris 10/x86

rguenth at gcc dot gnu dot org writes:

 Oh, I thought you did the config/stdint.m4 fallback, too.  I'll take care of
 that.

No, not at 2 o'clock in the night when my only intention was to quickly
restore bootstrap in order to test an unrelated fix ;-)

Rainer


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26050



[Bug bootstrap/26050] [4.2 Regression] Use of u_int32_t in libgcc-math breaks bootstrap on Solaris 10/x86

2006-02-01 Thread rguenth at gcc dot gnu dot org


--- Comment #8 from rguenth at gcc dot gnu dot org  2006-02-01 14:27 ---
Patch posted that includes generating a fallback _stdint.h header.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2006-
   ||02/msg00032.html
   Keywords||patch


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26050



[Bug bootstrap/26050] New: Use of u_int32_t in libgcc-math breaks bootstrap on Solaris 10/x86

2006-01-31 Thread gcc-bugzilla at gcc dot gnu dot org

Current mainline (as of 20060131) fails to bootstrap on Solaris 10/x86 in
libgcc-math:

/vol/gcc/obj/gcc-4.2.0-20060131/10-gcc/./gcc/xgcc
-B/vol/gcc/obj/gcc-4.2.0-20060131/10-gcc/./gcc/
-B/vol/gcc/share/i386-pc-solaris2.10/bin/
-B/vol/gcc/share/i386-pc-solaris2.10/lib/ -isystem
/vol/gcc/share/i386-pc-solaris2.10/include -isystem
/vol/gcc/share/i386-pc-solaris2.10/sys-include -DPACKAGE_NAME=\libgcc-math\
-DPACKAGE_TARNAME=\libgcc-math\ -DPACKAGE_VERSION=\1.0\
-DPACKAGE_STRING=\libgcc-math 1.0\ -DPACKAGE_BUGREPORT=\\
-DPACKAGE=\libgcc-math\ -DVERSION=\1.0\ -DHAVE_HIDDEN_VISIBILITY=1 -I.
-I/vol/gcc/src/gcc-dist/libgcc-math/i386
-I/vol/gcc/src/gcc-dist/libgcc-math/i386/../include -include
/vol/gcc/src/gcc-dist/libgcc-math/i386/sse2.h -Wall -O2 -g -msse2 -msseregparm
-mfpmath=sse -march=pentium3 -fno-math-errno -fno-trapping-math
-ffinite-math-only -fno-rounding-math -fno-signaling-nans -D__NO_MATH_INLINES
-O2 -g -O2 -MT libsse2_la-e_acosf.lo -MD -MP -MF .deps/libsse2_la-e_acosf.Tpo
-c /vol/gcc/src/gcc-dist/libgcc-math/i386/../flt-32/e_ac!
 osf.c  -fPIC -DPIC -o .libs/libsse2_la-e_acosf.o
In file included from
/vol/gcc/src/gcc-dist/libgcc-math/i386/../flt-32/e_acosf.c:21:
/vol/gcc/src/gcc-dist/libgcc-math/i386/../include/math_private.h:58: error:
expected specifier-qualifier-list before 'u_int32_t'
/vol/gcc/src/gcc-dist/libgcc-math/i386/../include/math_private.h:129: error:
expected specifier-qualifier-list before 'u_int32_t'
/vol/gcc/src/gcc-dist/libgcc-math/i386/../flt-32/e_acosf.c: In function
'__libm_sse2_acosf':
/vol/gcc/src/gcc-dist/libgcc-math/i386/../flt-32/e_acosf.c:52: error:
'ieee_float_shape_type' has no member named 'word'
/vol/gcc/src/gcc-dist/libgcc-math/i386/../flt-32/e_acosf.c:80: error:
'ieee_float_shape_type' has no member named 'word'
/vol/gcc/src/gcc-dist/libgcc-math/i386/../flt-32/e_acosf.c:81: error:
'ieee_float_shape_type' has no member named 'word'
make[3]: *** [libsse2_la-e_acosf.lo] Error 1
make[3]: *** Waiting for unfinished jobs

u_int32_t isn't declared anywhere, but is used in several files
unconditionally:

libgcc-math/dbl-64/e_log10.c
libgcc-math/dbl-64/e_rem_pio2.c
libgcc-math/dbl-64/s_floor.c
libgcc-math/flt-32/e_atan2f.c
libgcc-math/flt-32/e_log10f.c
libgcc-math/flt-32/e_powf.c
libgcc-math/flt-32/e_rem_pio2f.c
libgcc-math/flt-32/e_sqrtf.c
libgcc-math/flt-32/s_floorf.c
libgcc-math/include/math_private.h

Environment:
System: SunOS australien 5.10 Generic_118844-19 i86pc i386 i86pc
Architecture: i86pc


host: i386-pc-solaris2.10
build: i386-pc-solaris2.10
target: i386-pc-solaris2.10
configured with: /vol/gcc/src/gcc-dist/configure --prefix=/vol/gcc
--with-local-prefix=/vol/gcc --disable-nls --disable-multilib
--with-gmp-dir=/vol/gnu/obj/gmp-4.1.3
--with-mpfr-dir=/vol/gnu/obj/gmp-4.1.3/mpfr
--enable-languages=c,c++,fortran,java,objc,ada --disable-libmudflap

How-To-Repeat:
Bootstrap mainline as described above.


--- Comment #1 from ro at techfak dot uni-bielefeld dot de  2006-01-31 
21:32 ---
Fix:
Either declare u_int32_t if missing (or, far better) use the ISO C uint32_t
type instead (and provide a definition if missing, cf. config/stdint.m4).

A trivial patch which globally uses uint32_t in libgcc-math allowed the
bootstrap to finish; test currently in progress.


-- 
   Summary: Use of u_int32_t in libgcc-math breaks bootstrap on
Solaris 10/x86
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ro at techfak dot uni-bielefeld dot de
 GCC build triplet: i386-pc-solaris2.10
  GCC host triplet: i386-pc-solaris2.10
GCC target triplet: i386-pc-solaris2.10


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26050



[Bug bootstrap/26050] [4.2 Regression] Use of u_int32_t in libgcc-math breaks bootstrap on Solaris 10/x86

2006-01-31 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Keywords||build
Summary|Use of u_int32_t in libgcc- |[4.2 Regression] Use of
   |math breaks bootstrap on|u_int32_t in libgcc-math
   |Solaris 10/x86  |breaks bootstrap on Solaris
   ||10/x86
   Target Milestone|--- |4.2.0
Version|unknown |4.2.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26050



[Bug bootstrap/26055] New: libgcc-math declaration of __isinf conflicts with system header, fails bootstrap

2006-01-31 Thread ssen at opendarwin dot org
With gcc trunk, boostrap fails in stage3 with:
if /bin/sh ../libtool --mode=compile /Volumes/HD/ltmp/ssen/gcc-build/./gcc/xgcc
-B/Volumes/HD/ltmp/ssen/gcc-build/./gcc/
-B/usr/local/i386-apple-darwin8.4.2/bin/
-B/usr/local/i386-apple-darwin8.4.2/lib/ -isystem
/usr/local/i386-apple-darwin8.4.2/include -isystem
/usr/local/i386-apple-darwin8.4.2/sys-include -DPACKAGE_NAME=\libgcc-math\
-DPACKAGE_TARNAME=\libgcc-math\ -DPACKAGE_VERSION=\1.0\
-DPACKAGE_STRING=\libgcc-math\ 1.0\ -DPACKAGE_BUGREPORT=\\
-DPACKAGE=\libgcc-math\ -DVERSION=\1.0\ -DHAVE_HIDDEN_VISIBILITY=1  -I.
-I../../../../gcc/libgcc-math/i386   
-I../../../../gcc/libgcc-math/i386/../include -include
../../../../gcc/libgcc-math/i386/sse2.h -Wall -O2 -g -msse2 -msseregparm
-mfpmath=sse -march=pentium3 -fno-math-errno -fno-trapping-math
-ffinite-math-only -fno-rounding-math -fno-signaling-nans -D__NO_MATH_INLINES
-O2 -g -O2   -MT libsse2_la-s_isinf.lo -MD -MP -MF
.deps/libsse2_la-s_isinf.Tpo -c -o libsse2_la-s_isinf.lo `test -f
'../../../../gcc/libgcc-math/i386/../dbl-64/s_isinf.c' || echo
'../../../../gcc/libgcc-math/i386/'`../../../../gcc/libgcc-math/i386/../dbl-64/s_isinf.c;
\
then mv -f .deps/libsse2_la-s_isinf.Tpo .deps/libsse2_la-s_isinf.Plo; else
rm -f .deps/libsse2_la-s_isinf.Tpo; exit 1; fi
/Volumes/HD/ltmp/ssen/gcc-build/./gcc/xgcc
-B/Volumes/HD/ltmp/ssen/gcc-build/./gcc/
-B/usr/local/i386-apple-darwin8.4.2/bin/
-B/usr/local/i386-apple-darwin8.4.2/lib/ -isystem
/usr/local/i386-apple-darwin8.4.2/include -isystem
/usr/local/i386-apple-darwin8.4.2/sys-include -DPACKAGE_NAME=\libgcc-math\
-DPACKAGE_TARNAME=\libgcc-math\ -DPACKAGE_VERSION=\1.0\
-DPACKAGE_STRING=\libgcc-math 1.0\ -DPACKAGE_BUGREPORT=\\
-DPACKAGE=\libgcc-math\ -DVERSION=\1.0\ -DHAVE_HIDDEN_VISIBILITY=1 -I.
-I../../../../gcc/libgcc-math/i386
-I../../../../gcc/libgcc-math/i386/../include -include
../../../../gcc/libgcc-math/i386/sse2.h -Wall -O2 -g -msse2 -msseregparm
-mfpmath=sse -march=pentium3 -fno-math-errno -fno-trapping-math
-ffinite-math-only -fno-rounding-math -fno-signaling-nans -D__NO_MATH_INLINES
-O2 -g -O2 -MT libsse2_la-s_isinf.lo -MD -MP -MF .deps/libsse2_la-s_isinf.Tpo
-c ../../../../gcc/libgcc-math/i386/../dbl-64/s_isinf.c  -fno-common -DPIC -o
.libs/libsse2_la-s_isinf.o
../../../../gcc/libgcc-math/i386/../dbl-64/s_isinf.c:21: error: conflicting
types for '__isinf'
/usr/include/architecture/i386/math.h:171: error: previous declaration of
'__isinf' was here
make[3]: *** [libsse2_la-s_isinf.lo] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-target-libgcc-math] Error 2
make: *** [all] Error 2


The system math.h eventually includes architecture/i386/math.h, which has:
#define isinf(x)\
(   sizeof (x) == sizeof(float )?   __isinff(x) \
:   sizeof (x) == sizeof(double)?   __isinfd(x) \
   
:   __isinf (x))
...

extern int __isinff (float  );
extern int __isinfd (double );
extern int __isinf  (long double);

libgcc-math's s_isinf.c, on the other hand, has:
int
__isinf (double x)
{
...


-- 
   Summary: libgcc-math declaration of __isinf conflicts with system
header, fails bootstrap
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ssen at opendarwin dot org
 GCC build triplet: i386-apple-darwin8.4.1
  GCC host triplet: i386-apple-darwin8.4.1
GCC target triplet: i386-apple-darwin8.4.1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26055



[Bug bootstrap/26055] [4.2 Regression] libgcc-math declaration of __isinf conflicts with system header, fails bootstrap

2006-01-31 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|normal  |blocker
   Keywords||build
Summary|libgcc-math declaration of  |[4.2 Regression] libgcc-math
   |__isinf conflicts with  |declaration of __isinf
   |system header, fails|conflicts with system
   |bootstrap   |header, fails bootstrap
   Target Milestone|--- |4.2.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26055



[Bug bootstrap/26055] [4.2 Regression] libgcc-math declaration of __isinf conflicts with system header, fails bootstrap

2006-01-31 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-01 01:36 ---
Why even include __isinf when it cannot be used?


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-02-01 01:36:30
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26055



[Bug bootstrap/26050] [4.2 Regression] Use of u_int32_t in libgcc-math breaks bootstrap on Solaris 10/x86

2006-01-31 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-02-01 01:39 ---
Confirmd.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-02-01 01:39:59
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26050



[Bug bootstrap/26059] New: [4.2 Regression] fenv.h use in libgcc-math

2006-01-31 Thread pinskia at gcc dot gnu dot org
http://gcc.gnu.org/ml/gcc-patches/2006-01/msg02241.html
http://gcc.gnu.org/ml/gcc/2006-02/msg4.html


-- 
   Summary: [4.2 Regression] fenv.h use in libgcc-math
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Keywords: build
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
GCC target triplet: i386-netbsd i686-cygwin


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26059



[Bug bootstrap/26059] [4.2 Regression] fenv.h use in libgcc-math

2006-01-31 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2006-02-01 04:14 ---
Confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2006-02-01 04:14:26
   date||
   Target Milestone|--- |4.2.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26059