Looking for a C++11 support Overview

Sebastian Huber sebastian.huber at embedded-brains.de
Wed Mar 2 06:07:39 UTC 2016



On 01/03/16 22:32, Isaac Gutekunst wrote:
>
>
> On 02/25/2016 03:37 AM, Sebastian Huber wrote:
>> For proper C++11 support you need RTEMS 4.12. Below "fully supported"
>> means as far as GCC/libstdc++ supports it.
>>
>> On 24/02/16 18:52, Isaac Gutekunst wrote:
>>> Hi All,
>>>
>>>
>>> Which C++11 features are supported by RTEMS?
>>> Is there a table listing supported features, and limitations? Sorry if
>>> I just missed it.
>>>
>>> I'm specially interested in
>>>
>>> * std::atomic
>>
>> Fully supported on targets that don't need libatomic.
>>
>>> * std::thread
>>> * std::queue
>>> * std::mutex
>>> * std::condition_variable
>>
>> Fully supported.
>>
>>> * std::chrono
>>
>> Partially supported. For the details run the libstdc++ test suite and
>> check the libstdc++ configure script which doesn't detect all RTEMS
>> features (we have to fix several configure checks for this).
>
> I've never looked at gcc sources, so I'm probably doing something 
> stupid..
>
> I ran RSB with --no-clean, and looked into the build directory for 
> libstdc++, which for me is:
>
> rtems-source-builder/rtems/build/arm-rtems4.12-gcc-6-20160228-newlib-2.3.0.20160226-x86_64-linux-gnu-1/gcc-6-20160228/libstdc++-v3 
>
>
>
> I can't seem to find any evidence of RTEMS. I was particular 
> interested in seeming something in config/os
>
>
> Could you point me in the right direction? I'd like to know what 
> things work. I'd be happy to make some fixes if it doesn't seem too hard.

Working with the GCC sources and build needs a bit of experience. The 
libstdc++ is customized via the output of the configure script. Some 
tests use a link-time test, which fails in case of RTEMS since several 
functions are declared in Newlib header files and defined in RTEMS, thus 
not link-time available during GCC build.

I think the main problem is that gcc_no_link=no 
(config/no-executables.m4) since

int
main ()
{

   ;
   return 0;
}

links. This leads GCC_TRY_COMPILE_OR_LINK() to use link-time configure 
tests.

-- 
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.




More information about the users mailing list