[SOLVED] Linker message "undefined reference to `__muldc3'" after upgrade to V6.22a

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • [SOLVED] Linker message "undefined reference to `__muldc3'" after upgrade to V6.22a

    Hi,
    we used to work with Segger EmbeddedStudio 5.40c and earlier version for a long time, without problems.
    After upgrade to EmbeddedStudio V6.22a our project doesn't build anymore.

    Error message from linker is: undefined reference to `__muldc3' ?(

    This message is related to a complex multiplication:

    C Source Code

    1. #include <complex.h>
    2. double complex a;
    3. double complex b;
    4. double complex tmp = a*b;

    Am I missing some package installation?
    With the previous version, we didn't install any packages.

    BR
    Dirk
  • Hi Dirk,
    Thank you for your inquiry.

    We checked internally and confirmed that this is a bug in the SEGGER Runtime Library.
    The bug was fixed internally.
    The fix will be part of the next release, planned for next week.

    Thank you for making this known to us.
    We are sorry for any inconvenience caused.

    Best regards,
    Fabian
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • Good Morning,

    I would like to inquire about the current status regarding the next Segger Embedded Studio Release. This would help a lot and save me the trouble of checking in the current work-a-rounds.

    Kind regards,
    Thomas
  • Yes, seeing something similar after upgrade from SES 5.42b to 6.22a
    Not sure if it is the same issue you identified, but likely close.

    When trying to compile code with complex operations ...
    '_Complex_I' undeclared (first use in this function); did you mean 'complex'?

    The <complex.h> had 2 'complex.h' files in SES 5.42b
    They were located at
    C:\Program Files\SEGGER\SEGGER Embedded Studio for ARM 5.42b\include\complex.h
    C:\Program Files\SEGGER\SEGGER Embedded Studio for ARM 5.42b\segger-rtl\include\complex.h

    For SES 6.22a it has only one 'complex.h' located at:
    C:\Program Files\SEGGER\SEGGER Embedded Studio for ARM 6.22a\include\complex.h

    But contents of above file is very close to contents of \SEGGER Embedded Studio for ARM 5.42b\segger-rtl\include\complex.h

    Hoping we can get a fix soon :}
  • FYI ... I replaced
    C:\Program Files\SEGGER\SEGGER Embedded Studio for ARM 6.22a\include\complex.h
    with the file located at
    C:\Program Files\SEGGER\SEGGER Embedded Studio for ARM 5.42b\include\complex.h

    and that allowed my application to compile properly.
  • Tried to compile other applications ...

    Several files missing from C:\Program Files\SEGGER\SEGGER Embedded Studio for ARM 6.22a\include directory ...

    __vfprintf.h
    __argtype.h
    __crossworks.h

    stdio.h has same issues as complex.h
    There are 2 'stdio.h' files in 2 different directories in SES 5.42b, but only one in SES 6.22a

    Holy smokes too much to fix up here.

    These compilation issues are in SEGGER_RTTxxx files.

    Coming from a Nordic nRF52 SDK17 code base ... so seeing what are the various changes were.
    SDK17 included extra files SEGGER_RTT_printf.c and SEGGER_RTT_Syscalls_SES.c.
    These 2 files reference .h files that were present in previous SES 5.42b, but but no longer in SES 6.22a

    I noticed SES 6.22a debug operations were not working reliable from the IDE.
    Simply selecting Debug->Break would not pause(break) the application sporadically.

    The post was edited 1 time, last by mtsun ().

  • Regarding the RTT problem, I simply had to add a new line LIBRARY_IO_TYPE="RTT" to the .emProject file in v6.22a:

    e.g.

    <!DOCTYPE CrossStudio_Project_File>
    <solution Name="x-solution" target="8" version="2">
    <project Name="x-project">
    <configuration
    JLinkLogFileName="$(ProjectDir)/jlink.log"
    JLinkScriptFileName="$(ProjectDir)/Flashloader1064.JLinkScript"
    LIBRARY_IO_TYPE="RTT"
    Name="Common"
    Target="MIMXRT1064xxxxx"