4.11 Branch BSP C++ Build Issues

Joel Sherrill joel.sherrill at oarcorp.com
Wed Oct 21 21:02:53 UTC 2015



On 10/21/2015 3:52 PM, Daniel Gutson wrote:
> On Wed, Oct 21, 2015 at 3:41 PM, Joel Sherrill
> <joel.sherrill at oarcorp.com> wrote:
>> Hi
>>
>> lm32, moxie, and nios2 all have generic issues with C++ applications
>> which indicate C++ is not really supported by gcc for these targets.
>
> Could you please provide more information/details about the error and messages?
> What does "C++ is not really supported" mean? C++ is front-end plus
> the STL, and since
> the front-end is target agnostic, I'm assuming there is some issue with the STL.

Ok.. if you see how to fix these, I am happy to push more testing. :)

======================================================
lm32 all bsps fail similar to this
======================================================
lm32-rtems4.11-g++ -B../../../../../lm32_evr_gdbsim/lib/ -specs bsp_specs -qrtems -O0 -g -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs       -o cxx_iostream.exe init.o
`.gcc_except_table._ZN9__gnu_cxx7__mutexD2Ev' referenced in section `.rodata.cst4' of /data/home/joel/rtems-4.11-work/tools/bin/../lib/gcc/lm32-rtems4.11/4.9.3/libstdc++.a(eh_terminate.o): defined in discarded section `.gcc_except_table._ZN9__gnu_cxx7__mutexD2Ev[_ZN9__gnu_cxx7__mutexD5Ev]' of /data/home/joel/rtems-4.11-work/tools/bin/../lib/gcc/lm32-rtems4.11/4.9.3/libstdc++.a(eh_terminate.o)
`.gcc_except_table._ZN9__gnu_cxx7__mutexD2Ev' referenced in section `.rodata.cst4' of /data/home/joel/rtems-4.11-work/tools/bin/../lib/gcc/lm32-rtems4.11/4.9.3/libstdc++.a(new_handler.o): defined in discarded section `.gcc_except_table._ZN9__gnu_cxx7__mutexD2Ev[_ZN9__gnu_cxx7__mutexD5Ev]' of /data/home/joel/rtems-4.11-work/tools/bin/../lib/gcc/lm32-rtems4.11/4.9.3/libstdc++.a(new_handler.o)
collect2: error: ld returned 1 exit status

Both linkcmds appear to have the right magic:

   .gcc_except_table   : {
     *(.gcc_except_table)
     *(.gcc_except_table.*)
   } > sdram
   
======================================================
Moxie
======================================================

moxie-rtems4.11-g++ -B../../../../../moxiesim/lib/ -specs bsp_specs -qrtems -Os -g -ffunction-sections -fdata-sections -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs  -Wl,--gc-sections     -o cxx_iostream.exe init.o
init.o: In function `__static_initialization_and_destruction_0':
/data/home/joel/rtems-4.11-work/tools/lib/gcc/moxie-rtems4.11/4.9.3/include/c++/iostream:74: undefined reference to `__dso_handle'
/data/home/joel/rtems-4.11-work/tools/bin/../lib/gcc/moxie-rtems4.11/4.9.3/libstdc++.a(locale_init.o): In function `get_locale_mutex':
/data/home/joel/rtems-4.11-work/rtems-source-builder/rtems/build/moxie-rtems4.11-gcc-4.9.3-newlib-2.2.0.20150423-x86_64-linux-gnu-1/build/moxie-rtems4.11/libstdc++-v3/src/c++98/../../../../../gcc-4.9.3/libstdc++-v3/src/c++98/locale_init.cc:36: undefined reference to `__dso_handle'
/data/home/joel/rtems-4.11-work/tools/bin/../lib/gcc/moxie-rtems4.11/4.9.3/libstdc++.a(eh_alloc.o): In function `__static_initialization_and_destruction_0':
/data/home/joel/rtems-4.11-work/rtems-source-builder/rtems/build/moxie-rtems4.11-gcc-4.9.3-newlib-2.2.0.20150423-x86_64-linux-gnu-1/build/moxie-rtems4.11/libstdc++-v3/libsupc++/../../../../gcc-4.9.3/libstdc++-v3/libsupc++/eh_alloc.cc:96: undefined reference to `__dso_handle'
/data/home/joel/rtems-4.11-work/tools/bin/../lib/gcc/moxie-rtems4.11/4.9.3/libstdc++.a(eh_globals.o): In function `__static_initialization_and_destruction_0':

======================================================
NIOS2
======================================================

Missing needed atomic operations.

nios2-rtems4.11-g++ -B../../../../../nios2_iss/lib/ -specs bsp_specs -qrtems -mno-hw-mul -mno-hw-div -O0 -g -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs    -mno-hw-mul -mno-hw-div   -o cxx_iostream.exe init.o
/data/home/joel/rtems-4.11-work/tools/bin/../lib/gcc/nios2-rtems4.11/4.9.3/libstdc++.a(ios_init.o): In function `__exchange_and_add_dispatch':
/data/home/joel/rtems-4.11-work/rtems-source-builder/rtems/build/nios2-rtems4.11-gcc-4.9.3-newlib-2.2.0.20150423-x86_64-linux-gnu-1/build/nios2-





More information about the devel mailing list