Hi. I'm using Windows XP 32bit and I have created a simple test program that creates 5 threads using pthreads that runs a loop inside each thread. But, after creating those threads I get the following error:
64-bit NoBarrier-Store() not implemented on this platform.
This is the output that I get:
//threads creation
In main: creating thread 0
In main: creating thread 1
In main: creating thread 2
In main: creating thread 3
In main: creating thread 4
//those errors
64-bit NoBarrier-Store() not implemented on this platform
64-bit NoBarrier-Store() not implemented on this platform
64-bit NoBarrier-Store() not implemented on this platform
64-bit NoBarrier-Store() not implemented on this platform
64-bit NoBarrier-Store() not implemented on this platform
64-bit NoBarrier-Store() not implemented on this platform
64-bit NoBarrier-Store() not implemented on this platform
64-bit NoBarrier-Store() not implemented on this platform
Hello World! It's me, thread #2!
Does anyone know the problem and how to solve it?
Thanks in advance
André
Hi. I'm using Windows XP 32bit and I have created a
simple test program that creates 5 threads using pthreads that
runs a loop inside each thread. But, after creating those threads
I get the following error:
64-bit NoBarrier-Store() not implemented on this platform.
...
What compiler and version are you using?
While I don't know the exact cause of your problem, I've experienced
similar problems in other projects before. In my case, it happened
because the headers for Microsoft Platform SDK that comes with
Visual Studio assume that you have Windows Vista (or even 7,
depending on your version) at runtime, and use functionality that is
not available in XP. One of these functionality areas (that XP and
Vista differ) are some atomic operations (Interlocked* Win32 API.)
To fix that problem, I had to make sure some basic macros were
defined to proper values before including any Windows headers, which
usually means passing them to your compiler command line. Two of
these macros are WINVER and _WIN32_WINNT, which you have to define
to 0x0501 to make Windows headers use only those features that are
available on Windows XP or later. Usually, only defining these two
(or even the second one) is enough.
By the way, I don't think this arises from use of Mongoose (but I'm
not sure.) It might be pthreads that internally uses Win32 API.
I'm using Visual Studio 2005 on windows XP. I first tried without pthreads
and it worked fine. I thought maybe it was because of it. I can't try those
macros now, but I'll let you know as soon as I try them.
Thanks for the short time reply
> Hi. I'm using Windows XP 32bit and I have created a simple test program
> that creates 5 threads using pthreads that runs a loop inside each thread.
> But, after creating those threads I get the following error:
> 64-bit NoBarrier-Store() not implemented on this platform.
> ...
> What compiler and version are you using?
> While I don't know the exact cause of your problem, I've experienced
> similar problems in other projects before. In my case, it happened because
> the headers for Microsoft Platform SDK that comes with Visual Studio assume
> that you have Windows Vista (or even 7, depending on your version) at
> runtime, and use functionality that is not available in XP. One of these
> functionality areas (that XP and Vista differ) are some atomic operations
> (Interlocked* Win32 API.)
> To fix that problem, I had to make sure some basic macros were defined to
> proper values before including any Windows headers, which usually means
> passing them to your compiler command line. Two of these macros are WINVER
> and _WIN32_WINNT, which you have to define to 0x0501 to make Windows
> headers use only those features that are available on Windows XP or later.
> Usually, only defining these two (or even the second one) is enough.
> By the way, I don't think this arises from use of Mongoose (but I'm not
> sure.) It might be pthreads that internally uses Win32 API.
Hello again. I tried those macros you told in last email, but I still get
the same results. I'm guessing that there is some issue while using
pthreads, because without them the allocator works fine. Unfortunately I
don't have the time I'd like to go into the code and find the problem. I
hope someone can find it and get some solution. Thanks for your time anyway
> I'm using Visual Studio 2005 on windows XP. I first tried without pthreads
> and it worked fine. I thought maybe it was because of it. I can't try those
> macros now, but I'll let you know as soon as I try them.
> Thanks for the short time reply
>> Hi. I'm using Windows XP 32bit and I have created a simple test program
>> that creates 5 threads using pthreads that runs a loop inside each thread.
>> But, after creating those threads I get the following error:
>> 64-bit NoBarrier-Store() not implemented on this platform.
>> ...
>> What compiler and version are you using?
>> While I don't know the exact cause of your problem, I've experienced
>> similar problems in other projects before. In my case, it happened because
>> the headers for Microsoft Platform SDK that comes with Visual Studio assume
>> that you have Windows Vista (or even 7, depending on your version) at
>> runtime, and use functionality that is not available in XP. One of these
>> functionality areas (that XP and Vista differ) are some atomic operations
>> (Interlocked* Win32 API.)
>> To fix that problem, I had to make sure some basic macros were defined to
>> proper values before including any Windows headers, which usually means
>> passing them to your compiler command line. Two of these macros are WINVER
>> and _WIN32_WINNT, which you have to define to 0x0501 to make Windows
>> headers use only those features that are available on Windows XP or later.
>> Usually, only defining these two (or even the second one) is enough.
>> By the way, I don't think this arises from use of Mongoose (but I'm not
>> sure.) It might be pthreads that internally uses Win32 API.
On Tuesday, June 12, 2012 2:04:08 PM UTC+4:30, Andre Pinho wrote:
> Hello again. I tried those macros you told in last email, but I still get > the same results. I'm guessing that there is some issue while using > pthreads, because without them the allocator works fine. Unfortunately I > don't have the time I'd like to go into the code and find the problem. I > hope someone can find it and get some solution. Thanks for your time anyway
Did you recompile pthreads? If the problem is indeed in pthreads, then you need to recompile that with the macros I mentioned. However, there is a distinct chance that that is not your problem at all!
(downloaded it yesterday). I recompiled it and I could use it in a C++ native solution. (Not in my managed unmanaged solution tought!)
DISCLAIMER: maybe it could be risky to use the code directly from the trunk (not sure about its bug-free quality) anyway I am new to this and some other can give more insightful informations
IIRC this may be something that I have patched on the main trunk.
Unfortunately I have been unable to get back to patch work for awhile so
the exact details escape me at the moment.
> To post to this group, send email to google-perftools@googlegroups.com.
> To unsubscribe from this group, send email to
> google-perftools+unsubscribe@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-perftools?hl=en.