RE: Implementing C++1x and C1x atomics (really an aside on SFENCE)

2009-09-09 Thread Boehm, Hans
> From: Lawrence Crowl [mailto:cr...@google.com] > > On 8/20/09, Boehm, Hans wrote: > > > -Original Message- > > > From: Lawrence Crowl [mailto:cr...@google.com] The > problem is that > > > gcc does support 80386. It also supports other > processors that have > > > less-than-complet

Re: Implementing C++1x and C1x atomics (really an aside on SFENCE)

2009-09-09 Thread Lawrence Crowl
On 8/20/09, Boehm, Hans wrote: > > -Original Message- > > From: Lawrence Crowl [mailto:cr...@google.com] > > The problem is that gcc does support 80386. It also supports > > other processors that have less-than-complete support for > > concurrency. Just in the x86 line, we get some addit

RE: Implementing C++1x and C1x atomics (really an aside on SFENCE)

2009-08-20 Thread Boehm, Hans
> -Original Message- > From: Lawrence Crowl [mailto:cr...@google.com] > The problem is that gcc does support 80386. It also supports > other processors that have less-than-complete support for > concurrency. Just in the x86 line, we get some additional > capability in many new laye

Re: Implementing C++1x and C1x atomics

2009-08-19 Thread Lawrence Crowl
On 8/19/09, Joseph S. Myers wrote: > On Wed, 19 Aug 2009, Lawrence Crowl wrote: > > > I am quoting from several different messages. > > > > On 8/17/09, Joseph S. Myers wrote: > > > (A) Code compiled against headers from libc version X must be run > > > with libc version X or later. > > > >

Re: Implementing C++1x and C1x atomics

2009-08-19 Thread Joseph S. Myers
On Wed, 19 Aug 2009, Lawrence Crowl wrote: > I am quoting from several different messages. > > On 8/17/09, Joseph S. Myers wrote: > > (A) Code compiled against headers from libc version X must be run > > with libc version X or later. > > What is the symptom of failing to meet this constraint?

Re: Implementing C++1x and C1x atomics

2009-08-19 Thread Lawrence Crowl
I am quoting from several different messages. On 8/17/09, Joseph S. Myers wrote: > (A) Code compiled against headers from libc version X must be run > with libc version X or later. What is the symptom of failing to meet this constraint? > (B) Code compiled against headers from libc version X mu

Re: Implementing C++1x and C1x atomics

2009-08-17 Thread Joseph S. Myers
On Mon, 17 Aug 2009, Lawrence Crowl wrote: > > Ways for the kernel or dynamic linker to detect such > > incompatibilities may be useful, but would apply to this issue > > in general, not specifically to atomic operations. > > The difference with the atomics is that if an application uses the > D

Re: Implementing C++1x and C1x atomics

2009-08-17 Thread Lawrence Crowl
On 8/14/09, Joseph S. Myers wrote: > On Fri, 14 Aug 2009, Lawrence Crowl wrote: > > So, suppose I compile my program A, using libc version X, on > > a processor of type D, which permits me to inline the atomic > > operations. Then suppose that I execute A on a processor of > > type E, which has l

Re: Implementing C++1x and C1x atomics

2009-08-14 Thread Joseph S. Myers
On Fri, 14 Aug 2009, Lawrence Crowl wrote: > So, suppose I compile my program A, using libc version X, on > a processor of type D, which permits me to inline the atomic > operations. Then suppose that I execute A on a processor of type E, > which has libc version X, but which supports fewer atomi

Re: Implementing C++1x and C1x atomics

2009-08-14 Thread Lawrence Crowl
On 8/14/09, Joseph S. Myers wrote: > On Fri, 14 Aug 2009, Lawrence Crowl wrote: > > So, if -march=D should not imply inlining of the atomic > > operations, we need another option that does. That other > > option in turn must require the dynamic library use compatible > > implementations. (I'd re

Re: Implementing C++1x and C1x atomics

2009-08-14 Thread Joseph S. Myers
On Fri, 14 Aug 2009, Lawrence Crowl wrote: > So, if -march=D should not imply inlining of the atomic operations, > we need another option that does. That other option in turn > must require the dynamic library use compatible implementations. > (I'd really like to see errors caught by the loader.)

Re: Implementing C++1x and C1x atomics

2009-08-14 Thread Lawrence Crowl
On 8/13/09, Joseph S. Myers wrote: > On Thu, 13 Aug 2009, Lawrence Crowl wrote: > > > Now a processor D for this architecture comes out. All code > > > for A, B and C will work on D, but D also has 8-byte atomic > > > operations. GCC 4.7, with -march=D, generates code that > > > uses these opera

Re: Implementing C++1x and C1x atomics

2009-08-13 Thread Joseph S. Myers
On Thu, 13 Aug 2009, Lawrence Crowl wrote: > Now a processor D for this architecture comes out. All code for A, > B and C will work on D, but D also has 8-byte atomic operations. > GCC 4.7, with -march=D, generates code that uses these operations > inline. If code built with GCC 4.7 -mar

Re: Implementing C++1x and C1x atomics

2009-08-13 Thread Lawrence Crowl
On 8/13/09, Joseph S. Myers wrote: > On Thu, 13 Aug 2009, Lawrence Crowl wrote: > > > In that it defines functions, is unlike all the > > > headers presently required of freestanding implementations, > > > > But , , and all define functions. > > I'm not familiar with the C++ requirements for fre

Re: Implementing C++1x and C1x atomics

2009-08-13 Thread Joseph S. Myers
On Thu, 13 Aug 2009, Lawrence Crowl wrote: > > In that it defines functions, is unlike all the > > headers presently required of freestanding implementations, > > But , , and all define functions. I'm not familiar with the C++ requirements for freestanding implementations, so am just comparin

Re: Implementing C++1x and C1x atomics

2009-08-13 Thread Lawrence Crowl
On 8/12/09, Joseph S. Myers wrote: > On Wed, 12 Aug 2009, Lawrence Crowl wrote: > > > The C1x atomics specification > > > > > > does not mention any amendment to the list of headers to be > > > provided by freestanding implementations (cl

Re: Implementing C++1x and C1x atomics

2009-08-12 Thread Joseph S. Myers
On Wed, 12 Aug 2009, Lawrence Crowl wrote: > > The C1x atomics specification > > does > > not mention any amendment to the list of headers to be provided by > > freestanding implementations (clause 4 paragraph 6), which suggests > > that

Re: Implementing C++1x and C1x atomics

2009-08-12 Thread Lawrence Crowl
On 8/12/09, Joseph S. Myers wrote: > (moved from gcc-patches to gcc and libc-alpha) > > On Wed, 12 Aug 2009, Richard Guenther wrote: > > On Aug 12, 2009, Boehm, Hans wrote: > > > [Partially replying to myself] > > > > From: Boehm, Hans > > > > > > > > At the risk of asking a stupid question, shou

Implementing C++1x and C1x atomics

2009-08-12 Thread Joseph S. Myers
(moved from gcc-patches to gcc and libc-alpha) On Wed, 12 Aug 2009, Richard Guenther wrote: > On Wed, Aug 12, 2009 at 8:24 PM, Boehm, Hans wrote: > > [Partially replying to myself] > >> From:  Boehm, Hans > >> > >> At the risk of asking a stupid question, shouldn't all the > >> code inside gcc gr