Re: Reload problems with only one base reg for "base + offset" addressing mode

2010-07-23 Thread Ian Lance Taylor
redriver jiang  writes:

> Hi,
>
> You mean I should define insn like this:
>
> (define_insn "*iorqi3_imm"
>  [(set (mem:QI (match_operand:HI 0 "register_operand"   "b"))
>(ior:QI (mem:QI (match_operand:HI 1 "register_operand"   "b")
>  (mem:QI (plus: HI (match_operand:HI 2
> "register_operand"  "f")
>(match_operand: 3 HI
> "immediate_operand" "K")   ]
> ""
> "..."
> [( set_attr "length" "1" )])
>
> "b" for R16,R17,R18, and "f" for R18, "K" for immediate operand with
> range "0-127"?

Sort of, but you shouldn't write the PLUS in the insn.  Instead, write a
new constraint which accepts either a R16, R17, or R18 plus an offset.
Also, write the insn with three alternatives, with the offset constraint
in each position.

Ian


Re: GCC 4.5.1 Release Candidate available from gcc.gnu.org

2010-07-23 Thread Rainer Orth
Dennis Clarke  writes:

> FYI , bug 44455 is a show stopper in the Solaris world.
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44455

This is

bootstrap/44455 GCC fails to build if MPFR 3.0.0 (Release Candidate) is used

Why would this be a showstopper?  Who forces you to build and install
mpfr 3.0.0?   OpenSolaris comes with 2.4.1, and older versions don't
have mpfr bundled at all, so just use a version that works with GCC,
building it in-tree if you must.

Rainer

-- 
-
Rainer Orth, Center for Biotechnology, Bielefeld University


Re: GFDL/GPL issues

2010-07-23 Thread Ian Lance Taylor
Mark Mitchell  writes:

> I believe that the only real fix here is (a) for the FSF to abandon the
> GFDL, and relicense manuals under the GPL, or (b) for the FSF to add an
> exception to the GFDL, making it compatible with the GPL in some way.
> However, I have no evidence that the FSF is considering either of these
> ideas; RMS didn't provide encouraging feedback when I made such suggestions.

What if we ask the FSF if we can dual license the constraints.md files
under both the GPL and the GFDL?

Ian


Re: Revisiting the use of cselib in alias.c for scheduling

2010-07-23 Thread Steven Bosscher
On Thu, Jul 22, 2010 at 9:29 AM, Maxim Kuvyrkov  wrote:
> index 89743c3..047b717 100644
> --- a/gcc/sched-rgn.c
> +++ b/gcc/sched-rgn.c
> @@ -2935,6 +2935,9 @@ schedule_region (int rgn)
>   if (sched_is_disabled_for_current_region_p ())
>     return;
>
> +  gcc_assert (!reload_completed || current_nr_blocks == 1);
> +  rgn_sched_deps_info.use_cselib = (current_nr_blocks == 1);
> +
>   sched_rgn_compute_dependencies (rgn);
>
>   sched_rgn_local_init (rgn);
>

This passes bootstrap on x86_64-unknown-linux-gnu. But bug 43494 will
have to be addressed before a patch like this can go in.

Ciao!
Steven


RE: SH optimized software floating point routines

2010-07-23 Thread Joseph S. Myers
On Thu, 22 Jul 2010, Joern Rennecke wrote:

> Quoting "Joseph S. Myers" :
> 
> > That diff does not appear to relate to undefined behavior.  GCC considers
> > these out-of-range conversions to yield an unspecified value, possibly
> > raising an exception, as per Annex F, and does not take the liberty of
> > optimizing on the basis of them being undefined when not in an IEEE mode.
> 
> Well, still, the test is wrong in possibly raising an exception there,
> with no provisions to ignore the exception or catch any signal raised.

The expectation is that floating-point exceptions will not trap by 
default, again in accordance with Annex F even when not in an IEEE mode.

-- 
Joseph S. Myers
jos...@codesourcery.com


Re: SH optimized software floating point routines

2010-07-23 Thread Christian Bruel

Joern Rennecke wrote:

Quoting Christian Bruel :


Using the ieee-sf.S + this patch
OK


Is this only a proof-of-concept, because you only change the ne[sd]f2  
implementation?  


I changed also the unordered comparison patterns. (cmpunsf_i1, 
cmpundf_i1). But yes, the other functions that would need the same kind 
of check would be unordsf2, and all the comparisons (gtsf2, gesf2f...) 
for floats and doubles.
But I will only consider those after/if we all agree that this needs to 
be done instead of keeping the current QNaN only restrictions.


And you go out of your way to only accept a restricted
set of values.  


This hold for the original optimized implementation as well, for example 
I don't think that 0x7f81 was caught. In fact implementing correctly 
the isnan check without restricted set of value makes the original 
discussion pointless, since the Q/S bits are a subpart of all possible 
codings, with any fractional part != 0.


Plus, the overuse of the arithmetic unit hurts SH4-100 /

SH4-200 instruction pairing.

>

AFAICT you need only one cycle penalty, in the check_nan path:

GLOBAL(nesf2):
 /* If the raw values are unequal, the result is unequal, unless
both values are +-zero.
If the raw values are equal, the result is equal, unless
the values are NaN.  */
 cmp/eq  r4,r5
 mov.l   LOCAL(inf2),r1
 bt/s LOCAL(check_nan)
 mov r4,r0
 or  r5,r0
 rts
 add r0,r0
LOCAL(check_nan):
 add r0,r0
 cmp/hi  r1,r0
 rts
 movtr0
 .balign 4
LOCAL(inf2):
 .long 0xff00

You could even save four bytes by putting the check_nan label into the
delay slot, but I'm not sure if that'll discomfit any branch  
prediction mechanism.


Thanks a lot of this one, It should fix the original problem on the 
restricted set of values as well. The cmpund patterns fix should 
probably have a similar checks.




Disclaimer: I've not tested this code.

For the DFmode case, what about NaNs denoted by the low word, e.g.
0x7ff0 1 ?

If so, the DFmode code could become something like this:

GLOBAL(nedf2):
 cmp/eq  DBL0L,DBL1L
 mov.l   LOCAL(inf2),r1
 bf LOCAL(ne)
 cmp/eq  DBL0H,DBL1H
 bt/sLOCAL(check_nan)
 mov DBL0H,r0
 or  DBL1H,r0

 add r0,r0
 rts
 or  DBL0L,r0
LOCAL(check_nan):
 tst DBL0L,DBL0L
 add r0,r0
 subcr1,r0
 mov #-1,r0
 rts
 negcr0,r0
LOCAL(ne):
 rts
 mov #1,r0
 .balign 4
LOCAL(inf2):
 .long 0xffe0


> For an actual patch, you need to use the SL* macros from
> config/sh/lib1funcs.h because the SH1 does not have delayed branches.

OK, thanks



No GCC summit this year?

2010-07-23 Thread Bingfeng Mei
Hello,
I am interested to attend GCC summit this year, but it doesn't seem
to happen, does it? 

Cheers,
Bingfeng



Re: No GCC summit this year?

2010-07-23 Thread Ian Lance Taylor
"Bingfeng Mei"  writes:

> I am interested to attend GCC summit this year, but it doesn't seem
> to happen, does it? 

It is reportedly being held in the last week of October this year.

Ian


Re: No GCC summit this year?

2010-07-23 Thread Richard Guenther
On Fri, Jul 23, 2010 at 12:39 PM, Bingfeng Mei  wrote:
> Hello,
> I am interested to attend GCC summit this year, but it doesn't seem
> to happen, does it?

Well - past attendees got date & location confirmation like

"The Summit will be in Ottawa from October 25th to 27th, you should plan to
arrive in the afternoon on the 24th and depart on the afternoon of the
28th."

but a "website will go up shortly" promise didn't yet materialize.

Richard.

> Cheers,
> Bingfeng
>
>


Re: SH optimized software floating point routines

2010-07-23 Thread Kaz Kojima
> Joern Rennecke  wrote:
>> That's a bug, then; we shouldn't use a library function there,
>> but the cmpordered[sd]f_t_4 patterns.
> 
> Argh, I've missed the required patterns are incorporated already
> in your patch.  I'll test it again with sh-softfp-predicate-fix
> when the tests for 4.5.1-rc are done.  Thanks!

I've tested sh-softfp-20100718-2131 + sh-softfp-predicate-fix
on -m1, -m2, -m3, -m3 -ml, -m2a on sh-elf, sh4-linux and
sh64-linux.  sh64-linux required the first hunk of the attached
patch to build.  The test with -m3 -ml shows some regressions
which look to be solved with the second hunk of the patch.
Now all test results look clean.

For NaN issue, I'd like to wait a full patch from Christian.
I'm curious again about the numbers with/without it.

Regards,
kaz
--
* config/sh/sh.md (cstoresf4): Fix typos.
* config/sh/ieee-754-df.S (unorddf2): Use DBL1H instead of r6.

diff -upr ORIG/trunk/gcc/config/sh/sh.md trunk/gcc/config/sh/sh.md
--- ORIG/trunk/gcc/config/sh/sh.md  Wed Jul 21 08:12:23 2010
+++ trunk/gcc/config/sh/sh.md   Thu Jul 22 10:36:36 2010
@@ -9462,10 +9462,10 @@ mov.l\\t1f,r0\\n\\
   "TARGET_SH1 || TARGET_SHMEDIA_FPU"
   "if (TARGET_SHMEDIA)
  {
-   if (!arith_operand (operands[2], DFmode))
-operands[2] = copy_to_mode_reg (DFmode, operands[2]);
-   if (!arith_operand (operands[3], DFmode))
-operands[3] = copy_to_mode_reg (DFmode, operands[3]);
+   if (!arith_operand (operands[2], SFmode))
+operands[2] = copy_to_mode_reg (SFmode, operands[2]);
+   if (!arith_operand (operands[3], SFmode))
+operands[3] = copy_to_mode_reg (SFmode, operands[3]);
emit_insn (gen_cstore4_media (operands[0], operands[1],
 operands[2], operands[3]));
DONE;
diff -uprN ORIG/trunk/gcc/config/sh/ieee-754-df.S 
trunk/gcc/config/sh/ieee-754-df.S
--- ORIG/trunk/gcc/config/sh/ieee-754-df.S  2010-07-20 11:39:29.0 
+0900
+++ trunk/gcc/config/sh/ieee-754-df.S   2010-07-22 13:16:07.0 +0900
@@ -123,7 +123,7 @@ GLOBAL(unorddf2):
mov.l   LOCAL(c_DF_NAN_MASK),r1
not DBL0H,r0
tst r1,r0
-   not r6,r0
+   not DBL1H,r0
bt  LOCAL(unord)
tst r1,r0
 LOCAL(unord):


Re: GCC 4.5.1 Release Candidate available from gcc.gnu.org

2010-07-23 Thread Dennis Clarke
> Dennis Clarke  writes:
>
>> FYI , bug 44455 is a show stopper in the Solaris world.
>> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44455
>
> This is
>
> bootstrap/44455   GCC fails to build if MPFR 3.0.0 (Release Candidate) is
used
>
> Why would this be a showstopper?  Who forces you to build and install
mpfr 3.0.0?   OpenSolaris comes with 2.4.1, and older versions don't

OpenSolaris is not a production release run by anyone anywhere :-)

> have mpfr bundled at all, so just use a version that works with GCC,
building it in-tree if you must.

OKay .. I guess details are needed.

If I place the latest mpfr and gmp and mpc and ppl and cloog in tree then
the build fails in stage one very early with bizarre warning about not
being able to find gmp rev greater than 4.3.1 despite the face that I have
already built and tested :

GMP: include 4.3.2, lib 4.3.2
MPFR: include 3.0.0-p3, lib 3.0.0-p3
MPC: include 0.8.2, lib 0.8.2

Those would all be installed in /usr/local with no surprises.

Regardless .. the build fails with the same message as bugid 44455.

Of course I try with gmp-5.0.1 first and that also fails so long as ppl is
around in the tree.

So I throw away ppl and cloog ( which I have *never* seen build on Solaris
10 anyways ) and then the build fails a little later with :

make[3]: Leaving directory
`/export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722-001/gcc'
mkdir i386-pc-solaris2.10/libgcc
Checking multilib configuration for libgcc...
Configuring stage 1 in i386-pc-solaris2.10/libgcc
configure: creating cache ./config.cache
checking for --enable-version-specific-runtime-libs... no
checking for a BSD-compatible install...
/export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722/install-sh -c
checking for gawk... nawk
checking build system type... i386-pc-solaris2.10
checking host system type... i386-pc-solaris2.10
checking for i386-pc-solaris2.10-ar... ar
checking for i386-pc-solaris2.10-lipo... lipo
checking for i386-pc-solaris2.10-nm...
/export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722-001/./gcc/nm
checking for i386-pc-solaris2.10-ranlib... ranlib
checking for i386-pc-solaris2.10-strip... strip
checking whether ln -s works... yes
checking for i386-pc-solaris2.10-gcc...
/export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722-001/./gcc/xgcc
-B/export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722-001/./gcc/
-B/usr/local/gcc4/i386-pc-solaris2.10/bin/
-B/usr/local/gcc4/i386-pc-solaris2.10/lib/ -isystem
/usr/local/gcc4/i386-pc-solaris2.10/include -isystem
/usr/local/gcc4/i386-pc-solaris2.10/sys-include
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether
/export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722-001/./gcc/xgcc
-B/export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722-001/./gcc/
-B/usr/local/gcc4/i386-pc-solaris2.10/bin/
-B/usr/local/gcc4/i386-pc-solaris2.10/lib/ -isystem
/usr/local/gcc4/i386-pc-solaris2.10/include -isystem
/usr/local/gcc4/i386-pc-solaris2.10/sys-includeaccepts -g... yes
checking for
/export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722-001/./gcc/xgcc
-B/export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722-001/./gcc/
-B/usr/local/gcc4/i386-pc-solaris2.10/bin/
-B/usr/local/gcc4/i386-pc-solaris2.10/lib/ -isystem
/usr/local/gcc4/i386-pc-solaris2.10/include -isystem
/usr/local/gcc4/i386-pc-solaris2.10/sys-includeoption to accept ISO
C89... none needed
checking how to run the C preprocessor...
/export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722-001/./gcc/xgcc
-B/export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722-001/./gcc/
-B/usr/local/gcc4/i386-pc-solaris2.10/bin/
-B/usr/local/gcc4/i386-pc-solaris2.10/lib/ -isystem
/usr/local/gcc4/i386-pc-solaris2.10/include -isystem
/usr/local/gcc4/i386-pc-solaris2.10/sys-include-E
checking whether decimal floating point is supported... no
checking whether fixed-point is supported... no
checking for __attribute__((visibility("hidden")))... no
checking whether the target assembler supports thread-local storage... yes
checking whether the thread-local storage support is from emutls... no
configure: updating cache ./config.cache
configure: creating ./config.status
config.status: creating Makefile
config.status: executing default commands
Adding multilib support to Makefile in
../../../gcc-4.5.1-RC-20100722/libgcc
multidirs=amd64
with_multisubdir=
Running configure in multilib subdirs amd64
pwd:
/export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722-001/i386-pc-solaris2.10/libgcc
Running configure in multilib subdir amd64
pwd:
/export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722-001/i386-pc-solaris2.10
mkdir amd64
configure: creating cache ./config.cache
checking for --enable-version-specific-runtime-libs... no
checking for a BSD-compatible install...
/export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722/install-sh -c
checking for gawk... nawk
checking build system type... i386-pc-solaris2.10
checking host system type... i386-pc-solaris2.10
checking for i386-pc-solaris2.10-ar... ar
che

Re: GCC 4.5.1 Release Candidate available from gcc.gnu.org

2010-07-23 Thread Richard Guenther
On Fri, 23 Jul 2010, Dennis Clarke wrote:

> > Dennis Clarke  writes:
> >
> >> FYI , bug 44455 is a show stopper in the Solaris world.
> >> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44455
> >
> > This is
> >
> > bootstrap/44455 GCC fails to build if MPFR 3.0.0 (Release Candidate) is
> used
> >
> > Why would this be a showstopper?  Who forces you to build and install
> mpfr 3.0.0?   OpenSolaris comes with 2.4.1, and older versions don't
> 
> OpenSolaris is not a production release run by anyone anywhere :-)
> 
> > have mpfr bundled at all, so just use a version that works with GCC,
> building it in-tree if you must.
> 
> OKay .. I guess details are needed.
> 
> If I place the latest mpfr and gmp and mpc and ppl and cloog in tree then
> the build fails in stage one very early with bizarre warning about not
> being able to find gmp rev greater than 4.3.1 despite the face that I have
> already built and tested :
> 
> GMP: include 4.3.2, lib 4.3.2
> MPFR: include 3.0.0-p3, lib 3.0.0-p3
> MPC: include 0.8.2, lib 0.8.2
> 
> Those would all be installed in /usr/local with no surprises.
> 
> Regardless .. the build fails with the same message as bugid 44455.
> 
> Of course I try with gmp-5.0.1 first and that also fails so long as ppl is
> around in the tree.
> 
> So I throw away ppl and cloog ( which I have *never* seen build on Solaris
> 10 anyways ) and then the build fails a little later with :
> 
> make[3]: Leaving directory
> `/export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722-001/gcc'
> mkdir i386-pc-solaris2.10/libgcc
> Checking multilib configuration for libgcc...
> Configuring stage 1 in i386-pc-solaris2.10/libgcc
> configure: creating cache ./config.cache
> checking for --enable-version-specific-runtime-libs... no
> checking for a BSD-compatible install...
> /export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722/install-sh -c
> checking for gawk... nawk
> checking build system type... i386-pc-solaris2.10
> checking host system type... i386-pc-solaris2.10
> checking for i386-pc-solaris2.10-ar... ar
> checking for i386-pc-solaris2.10-lipo... lipo
> checking for i386-pc-solaris2.10-nm...
> /export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722-001/./gcc/nm
> checking for i386-pc-solaris2.10-ranlib... ranlib
> checking for i386-pc-solaris2.10-strip... strip
> checking whether ln -s works... yes
> checking for i386-pc-solaris2.10-gcc...
> /export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722-001/./gcc/xgcc
> -B/export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722-001/./gcc/
> -B/usr/local/gcc4/i386-pc-solaris2.10/bin/
> -B/usr/local/gcc4/i386-pc-solaris2.10/lib/ -isystem
> /usr/local/gcc4/i386-pc-solaris2.10/include -isystem
> /usr/local/gcc4/i386-pc-solaris2.10/sys-include
> checking for suffix of object files... o
> checking whether we are using the GNU C compiler... yes
> checking whether
> /export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722-001/./gcc/xgcc
> -B/export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722-001/./gcc/
> -B/usr/local/gcc4/i386-pc-solaris2.10/bin/
> -B/usr/local/gcc4/i386-pc-solaris2.10/lib/ -isystem
> /usr/local/gcc4/i386-pc-solaris2.10/include -isystem
> /usr/local/gcc4/i386-pc-solaris2.10/sys-includeaccepts -g... yes
> checking for
> /export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722-001/./gcc/xgcc
> -B/export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722-001/./gcc/
> -B/usr/local/gcc4/i386-pc-solaris2.10/bin/
> -B/usr/local/gcc4/i386-pc-solaris2.10/lib/ -isystem
> /usr/local/gcc4/i386-pc-solaris2.10/include -isystem
> /usr/local/gcc4/i386-pc-solaris2.10/sys-includeoption to accept ISO
> C89... none needed
> checking how to run the C preprocessor...
> /export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722-001/./gcc/xgcc
> -B/export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722-001/./gcc/
> -B/usr/local/gcc4/i386-pc-solaris2.10/bin/
> -B/usr/local/gcc4/i386-pc-solaris2.10/lib/ -isystem
> /usr/local/gcc4/i386-pc-solaris2.10/include -isystem
> /usr/local/gcc4/i386-pc-solaris2.10/sys-include-E
> checking whether decimal floating point is supported... no
> checking whether fixed-point is supported... no
> checking for __attribute__((visibility("hidden")))... no
> checking whether the target assembler supports thread-local storage... yes
> checking whether the thread-local storage support is from emutls... no
> configure: updating cache ./config.cache
> configure: creating ./config.status
> config.status: creating Makefile
> config.status: executing default commands
> Adding multilib support to Makefile in
> ../../../gcc-4.5.1-RC-20100722/libgcc
> multidirs=amd64
> with_multisubdir=
> Running configure in multilib subdirs amd64
> pwd:
> /export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722-001/i386-pc-solaris2.10/libgcc
> Running configure in multilib subdir amd64
> pwd:
> /export/home/dclarke/build/GCC/gcc-4.5.1-RC-20100722-001/i386-pc-solaris2.10
> mkdir amd64
> configure: creating cache ./config.cache
> checking for --enable-version-specific-runtime-libs... no
> checking for 

Re: GFDL/GPL issues

2010-07-23 Thread Mark Mitchell
Ian Lance Taylor wrote:

>> I believe that the only real fix here is (a) for the FSF to abandon the
>> GFDL, and relicense manuals under the GPL, or (b) for the FSF to add an
>> exception to the GFDL, making it compatible with the GPL in some way.
>> However, I have no evidence that the FSF is considering either of these
>> ideas; RMS didn't provide encouraging feedback when I made such suggestions.
> 
> What if we ask the FSF if we can dual license the constraints.md files
> under both the GPL and the GFDL?

We could do that.  It's a hack, but it might be an acceptable hack.

I've been thinking about this from the perspective of "how can we get
the FSF to put an exception into the GFDL to allow inclusion/generation
from GPL'd code?"; your clever idea is that if all the code is also
GFDL'd then you don't have a problem.  I call this is a hack, because
we're changing the code license to deal with a problem created by the
FSF's insistence on a separate license for documentation, but, hey, it
might work.

Do you think we should just ask the FSF to dual-license all of GCC?

-- 
Mark Mitchell
CodeSourcery
m...@codesourcery.com
(650) 331-3385 x713


Re: GFDL/GPL issues

2010-07-23 Thread Ian Lance Taylor
Mark Mitchell  writes:

> Do you think we should just ask the FSF to dual-license all of GCC?

Sure, it might at least be worth finding out whether they think there is
any problem with that.

Ian


Re: GCC 4.5.1 Release Candidate available from gcc.gnu.org

2010-07-23 Thread Dennis Clarke

>> If I go back and rebuild gmp mpfr and mpc thus :
>>
>>
>> GMP: include 5.0.1, lib 5.0.1
>> MPFR: include 3.0.0-p3, lib 3.0.0-p3
>> MPC: include 0.8.2, lib 0.8.2
>
> Use GMP from the 4.2.x series and MPFR from the 2.3.x series.  Or do
> not build these libraries in-tree.

I built and tested them separate.

-- 
Dennis



Re: GFDL/GPL issues

2010-07-23 Thread Mark Mitchell
Ian Lance Taylor wrote:

>> Do you think we should just ask the FSF to dual-license all of GCC?
> 
> Sure, it might at least be worth finding out whether they think there is
> any problem with that.

I've asked on the SC list.

Thanks,

-- 
Mark Mitchell
CodeSourcery
m...@codesourcery.com
(650) 331-3385 x713


Re: GCC 4.5.1 Release Candidate available from gcc.gnu.org

2010-07-23 Thread Andrew Pinski



On Jul 23, 2010, at 9:37 AM, Dennis Clarke   
wrote:





If I go back and rebuild gmp mpfr and mpc thus :


GMP: include 5.0.1, lib 5.0.1
MPFR: include 3.0.0-p3, lib 3.0.0-p3
MPC: include 0.8.2, lib 0.8.2


Use GMP from the 4.2.x series and MPFR from the 2.3.x series.  Or do
not build these libraries in-tree.


I built and tested them separate.


You forgot to set LD_LIBRARY_PATH.




--
Dennis



Re: GCC 4.5.1 Release Candidate available from gcc.gnu.org

2010-07-23 Thread Dennis Clarke

 GMP: include 5.0.1, lib 5.0.1
 MPFR: include 3.0.0-p3, lib 3.0.0-p3
 MPC: include 0.8.2, lib 0.8.2
>>>
>>> Use GMP from the 4.2.x series and MPFR from the 2.3.x series.  Or do
>>> not build these libraries in-tree.
>>
>> I built and tested them separate.
>
> You forgot to set LD_LIBRARY_PATH.
>
>

That is considered evil on Solaris.

http://blogs.sun.com/ali/entry/avoiding_ld_library_path_the

http://blogs.sun.com/rie/entry/tt_ld_library_path_tt

I did set LD_RUN_PATH and LD_OPTIONS however.


-- 
Dennis



Re: GCC 4.5.1 Release Candidate available from gcc.gnu.org

2010-07-23 Thread Andrew Pinski



On Jul 23, 2010, at 9:58 AM, Dennis Clarke   
wrote:





GMP: include 5.0.1, lib 5.0.1
MPFR: include 3.0.0-p3, lib 3.0.0-p3
MPC: include 0.8.2, lib 0.8.2


Use GMP from the 4.2.x series and MPFR from the 2.3.x series.  Or  
do

not build these libraries in-tree.


I built and tested them separate.


You forgot to set LD_LIBRARY_PATH.




That is considered evil on Solaris.

http://blogs.sun.com/ali/entry/avoiding_ld_library_path_the

http://blogs.sun.com/rie/entry/tt_ld_library_path_tt

I did set LD_RUN_PATH and LD_OPTIONS however.


-R and run path has bigger issues than ld library path. But then you  
should look into config.log and see why it fails. I bet a beer it is  
not finding the shared libraries.





--
Dennis



Re: GCC 4.5.1 Release Candidate available from gcc.gnu.org

2010-07-23 Thread Dennis Clarke

> On Jul 23, 2010, at 9:58 AM, Dennis Clarke 
> wrote:
>> GMP: include 5.0.1, lib 5.0.1
>> MPFR: include 3.0.0-p3, lib 3.0.0-p3
>> MPC: include 0.8.2, lib 0.8.2
>
> Use GMP from the 4.2.x series and MPFR from the 2.3.x series.  Or
> do
> not build these libraries in-tree.

 I built and tested them separate.
>>>
>>> You forgot to set LD_LIBRARY_PATH.
>>>
>>>
>>
>> That is considered evil on Solaris.
>>
>> http://blogs.sun.com/ali/entry/avoiding_ld_library_path_the
>>
>> http://blogs.sun.com/rie/entry/tt_ld_library_path_tt
>>
>> I did set LD_RUN_PATH and LD_OPTIONS however.
>
> -R and run path has bigger issues than ld library path. But then you
> should look into config.log and see why it fails. I bet a beer it is
> not finding the shared libraries.

Now this is serious !

Would you bet a case of beer ?

gcc -v
Using built-in specs.
Target: i386-pc-solaris2.10
Configured with: ../gcc-4.4.4/configure --host=i386-pc-solaris2.10
--build=i386-pc-solaris2.10 --with-gnu-as --with-as=/opt/csw/bin/gas
--without-gnu-ld --with-ld=/usr/ccs/bin/ld --with-cpu-32=i386
--with-cpu-64=opteron --with-arch-32=i386 --with-arch-64=opteron
--enable-stage1-languages=c --enable-nls --with-libiconv-prefix=/usr/local
--enable-threads=posix --with-gmp=/usr/local --with-mpfr=/usr/local
--with-mpc=/usr/local --prefix=/usr/local/gcc4
--with-local-prefix=/usr/local --enable-shared --enable-multilib
--with-system-zlib --with-pkgversion='Blastwave.org Inc. Fri Jul 23
15:32:37 GMT 2010' --with-bugurl=http://www.blastwave.org/support
--enable-languages=c,c++,objc,fortran --enable-bootstrap
Thread model: posix
gcc version 4.4.4 (Blastwave.org Inc. Fri Jul 23 15:32:37 GMT 2010)
$

I'll run the testsuite , post the results and then make install.

Then I'll rebuild binutils and try gcc 4.5.1 release candidate again with
the exact same environment settings.

By the way .. I did not use LD_LIBRARY_PATH at all.

I was thinking Grolsch. I love that stuff and the bottles are cool.

-- 
Dennis



embedded dataflow tracking code?

2010-07-23 Thread Dennis Yurichev
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi.

I'm sorry if I chose wrong place for my question.
I would like to load debugger, attach to working process, and at some
breakpoint, instead of numerical values in the CPU registers, I would
like to see genesis of each value like "result of f(arg1, arg2,arg3)
called at point X" or "result of comparison of values X and Y" and so on.
Probably, compiler backend could embed some dataflow tracking code
between basic blocks and store information about all variables flow in
some separate data segment..
Are there any known attempts or projects or...?

- -- 
My PGP public key: http://yurichev.com/dennis.yurichev.asc
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkxJ1G4ACgkQ1YPmFmJG++PtSwCeLYhvtOXTYNG51bIAksYdb2Ny
9vAAoL5RIcEdcPYZkXzLPNtf+sOa7SJT
=IO9j
-END PGP SIGNATURE-


Re: GCC 4.5.1 Release Candidate available from gcc.gnu.org

2010-07-23 Thread Toon Moene

Richard Guenther wrote:


On Fri, 23 Jul 2010, Dennis Clarke wrote:



GMP: include 4.3.2, lib 4.3.2
MPFR: include 3.0.0-p3, lib 3.0.0-p3
MPC: include 0.8.2, lib 0.8.2


fails,

Richard recommends:


Use GMP from the 4.2.x series and MPFR from the 2.3.x series.  Or do
not build these libraries in-tree.


Recently, I was thrown back to Debian Lenny, out of a mistake of my own 
regard 1) (which dates back to 14 February 2009, so over 1.5 years ago).


What I did was downloading:

gmp-4.3.2.tar.bz2
mpfr-2.4.2.tar.bz2
mpc-0.8.2.tar.gz

unpack them into their own directories and adding:

lrwxrwxrwx 1 toon toon 15 2010-07-14 15:19 gmp -> ../../gmp-4.3.2
lrwxrwxrwx 1 toon toon 15 2010-07-14 14:51 mpc -> ../../mpc-0.8.2
lrwxrwxrwx 1 toon toon 16 2010-07-14 15:24 mpfr -> ../../mpfr-2.4.2

as those source directories were two levels up from my 'gcc' source 
directory.


That worked (I never got it working with mpfr 3.0.0 and gmp 5.0.x)

Cheers,

1) As Steve Bourne says: When logged in as the superuser, the prompt
   turns into '#', to remind you of your responsibilities 2).

2) Throwing away /usr/sbin is a bad move, even if it's just a keystroke
   away from removing /usr/snp (and you're using command line
   completion).

[ You can't imagine the pain working with a 1.5 year old OS ]

--
Toon Moene - e-mail: t...@moene.org - phone: +31 346 214290
Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
At home: http://moene.org/~toon/; weather: http://moene.org/~hirlam/
Progress of GNU Fortran: http://gcc.gnu.org/gcc-4.5/changes.html#Fortran


Re: GCC 4.5.1 Release Candidate available from gcc.gnu.org

2010-07-23 Thread Dennis Clarke

> Richard Guenther wrote:
>
>> On Fri, 23 Jul 2010, Dennis Clarke wrote:
>
>>> GMP: include 4.3.2, lib 4.3.2
>>> MPFR: include 3.0.0-p3, lib 3.0.0-p3
>>> MPC: include 0.8.2, lib 0.8.2
>
> fails,
>
> Richard recommends:
>
>> Use GMP from the 4.2.x series and MPFR from the 2.3.x series.  Or do
>> not build these libraries in-tree.
>
> Recently, I was thrown back to Debian Lenny, out of a mistake of my own
> regard 1) (which dates back to 14 February 2009, so over 1.5 years ago).
>
> What I did was downloading:
>
> gmp-4.3.2.tar.bz2
> mpfr-2.4.2.tar.bz2
> mpc-0.8.2.tar.gz
>
> unpack them into their own directories and adding:
>
> lrwxrwxrwx 1 toon toon 15 2010-07-14 15:19 gmp -> ../../gmp-4.3.2
> lrwxrwxrwx 1 toon toon 15 2010-07-14 14:51 mpc -> ../../mpc-0.8.2
> lrwxrwxrwx 1 toon toon 16 2010-07-14 15:24 mpfr -> ../../mpfr-2.4.2
>
> as those source directories were two levels up from my 'gcc' source
> directory.
>
> That worked (I never got it working with mpfr 3.0.0 and gmp 5.0.x)

> [ You can't imagine the pain working with a 1.5 year old OS ]
>

Have you seen Solaris 8 ?

[titan]uname -a
SunOS titan 5.8 Generic_127722-03 i86pc i386 i86pc

[titan]cat /etc/release
   Solaris 8 2/02 s28x_u7wos_08a INTEL
   Copyright 2002 Sun Microsystems, Inc.  All Rights Reserved.
   Assembled 18 December 2001
[titan]
[titan]psrinfo -v
Status of virtual processor 0 as of: 07/23/10 17:46:33
  on-line since 06/15/10 20:44:18.
  The i386 processor operates at 400 MHz,
and has an i387 compatible floating point processor.
Status of virtual processor 1 as of: 07/23/10 17:46:33
  on-line since 06/15/10 20:44:22.
  The i386 processor operates at 400 MHz,
and has an i387 compatible floating point processor.
[titan]



-- 
Dennis



Re: GCC 4.5.1 Release Candidate available from gcc.gnu.org

2010-07-23 Thread Toon Moene

Dennis Clarke wrote:

> I wrote:


[ You can't imagine the pain working with a 1.5 year old OS ]



Have you seen Solaris 8 ?

[titan]uname -a
SunOS titan 5.8 Generic_127722-03 i86pc i386 i86pc

[titan]cat /etc/release
   Solaris 8 2/02 s28x_u7wos_08a INTEL
   Copyright 2002 Sun Microsystems, Inc.  All Rights Reserved.
   Assembled 18 December 2001


Yeah, but that was at *work* (2006-ish).  At work I get paid for tending 
to the past (hey, I'm 53).  At home I just want to be productive.


--
Toon Moene - e-mail: t...@moene.org - phone: +31 346 214290
Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
At home: http://moene.org/~toon/; weather: http://moene.org/~hirlam/
Progress of GNU Fortran: http://gcc.gnu.org/gcc-4.5/changes.html#Fortran


Re: GCC 4.5.1 Release Candidate available from gcc.gnu.org

2010-07-23 Thread Eric Botcazou
> Use GMP from the 4.2.x series and MPFR from the 2.3.x series.  Or do
> not build these libraries in-tree.

Yes, and verify that GMP and MPFR are correctly compiled with "make check".  
Recent versions are miscompiled on SPARC/Solaris by GCC 4.3.x for x < 3 or 4.

The recommended versions (GMP 4.3.2, MPFR 2.4.2, MPC 0.8.1) also work fine if 
compiled by the latest GCC 4.3.x compilers (or compilers of later series).

-- 
Eric Botcazou


Re: GCC 4.5.1 Release Candidate available from gcc.gnu.org

2010-07-23 Thread Dennis Clarke

>> Use GMP from the 4.2.x series and MPFR from the 2.3.x series.  Or do
>> not build these libraries in-tree.
>
> Yes, and verify that GMP and MPFR are correctly compiled with
> "make check". Recent versions are miscompiled on SPARC/Solaris
> by GCC 4.3.x for x < 3 or 4.
>
> The recommended versions (GMP 4.3.2, MPFR 2.4.2, MPC 0.8.1) also
> work fine if compiled by the latest GCC 4.3.x compilers (or
> compilers of later series).

=== gcc Summary ===

# of expected passes57009
# of unexpected failures67
# of unexpected successes   7
# of expected failures  197
# of unsupported tests  518

=== g++ Summary ===

# of expected passes20118
# of unexpected failures29
# of unexpected successes   4
# of expected failures  158
# of unsupported tests  136

Dennis



Re: GCC 4.5.1 Release Candidate available from gcc.gnu.org

2010-07-23 Thread Eric Botcazou
> === gcc Summary ===
>
> # of expected passes57009
> # of unexpected failures67
> # of unexpected successes   7
> # of expected failures  197
> # of unsupported tests  518
>
> === g++ Summary ===
>
> # of expected passes20118
> # of unexpected failures29
> # of unexpected successes   4
> # of expected failures  158
> # of unsupported tests  136

I meant "make check" for GMP and MPFR, not for GCC.

-- 
Eric Botcazou


Re: GCC 4.5.1 Release Candidate available from gcc.gnu.org

2010-07-23 Thread Dennis Clarke

>> === gcc Summary ===
>>
>> # of expected passes57009
>> # of unexpected failures67
>> # of unexpected successes   7
>> # of expected failures  197
>> # of unsupported tests  518
>>
>> === g++ Summary ===
>>
>> # of expected passes20118
>> # of unexpected failures29
>> # of unexpected successes   4
>> # of expected failures  158
>> # of unsupported tests  136
>
> I meant "make check" for GMP and MPFR, not for GCC.
>

did that too :-)


-- 
Dennis



w#/*

2010-07-23 Thread elwara_
Äú  ºÃ £¡ 
±¾¹«Ë¾ÏÖÓи÷ÐÐÒµ¹ú/µØË° 
ÔöÖµ¡£ÆÕͨ¡£½¨Öþ£¬¹ã¸æ¡£·þÎñ¡£¹¤³Ì¡£ÔËÊäµÈа淢 Øâ ´ú¿ª  ¿ÉÓúø¶¿î ´¹Ñ¯µç»° 
13528406753 ÁõÉú



Re: GCC 4.5.1 Release Candidate available from gcc.gnu.org

2010-07-23 Thread Dennis Clarke

> Dennis Clarke  writes:
>
>> FYI , bug 44455 is a show stopper in the Solaris world.
>>
>> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44455
>
> This is
>
> bootstrap/44455   GCC fails to build if MPFR 3.0.0 (Release Candidate) is
> used
>
> Why would this be a showstopper?  Who forces you to build and install
> mpfr 3.0.0?   OpenSolaris comes with 2.4.1, and older versions don't
> have mpfr bundled at all, so just use a version that works with GCC,
> building it in-tree if you must.
>

Sorted things out and all is well now :

http://gcc.gnu.org/ml/gcc-testresults/2010-07/msg02266.html

Thanks all for the lectures/pointers/edification :-)

-- 
Dennis Clarke
dcla...@opensolaris.ca  <- Email related to the open source Solaris
dcla...@blastwave.org   <- Email related to open source for Solaris