[riot-commits] [RIOT-OS/RIOT] e9ecca: cpu/esp32: fix unknown symbols for unused functions

MichelRottleuthner noreply at github.com
Tue Aug 6 15:37:02 CEST 2019


  Branch: refs/heads/master
  Home:   https://github.com/RIOT-OS/RIOT
  Commit: e9ecca2c6296dc9a2506d323c678fb1e43c67ec6
      https://github.com/RIOT-OS/RIOT/commit/e9ecca2c6296dc9a2506d323c678fb1e43c67ec6
  Author: Gunar Schorcht <gunar at schorcht.net>
  Date:   2019-08-06 (Tue, 06 Aug 2019)

  Changed paths:
    M cpu/esp32/Makefile.include

  Log Message:
  -----------
  cpu/esp32: fix unknown symbols for unused functions

Fixes the problem that the compilation of an applications can throw unknown symbol errors for functions that aren't use at all. Thus, it is possible to remove the warning for unknown symbols and the compilation can abort if there are real unknown symbols.


  Commit: 4972d5bd670df6eec63f634098228cb4cfaa2c35
      https://github.com/RIOT-OS/RIOT/commit/4972d5bd670df6eec63f634098228cb4cfaa2c35
  Author: Gunar Schorcht <gunar at schorcht.net>
  Date:   2019-08-06 (Tue, 06 Aug 2019)

  Changed paths:
    M cpu/esp32/Makefile.include

  Log Message:
  -----------
  cpu/esp32: fix pthread_setcancelstate symbol problem

When linking an application, symbol pthread_setcancelstate is not known in standard C libraries, even if the pthread module is linked. This is because the pthread module is grouped with all other modules, but not with the default C libraries when they are added to LINK_FLAGS. Therefore, standard C libraries have to be added also to BASELIBS to group them with all other modules.


  Commit: 9e47872a59d16406107951e6da99678839bc33df
      https://github.com/RIOT-OS/RIOT/commit/9e47872a59d16406107951e6da99678839bc33df
  Author: Gunar Schorcht <gunar at schorcht.net>
  Date:   2019-08-06 (Tue, 06 Aug 2019)

  Changed paths:
    M cpu/esp32/Makefile.include
    M cpu/esp32/syscalls.c

  Log Message:
  -----------
  cpu/esp32: fix multiple definition of putchar

When standard C libraries are added to BASELIBS to group them together with all other modules, there are multiple definitions for the putchar function. The one that is defined writing to the UART as standard output and the one that is provided by the standard C libraries. To solve this symbol conflict, putchar and getchar functions that use the UART as standard output/input are renamed to __wrap_putchar and __wrap_getchar and the linker options are extended by -Wl,-wrap option.


  Commit: 7f30bf2aef11fdacca9fcaeacfdfbf8c268a56ab
      https://github.com/RIOT-OS/RIOT/commit/7f30bf2aef11fdacca9fcaeacfdfbf8c268a56ab
  Author: Gunar Schorcht <gunar at schorcht.net>
  Date:   2019-08-06 (Tue, 06 Aug 2019)

  Changed paths:
    M cpu/esp32/vendor/esp-idf/Makefile

  Log Message:
  -----------
  cpu/esp32: optimizing compilation of subdirs

A number of subdirectories in cpu/esp32/vendor/esp-idf have to be compiled ony, when according modules are required by the application.


  Commit: e4198542d13ea7df119824836a8afae0e64b903c
      https://github.com/RIOT-OS/RIOT/commit/e4198542d13ea7df119824836a8afae0e64b903c
  Author: Gunar Schorcht <gunar at schorcht.net>
  Date:   2019-08-06 (Tue, 06 Aug 2019)

  Changed paths:
    M cpu/esp32/Makefile.include
    M cpu/esp32/syscalls.c

  Log Message:
  -----------
  cpu/esp32: fix multiple definitions with esp_idf_heap

If module esp_idf_heap is used, the memory management functions _malloc_r, _realloc_r, _calloc_r and _free_r have to be overridden by wrapper functions to use the heap_* functions of module _esp_idf_heap. However, this can lead to multiple symbol errors for these functions for some applications. To solve this symbol conflict, _malloc_r, _realloc_r, _calloc_r and _free_r functions are renamed to __wrap_* and the linker options are extended by -Wl,-wrap option when module esp_idf_heap is used.


  Commit: 8589382899f55df56316876c0e7e61b102ee7cc0
      https://github.com/RIOT-OS/RIOT/commit/8589382899f55df56316876c0e7e61b102ee7cc0
  Author: MichelRottleuthner <michel.rottleuthner at haw-hamburg.de>
  Date:   2019-08-06 (Tue, 06 Aug 2019)

  Changed paths:
    M cpu/esp32/Makefile.include
    M cpu/esp32/syscalls.c
    M cpu/esp32/vendor/esp-idf/Makefile

  Log Message:
  -----------
  Merge pull request #11967 from gschorcht/cpu/esp32/make/fix-undefined-symbols

cpu/esp32: cleanup to fix undefined symbols


Compare: https://github.com/RIOT-OS/RIOT/compare/b388a5b3d202...8589382899f5


More information about the commits mailing list