This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: How to add pthread support for GCC powerpc-eabi cross platform?
Thank you for the suggestion. I'll look into my RTOS's threading model and
try to map pthread calls used in my application to native thread APIs! I may
query further in this topic :-)
Michael Eager wrote:
>
> Jeffi Edward.J wrote:
>>
>> The scenario is as follows... Actually I'm building a huge application
>> using
>> Diab toolchain . The target RTOS (cant reveal name :-(... ) required
>> kernel
>> services are also built along with the application. The image is loaded
>> into
>> target device(powerpc machine) as a bootable image. But that RTOS doesn't
>> have pthread support., wheras the library used by Diab-c compiler has
>> pthread library. So it worked fine so far.
>>
>> Now I'm porting this application to GCC compiler. I built the
>> powerpc-eabi
>> cross tool chain with newlib. Since the pthread library is not part of
>> newlib library, I guess I would face problem which porting. :-(..
>
> Newlib only has support for pthreads when run on Linux
> (see newlib/libc/sys/linux/linuxthreads).
>
> To support pthreads with your unnamed RTOS in Newlib, you
> would need to write all of the corresponding routines which
> translate pthreads calls into whatever threading model
> the RTOS supports. This is (presumably) what the Diab
> tool chain does.
>
> You may be able to link the pthread support from the Diab
> tool chain by including the Diab library after Newlib.
>
>> I can't use Glibc since there is no support for powerpc-eabi in Glibc!
>> How
>> to over come this problem?
>
>>
>> Thanks,
>> Jeffi
>>
>>
>>
>> Ian Lance Taylor-3 wrote:
>>> Kai Ruottu <kai.ruottu@wippies.com> writes:
>>>
>>>> For a layman like me some things sound predestined like that Posix
>>>> threads
>>>> being an additional feature in an Posix-compatible opsys meanwhile
>>>> the
>>>> standard C library like newlib implements the base Posix C functions.
>>>> The
>>>> real priests will know more about these things. So...
>>>>
>>>> What is the "operating system" on the target? Does it support Posix
>>>> threads?
>>>>
>>>> At least Cygwin on Win32 uses newlib as the base C library and should
>>>> support
>>>> Posix threads. Also the RTEMS RTOS should use newlib and support Posix
>>>> threads :
>>>>
>>>> http://www.rtems.com/wiki/index.php/RTEMSFeatures
>>>>
>>>> So I would be really surprised if newlib should nowadays implement
>>>> some
>>>> "operating system" too...
>>> newlib used not only on cygwin and RTEMS, but also on pure embedded
>>> systems with no operating system. In that case newlib relies on
>>> libgloss to provide some basic functionality. In that scenario, it
>>> makes sense to ask whether the newlib/libgloss combination provides
>>> POSIX threads for a specific target.
>>>
>>> In general, as far as I know, the answer is "no." POSIX threads are
>>> fairly difficult to implement correctly.
>>>
>>> Ian
>>>
>>>
>>
>
>
> --
> Michael Eager eager@eagercon.com
> 1960 Park Blvd., Palo Alto, CA 94306 650-325-8077
>
>
--
View this message in context: http://www.nabble.com/How-to-add-pthread-support-for-GCC-powerpc-eabi-cross-platform--tp26020930p26046457.html
Sent from the gcc - Help mailing list archive at Nabble.com.