<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Re: arm-none-eabi conflicting with mqx: multiple definitions of stdio.h and others causing compiler problems. in MQX Software Solutions</title>
    <link>https://community.nxp.com/t5/MQX-Software-Solutions/arm-none-eabi-conflicting-with-mqx-multiple-definitions-of-stdio/m-p/430020#M14378</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Not that I can see, the linker call looks like this (line broken for readability):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_14296435029872998" jivemacro_uid="_14296435029872998"&gt;
&lt;P&gt;arm-none-eabi-g++ &lt;/P&gt;
&lt;P&gt;-mcpu=cortex-m4 &lt;/P&gt;
&lt;P&gt;-mthumb &lt;/P&gt;
&lt;P&gt;-mfloat-abi=hard &lt;/P&gt;
&lt;P&gt;-mfpu=fpv4-sp-d16 &lt;/P&gt;
&lt;P&gt;-O0 &lt;/P&gt;
&lt;P&gt;-fmessage-length=0 &lt;/P&gt;
&lt;P&gt;-fsigned-char &lt;/P&gt;
&lt;P&gt;-ffunction-sections &lt;/P&gt;
&lt;P&gt;-fdata-sections&amp;nbsp; &lt;/P&gt;
&lt;P&gt;-g3 &lt;/P&gt;
&lt;P&gt;-T "MK64FN1M0xxx12_flash.ld" &lt;/P&gt;
&lt;P&gt;-Xlinker --gc-sections &lt;/P&gt;
&lt;P&gt;-L&lt;/P&gt;
&lt;P&gt;"D:/Development/13214-ELMU/trunk/ETCCode/ELMU_KDS_K64/ELMU_KDS_K64/Project_Settings/Linker_Files" -L&lt;/P&gt;
&lt;P&gt;"D:\Development\13214-ELMU\trunk\Freescale\KSDK_1.1.0/lib/ksdk_mqx_lib/kds/K64F12/Debug" -L&lt;/P&gt;
&lt;P&gt;"D:\Development\13214-ELMU\trunk\Freescale\KSDK_1.1.0/rtos/mqx/lib/frdmk64f.kds/debug/mqx" -L&lt;/P&gt;
&lt;P&gt;"D:\Development\13214-ELMU\trunk\Freescale\KSDK_1.1.0/rtos/mqx/lib/frdmk64f.kds/debug/mqx_stdlib"&lt;/P&gt;
&lt;P&gt; -Wl,-Map,"ELMU_KDS_K64.map" &lt;/P&gt;
&lt;P&gt;-nanolibc &lt;/P&gt;
&lt;P&gt;-o "ELMU_KDS_K64.elf"&amp;nbsp; &lt;/P&gt;
&lt;P&gt;./Sources/Utilities/fsl_debug_console.o&amp;nbsp; &lt;/P&gt;
&lt;P&gt;./Sources/Board/gpio_pins.o &lt;/P&gt;
&lt;P&gt;./Sources/Board/hardware_init.o &lt;/P&gt;
&lt;P&gt;./Sources/Board/pin_mux.o&amp;nbsp; &lt;/P&gt;
&lt;P&gt;./Sources/BSP_files/init_bsp.o &lt;/P&gt;
&lt;P&gt;./Sources/BSP_files/mqx_main.o&amp;nbsp; &lt;/P&gt;
&lt;P&gt;./Sources/config.o &lt;/P&gt;
&lt;P&gt;./Sources/main_task.o&amp;nbsp; &lt;/P&gt;
&lt;P&gt;./Project_Settings/Startup_Code/startup.o &lt;/P&gt;
&lt;P&gt;./Project_Settings/Startup_Code/startup_MK64F12.o &lt;/P&gt;
&lt;P&gt;./Project_Settings/Startup_Code/system_MK64F12.o&amp;nbsp; &lt;/P&gt;
&lt;P&gt;D:/Development/13214-ELMU/trunk/Freescale/KSDK_1.1.0/lib/ksdk_mqx_lib/kds/K64F12/Debug/libksdk_platform_mqx.a&lt;/P&gt;
&lt;P&gt;D:/Development/13214-ELMU/trunk/Freescale/KSDK_1.1.0/filesystem/mfs/lib/frdmk64f.kds/debug/mfs/lib_mfs.a&lt;/P&gt;
&lt;P&gt;D:/Development/13214-ELMU/trunk/Freescale/KSDK_1.1.0/tcpip/rtcs/lib/frdmk64f.kds/debug/rtcs/lib_rtcs.a &lt;/P&gt;
&lt;P&gt;D:/Development/13214-ELMU/trunk/Freescale/KSDK_1.1.0/rtos/mqx/lib/frdmk64f.kds/debug/mqx/lib_mqx.a &lt;/P&gt;
&lt;P&gt;D:/Development/13214-ELMU/trunk/Freescale/KSDK_1.1.0/rtos/mqx/lib/frdmk64f.kds/debug/mqx_stdlib/lib_mqx_stdlib.a &lt;/P&gt;
&lt;P&gt;-lksdk_platform_mqx &lt;/P&gt;
&lt;P&gt;-l_mqx &lt;/P&gt;
&lt;P&gt;-l_mqx_stdlib&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Would I add that to the command line pattern for the linker? I don't see any built in option to add that call.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also, for some reason it's defaulting to the Cross ARM C++ Linker as the linker tool, Where it was the Windows ARM Ltd GCC C Linker in Codewarrrior. I can go into the toolchain editor and select tools, but I can't replace it with the Cross ARM C Linker without forcing "Allow all changes". Could this be part of the issue as well?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sean&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 21 Apr 2015 19:17:48 GMT</pubDate>
    <dc:creator>ironsean</dc:creator>
    <dc:date>2015-04-21T19:17:48Z</dc:date>
    <item>
      <title>arm-none-eabi conflicting with mqx: multiple definitions of stdio.h and others causing compiler problems.</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/arm-none-eabi-conflicting-with-mqx-multiple-definitions-of-stdio/m-p/430018#M14376</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm working with KDS 1.1.0 and KSDK 2.0.0, trying to port a previous project from MQX 4.1.0 and CodeWarrior 10.6. I'm using C on a Freescale FRDM-K64F board.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I followed the guide at &lt;A _jive_internal="true" href="https://community.nxp.com/message/506434#506434" rel="nofollow noopener noreferrer" target="_blank"&gt;https://community.freescale.com/message/506434&lt;/A&gt; to make a new KDS project running and compiling. Then I tried to emulate the steps to add the RTCS and MFS projects. After copying over some of my own code and adding some of the library includes I need (mqx.h, lqmsgq.h, mfs.h) and then I get errors for Multiple definition of __dso_handle, _init,_fini in comp.c. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_14296375070938778" jivemacro_uid="_14296375070938778"&gt;
&lt;P&gt;D:/Development/13214-ELMU/trunk/Freescale/KSDK_1.1.0/rtos/mqx/lib/frdmk64f.kds/debug/mqx/lib_mqx.a(comp.o): In function `_exit':&lt;/P&gt;
&lt;P&gt;D:/Development/13214-ELMU/trunk/Freescale/KSDK_1.1.0/rtos/mqx/mqx/source/psp/cortex_m/compiler/gcc_arm/comp.c:65: multiple definition of `__dso_handle'&lt;/P&gt;
&lt;P&gt;d:/freescale/kds_2.0.0/toolchain/bin/../lib/gcc/arm-none-eabi/4.8.0/m4/fp/v4-sp-d16/crtbegin.o:(.data.__dso_handle+0x0): first defined here&lt;/P&gt;
&lt;P&gt;D:/Development/13214-ELMU/trunk/Freescale/KSDK_1.1.0/rtos/mqx/lib/frdmk64f.kds/debug/mqx/lib_mqx.a(comp.o): In function `toolchain_startup':&lt;/P&gt;
&lt;P&gt;D:/Development/13214-ELMU/trunk/Freescale/KSDK_1.1.0/rtos/mqx/mqx/source/psp/cortex_m/compiler/gcc_arm/comp.c:75: multiple definition of `_init'&lt;/P&gt;
&lt;P&gt;d:/freescale/kds_2.0.0/toolchain/bin/../lib/gcc/arm-none-eabi/4.8.0/m4/fp/v4-sp-d16/crti.o:(.init+0x0): first defined here&lt;/P&gt;
&lt;P&gt;D:/Development/13214-ELMU/trunk/Freescale/KSDK_1.1.0/rtos/mqx/lib/frdmk64f.kds/debug/mqx/lib_mqx.a(comp.o): In function `_fini':&lt;/P&gt;
&lt;P&gt;D:/Development/13214-ELMU/trunk/Freescale/KSDK_1.1.0/rtos/mqx/mqx/source/psp/cortex_m/compiler/gcc_arm/comp.c:85: multiple definition of `_fini'&lt;/P&gt;
&lt;P&gt;d:/freescale/kds_2.0.0/toolchain/bin/../lib/gcc/arm-none-eabi/4.8.0/m4/fp/v4-sp-d16/crti.o:(.fini+0x0): first defined here&lt;/P&gt;
&lt;P&gt;collect2.exe: error: ld returned 1 exit status&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It looks like some of the standard library definitions in the PSP code are conflicting with the definitions in the arm-none-eabi code.ns, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As well, when I go to find stdio.h, I can find two versions, one in KSDK_1.1.0\rtos\mqx\mqx_stdlib\source\include\stdio.h, and the other in KDS_2.0.0\toolchain\arm-none-eabi\include\stdio.h.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This thread about C++ support(&lt;A href="https://community.nxp.com/thread/305191" rel="nofollow noopener noreferrer" target="_blank"&gt;EWL C++ in MQX.&lt;/A&gt;), and a similar conflict with EWL and C++ shows that a lot of the MQX functions need to be redefined to MQX specific versions where conflicts arise. Is this the same situation now? I seem to remember that MQX had all MQX specific functions and structures in the previous MQX 4.1.0 and CW implementation. Has this changed? Do I need to modify the sources in the MQX libraries to remove the conflicts? Is there something I'm doing wrong in my project settings or compile process that might be leading to these conflicts?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Sean&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Apr 2015 17:38:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/arm-none-eabi-conflicting-with-mqx-multiple-definitions-of-stdio/m-p/430018#M14376</guid>
      <dc:creator>ironsean</dc:creator>
      <dc:date>2015-04-21T17:38:34Z</dc:date>
    </item>
    <item>
      <title>Re: arm-none-eabi conflicting with mqx: multiple definitions of stdio.h and others causing compiler problems.</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/arm-none-eabi-conflicting-with-mqx-multiple-definitions-of-stdio/m-p/430019#M14377</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Do you have "-z muldefs" for the gcc linker? Seems the multiple definitions needs to be allowed as some standard C library (toolchain lib) functions are overloaded.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Apr 2015 18:09:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/arm-none-eabi-conflicting-with-mqx-multiple-definitions-of-stdio/m-p/430019#M14377</guid>
      <dc:creator>Martin_</dc:creator>
      <dc:date>2015-04-21T18:09:36Z</dc:date>
    </item>
    <item>
      <title>Re: Re: arm-none-eabi conflicting with mqx: multiple definitions of stdio.h and others causing compiler problems.</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/arm-none-eabi-conflicting-with-mqx-multiple-definitions-of-stdio/m-p/430020#M14378</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Not that I can see, the linker call looks like this (line broken for readability):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_14296435029872998" jivemacro_uid="_14296435029872998"&gt;
&lt;P&gt;arm-none-eabi-g++ &lt;/P&gt;
&lt;P&gt;-mcpu=cortex-m4 &lt;/P&gt;
&lt;P&gt;-mthumb &lt;/P&gt;
&lt;P&gt;-mfloat-abi=hard &lt;/P&gt;
&lt;P&gt;-mfpu=fpv4-sp-d16 &lt;/P&gt;
&lt;P&gt;-O0 &lt;/P&gt;
&lt;P&gt;-fmessage-length=0 &lt;/P&gt;
&lt;P&gt;-fsigned-char &lt;/P&gt;
&lt;P&gt;-ffunction-sections &lt;/P&gt;
&lt;P&gt;-fdata-sections&amp;nbsp; &lt;/P&gt;
&lt;P&gt;-g3 &lt;/P&gt;
&lt;P&gt;-T "MK64FN1M0xxx12_flash.ld" &lt;/P&gt;
&lt;P&gt;-Xlinker --gc-sections &lt;/P&gt;
&lt;P&gt;-L&lt;/P&gt;
&lt;P&gt;"D:/Development/13214-ELMU/trunk/ETCCode/ELMU_KDS_K64/ELMU_KDS_K64/Project_Settings/Linker_Files" -L&lt;/P&gt;
&lt;P&gt;"D:\Development\13214-ELMU\trunk\Freescale\KSDK_1.1.0/lib/ksdk_mqx_lib/kds/K64F12/Debug" -L&lt;/P&gt;
&lt;P&gt;"D:\Development\13214-ELMU\trunk\Freescale\KSDK_1.1.0/rtos/mqx/lib/frdmk64f.kds/debug/mqx" -L&lt;/P&gt;
&lt;P&gt;"D:\Development\13214-ELMU\trunk\Freescale\KSDK_1.1.0/rtos/mqx/lib/frdmk64f.kds/debug/mqx_stdlib"&lt;/P&gt;
&lt;P&gt; -Wl,-Map,"ELMU_KDS_K64.map" &lt;/P&gt;
&lt;P&gt;-nanolibc &lt;/P&gt;
&lt;P&gt;-o "ELMU_KDS_K64.elf"&amp;nbsp; &lt;/P&gt;
&lt;P&gt;./Sources/Utilities/fsl_debug_console.o&amp;nbsp; &lt;/P&gt;
&lt;P&gt;./Sources/Board/gpio_pins.o &lt;/P&gt;
&lt;P&gt;./Sources/Board/hardware_init.o &lt;/P&gt;
&lt;P&gt;./Sources/Board/pin_mux.o&amp;nbsp; &lt;/P&gt;
&lt;P&gt;./Sources/BSP_files/init_bsp.o &lt;/P&gt;
&lt;P&gt;./Sources/BSP_files/mqx_main.o&amp;nbsp; &lt;/P&gt;
&lt;P&gt;./Sources/config.o &lt;/P&gt;
&lt;P&gt;./Sources/main_task.o&amp;nbsp; &lt;/P&gt;
&lt;P&gt;./Project_Settings/Startup_Code/startup.o &lt;/P&gt;
&lt;P&gt;./Project_Settings/Startup_Code/startup_MK64F12.o &lt;/P&gt;
&lt;P&gt;./Project_Settings/Startup_Code/system_MK64F12.o&amp;nbsp; &lt;/P&gt;
&lt;P&gt;D:/Development/13214-ELMU/trunk/Freescale/KSDK_1.1.0/lib/ksdk_mqx_lib/kds/K64F12/Debug/libksdk_platform_mqx.a&lt;/P&gt;
&lt;P&gt;D:/Development/13214-ELMU/trunk/Freescale/KSDK_1.1.0/filesystem/mfs/lib/frdmk64f.kds/debug/mfs/lib_mfs.a&lt;/P&gt;
&lt;P&gt;D:/Development/13214-ELMU/trunk/Freescale/KSDK_1.1.0/tcpip/rtcs/lib/frdmk64f.kds/debug/rtcs/lib_rtcs.a &lt;/P&gt;
&lt;P&gt;D:/Development/13214-ELMU/trunk/Freescale/KSDK_1.1.0/rtos/mqx/lib/frdmk64f.kds/debug/mqx/lib_mqx.a &lt;/P&gt;
&lt;P&gt;D:/Development/13214-ELMU/trunk/Freescale/KSDK_1.1.0/rtos/mqx/lib/frdmk64f.kds/debug/mqx_stdlib/lib_mqx_stdlib.a &lt;/P&gt;
&lt;P&gt;-lksdk_platform_mqx &lt;/P&gt;
&lt;P&gt;-l_mqx &lt;/P&gt;
&lt;P&gt;-l_mqx_stdlib&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Would I add that to the command line pattern for the linker? I don't see any built in option to add that call.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also, for some reason it's defaulting to the Cross ARM C++ Linker as the linker tool, Where it was the Windows ARM Ltd GCC C Linker in Codewarrrior. I can go into the toolchain editor and select tools, but I can't replace it with the Cross ARM C Linker without forcing "Allow all changes". Could this be part of the issue as well?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sean&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Apr 2015 19:17:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/arm-none-eabi-conflicting-with-mqx-multiple-definitions-of-stdio/m-p/430020#M14378</guid>
      <dc:creator>ironsean</dc:creator>
      <dc:date>2015-04-21T19:17:48Z</dc:date>
    </item>
    <item>
      <title>Re: Re: arm-none-eabi conflicting with mqx: multiple definitions of stdio.h and others causing compiler problems.</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/arm-none-eabi-conflicting-with-mqx-multiple-definitions-of-stdio/m-p/430021#M14379</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Adding "&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px;"&gt;-z muldefs" to the "other linker flags" section of the Properties-&amp;gt;C/C++ Build-&amp;gt;Settings-&amp;gt;Tool Settings-&amp;gt;Cross ARM C++ Linker-&amp;gt;Miscellaneous-&amp;gt;Other linker flags allowed it to compile. Thanks!&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Apr 2015 20:07:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/arm-none-eabi-conflicting-with-mqx-multiple-definitions-of-stdio/m-p/430021#M14379</guid>
      <dc:creator>ironsean</dc:creator>
      <dc:date>2015-04-21T20:07:58Z</dc:date>
    </item>
  </channel>
</rss>

