libgcc-math
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
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
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.
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.
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
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
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
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
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
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
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
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
--- 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
--- 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
--- 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
--- 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
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
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
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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
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
-- 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
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
-- 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
--- 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
--- 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
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
--- 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