[riot-commits] [RIOT-OS/RIOT] 66092f: core: Introduce cross file arrays (XFA)

Kaspar Schleiser noreply at github.com
Thu Feb 18 14:49:45 CET 2021


  Branch: refs/heads/master
  Home:   https://github.com/RIOT-OS/RIOT
  Commit: 66092f5506207e4ac4cb31bc2d337ca3540e2920
      https://github.com/RIOT-OS/RIOT/commit/66092f5506207e4ac4cb31bc2d337ca3540e2920
  Author: Kaspar Schleiser <kaspar at schleiser.de>
  Date:   2021-02-16 (Tue, 16 Feb 2021)

  Changed paths:
    M Makefile.include
    A core/include/xfa.h
    A core/ldscripts/xfa.ld

  Log Message:
  -----------
  core: Introduce cross file arrays (XFA)

Co-Authored-By: Joakim Nohlgård <joakim.nohlgard at eistec.se>


  Commit: 97e1be083063d8935020d714954ed1f1dcb5aec8
      https://github.com/RIOT-OS/RIOT/commit/97e1be083063d8935020d714954ed1f1dcb5aec8
  Author: Joakim Nohlgård <joakim.nohlgard at eistec.se>
  Date:   2021-02-16 (Tue, 16 Feb 2021)

  Changed paths:
    A tests/xfa/Makefile
    A tests/xfa/main.c
    A tests/xfa/xfatest.h
    A tests/xfa/xfatest1.c
    A tests/xfa/xfatest2.c

  Log Message:
  -----------
  tests: Add xfa test


  Commit: 6adeec09e94079bb6e0c6d9ffc01ef9da5c863ff
      https://github.com/RIOT-OS/RIOT/commit/6adeec09e94079bb6e0c6d9ffc01ef9da5c863ff
  Author: Joakim Nohlgård <joakim.nohlgard at eistec.se>
  Date:   2021-02-16 (Tue, 16 Feb 2021)

  Changed paths:
    A cpu/atmega_common/ldscripts/xfa.ld
    M makefiles/arch/atmega.inc.mk

  Log Message:
  -----------
  atmega_common: add arch specific XFA ldscript to properly place .roxfa


  Commit: 12a2243485c98736526306d5374927c013f1cae8
      https://github.com/RIOT-OS/RIOT/commit/12a2243485c98736526306d5374927c013f1cae8
  Author: Joakim Nohlgård <joakim.nohlgard at eistec.se>
  Date:   2021-02-16 (Tue, 16 Feb 2021)

  Changed paths:
    A tests/unittests/tests-core/tests-core-xfa-data1.c
    A tests/unittests/tests-core/tests-core-xfa-data2.c
    A tests/unittests/tests-core/tests-core-xfa.c
    A tests/unittests/tests-core/tests-core-xfa.h
    M tests/unittests/tests-core/tests-core.c
    M tests/unittests/tests-core/tests-core.h

  Log Message:
  -----------
  unittests: Add XFA tests


  Commit: abca94b25ddc22ef137203632daa16c36ef84cf3
      https://github.com/RIOT-OS/RIOT/commit/abca94b25ddc22ef137203632daa16c36ef84cf3
  Author: Joakim Nohlgård <joakim.nohlgard at eistec.se>
  Date:   2021-02-16 (Tue, 16 Feb 2021)

  Changed paths:
    M tests/xfa/Makefile

  Log Message:
  -----------
  tests/xfa: Add static check of XFA linking


  Commit: a23b29d42e9b9cefbcdd76c3708b9eb84f8464cf
      https://github.com/RIOT-OS/RIOT/commit/a23b29d42e9b9cefbcdd76c3708b9eb84f8464cf
  Author: Joakim Nohlgård <joakim.nohlgard at eistec.se>
  Date:   2021-02-16 (Tue, 16 Feb 2021)

  Changed paths:
    M cpu/mips_pic32_common/Makefile.include
    A cpu/mips_pic32_common/ldscripts/xfa.ld

  Log Message:
  -----------
  pic32_common: Add CPU specific xfa.ld variant


  Commit: 3099e02953f940392777462d47d99cef82246a7e
      https://github.com/RIOT-OS/RIOT/commit/3099e02953f940392777462d47d99cef82246a7e
  Author: Gaëtan Harter <gaetan.harter at fu-berlin.de>
  Date:   2021-02-18 (Thu, 18 Feb 2021)

  Changed paths:
    M tests/xfa/Makefile
    M tests/xfa/main.c
    A tests/xfa/tests/01-run.py
    M tests/xfa/xfatest1.c
    M tests/xfa/xfatest2.c

  Log Message:
  -----------
  xfa: add a test script

Enable it for CI test


  Commit: d8d34e033ce24493cda3785124663c7b102d2129
      https://github.com/RIOT-OS/RIOT/commit/d8d34e033ce24493cda3785124663c7b102d2129
  Author: Kaspar Schleiser <kaspar at schleiser.de>
  Date:   2021-02-18 (Thu, 18 Feb 2021)

  Changed paths:
    M cpu/cortexm_common/ldscripts/cortexm_base.ld
    A cpu/cortexm_common/ldscripts/xfa.ld

  Log Message:
  -----------
  cpu/cortexm_common: add XFA handling to linkerscript

The global core/ldscripts/xfa.ld doesn't match our cortexm_base.ld.
This commit directly adds the two XFA lines to cortexm_base.ld.
In addition to that, a dummy (empty) xfa.ld is added, which the linker will pick
instead of core/ldscripts/xfa.ld, effectingly not using it.


  Commit: bdd59ae7f2c51bc8a89ed973732b03d186c36960
      https://github.com/RIOT-OS/RIOT/commit/bdd59ae7f2c51bc8a89ed973732b03d186c36960
  Author: Kaspar Schleiser <kaspar at schleiser.de>
  Date:   2021-02-18 (Thu, 18 Feb 2021)

  Changed paths:
    M core/include/xfa.h

  Log Message:
  -----------
  core: disable -Warray-bounds for XFA users


  Commit: 2474fa7af5d25fb76238de7d02dfa5494d74fefd
      https://github.com/RIOT-OS/RIOT/commit/2474fa7af5d25fb76238de7d02dfa5494d74fefd
  Author: Kaspar Schleiser <kaspar at schleiser.de>
  Date:   2021-02-18 (Thu, 18 Feb 2021)

  Changed paths:
    M cpu/esp32/ld/esp32.common.ld
    A cpu/esp32/ld/xfa.ld

  Log Message:
  -----------
  cpu/esp32: add XFA support


  Commit: 91b987acd63f7a45914ffb66a8a344208ef6847e
      https://github.com/RIOT-OS/RIOT/commit/91b987acd63f7a45914ffb66a8a344208ef6847e
  Author: Kaspar Schleiser <kaspar at schleiser.de>
  Date:   2021-02-18 (Thu, 18 Feb 2021)

  Changed paths:
    M cpu/esp8266/Makefile.include

  Log Message:
  -----------
  cpu/esp8266: add ld/ to linker search path, use it


  Commit: 06ec602782412c0a9d0216219645e799a6e4b3f4
      https://github.com/RIOT-OS/RIOT/commit/06ec602782412c0a9d0216219645e799a6e4b3f4
  Author: Kaspar Schleiser <kaspar at schleiser.de>
  Date:   2021-02-18 (Thu, 18 Feb 2021)

  Changed paths:
    M cpu/esp8266/ld/esp8266.riot-os.ld
    A cpu/esp8266/ld/xfa.ld

  Log Message:
  -----------
  cpu/esp8266: add XFA support


  Commit: f411fd481490f8a5cb25f78a2798ab918b646f2d
      https://github.com/RIOT-OS/RIOT/commit/f411fd481490f8a5cb25f78a2798ab918b646f2d
  Author: Kaspar Schleiser <kaspar at schleiser.de>
  Date:   2021-02-18 (Thu, 18 Feb 2021)

  Changed paths:
    A cpu/msp430_common/ldscripts/xfa.ld
    M makefiles/arch/msp430.inc.mk

  Log Message:
  -----------
  cpu/msp430_common: add XFA support


  Commit: ac549abbb9597bcbb42374d53f7495578d361ce6
      https://github.com/RIOT-OS/RIOT/commit/ac549abbb9597bcbb42374d53f7495578d361ce6
  Author: Kaspar Schleiser <kaspar at schleiser.de>
  Date:   2021-02-18 (Thu, 18 Feb 2021)

  Changed paths:
    M Makefile.include
    R core/ldscripts/xfa.ld

  Log Message:
  -----------
  xfa: remove common -Txfa.ld include


  Commit: ee9d6c879aad97e85c19e5fcf29068bf141375cf
      https://github.com/RIOT-OS/RIOT/commit/ee9d6c879aad97e85c19e5fcf29068bf141375cf
  Author: Kaspar Schleiser <kaspar at schleiser.de>
  Date:   2021-02-18 (Thu, 18 Feb 2021)

  Changed paths:
    M boards/native/Makefile.include
    A cpu/native/ldscripts/xfa.ld

  Log Message:
  -----------
  cpu/native: add XFA support


  Commit: 858b5ca6ed51d7d306828637b008923416b6a6ef
      https://github.com/RIOT-OS/RIOT/commit/858b5ca6ed51d7d306828637b008923416b6a6ef
  Author: Kaspar Schleiser <kaspar at schleiser.de>
  Date:   2021-02-18 (Thu, 18 Feb 2021)

  Changed paths:
    R cpu/cortexm_common/ldscripts/xfa.ld
    R cpu/esp32/ld/xfa.ld
    R cpu/esp8266/ld/xfa.ld

  Log Message:
  -----------
  xfa: remove obsolete empty xfa.ld


  Commit: b3b04faadb6783b6238a05eded75bb0bc8a0f9eb
      https://github.com/RIOT-OS/RIOT/commit/b3b04faadb6783b6238a05eded75bb0bc8a0f9eb
  Author: Kaspar Schleiser <kaspar at schleiser.de>
  Date:   2021-02-18 (Thu, 18 Feb 2021)

  Changed paths:
    M cpu/riscv_common/ldscripts/riscv_base.ld

  Log Message:
  -----------
  cpu/fe310: add XFA support


  Commit: 61d9f3474891dd013871b42cc705258df3cff1cc
      https://github.com/RIOT-OS/RIOT/commit/61d9f3474891dd013871b42cc705258df3cff1cc
  Author: Kaspar Schleiser <kaspar at schleiser.de>
  Date:   2021-02-18 (Thu, 18 Feb 2021)

  Changed paths:
    M cpu/lpc23xx/ldscripts/lpc23xx.ld

  Log Message:
  -----------
  cpu/lpc23xx: add XFA support


  Commit: b54afa144910464eceb96cdcdb7fa5df05d88c47
      https://github.com/RIOT-OS/RIOT/commit/b54afa144910464eceb96cdcdb7fa5df05d88c47
  Author: Kaspar Schleiser <kaspar at schleiser.de>
  Date:   2021-02-18 (Thu, 18 Feb 2021)

  Changed paths:
    M core/include/xfa.h

  Log Message:
  -----------
  xfa: remove duplicate "const" from _XFA_CONST


  Commit: 6711388afe844af36b13258f6786897fe4f0b17c
      https://github.com/RIOT-OS/RIOT/commit/6711388afe844af36b13258f6786897fe4f0b17c
  Author: Kaspar Schleiser <kaspar at schleiser.de>
  Date:   2021-02-18 (Thu, 18 Feb 2021)

  Changed paths:
    M makefiles/arch/mips.inc.mk

  Log Message:
  -----------
  cpu/mips_pic32_common: fix XFA support


  Commit: 50dc68bd210a14661c8d1874833f8b32b52556a8
      https://github.com/RIOT-OS/RIOT/commit/50dc68bd210a14661c8d1874833f8b32b52556a8
  Author: Kaspar Schleiser <kaspar at schleiser.de>
  Date:   2021-02-18 (Thu, 18 Feb 2021)

  Changed paths:
    M core/include/xfa.h

  Log Message:
  -----------
  core/xfa: make const XFA's volatile

This prevents gcc from figuring out that an XFA that has been
initialized in the same file is technically empty when the compilation
unit is seen by itself. This happened with gcc 10.1.0 on msp430-elf.


  Commit: e827f0bdf192f0318676c976c34c81fa314b8e58
      https://github.com/RIOT-OS/RIOT/commit/e827f0bdf192f0318676c976c34c81fa314b8e58
  Author: Kaspar Schleiser <kaspar at schleiser.de>
  Date:   2021-02-18 (Thu, 18 Feb 2021)

  Changed paths:
    M core/include/xfa.h

  Log Message:
  -----------
  core/xfa: add comments explaining the pragmas


  Commit: 2bc7bb474084f8aa1e544936d5329c93787d2442
      https://github.com/RIOT-OS/RIOT/commit/2bc7bb474084f8aa1e544936d5329c93787d2442
  Author: Kaspar Schleiser <kaspar at schleiser.de>
  Date:   2021-02-18 (Thu, 18 Feb 2021)

  Changed paths:
    M core/include/xfa.h

  Log Message:
  -----------
  core/xfa: make externc happy


  Commit: 249ed5f2e1b9656bf7f14327577af67f5685f59e
      https://github.com/RIOT-OS/RIOT/commit/249ed5f2e1b9656bf7f14327577af67f5685f59e
  Author: Kaspar Schleiser <kaspar at schleiser.de>
  Date:   2021-02-18 (Thu, 18 Feb 2021)

  Changed paths:
    M core/include/xfa.h

  Log Message:
  -----------
  core/include/xfa.h: uncrustify


  Commit: d310044a889d1f73331fe7a59a2cee35c9b96e10
      https://github.com/RIOT-OS/RIOT/commit/d310044a889d1f73331fe7a59a2cee35c9b96e10
  Author: Kaspar Schleiser <kaspar at schleiser.de>
  Date:   2021-02-18 (Thu, 18 Feb 2021)

  Changed paths:
    M core/include/xfa.h

  Log Message:
  -----------
  core/xfa: fix doxygen issues


  Commit: df4dc36d911c82c9d870bc1c7a483a6f680476a7
      https://github.com/RIOT-OS/RIOT/commit/df4dc36d911c82c9d870bc1c7a483a6f680476a7
  Author: Kaspar Schleiser <kaspar at schleiser.de>
  Date:   2021-02-18 (Thu, 18 Feb 2021)

  Changed paths:
    M core/include/xfa.h

  Log Message:
  -----------
  core/xfa: add "experimental" note


  Commit: 439b2d5d0e29c652fa7aa653e140a381d7a60c59
      https://github.com/RIOT-OS/RIOT/commit/439b2d5d0e29c652fa7aa653e140a381d7a60c59
  Author: Kaspar Schleiser <kaspar at schleiser.de>
  Date:   2021-02-18 (Thu, 18 Feb 2021)

  Changed paths:

  Log Message:
  -----------
  core: uncrustify xfa.h


  Commit: 15124e4769b2f673b778f928452fd45cf51cd675
      https://github.com/RIOT-OS/RIOT/commit/15124e4769b2f673b778f928452fd45cf51cd675
  Author: Kaspar Schleiser <kaspar at schleiser.de>
  Date:   2021-02-18 (Thu, 18 Feb 2021)

  Changed paths:
    M Makefile.include
    M boards/native/Makefile.include
    A core/include/xfa.h
    A cpu/atmega_common/ldscripts/xfa.ld
    M cpu/cortexm_common/ldscripts/cortexm_base.ld
    M cpu/esp32/ld/esp32.common.ld
    M cpu/esp8266/Makefile.include
    M cpu/esp8266/ld/esp8266.riot-os.ld
    M cpu/lpc23xx/ldscripts/lpc23xx.ld
    M cpu/mips_pic32_common/Makefile.include
    A cpu/mips_pic32_common/ldscripts/xfa.ld
    A cpu/msp430_common/ldscripts/xfa.ld
    A cpu/native/ldscripts/xfa.ld
    M cpu/riscv_common/ldscripts/riscv_base.ld
    M makefiles/arch/atmega.inc.mk
    M makefiles/arch/mips.inc.mk
    M makefiles/arch/msp430.inc.mk
    A tests/unittests/tests-core/tests-core-xfa-data1.c
    A tests/unittests/tests-core/tests-core-xfa-data2.c
    A tests/unittests/tests-core/tests-core-xfa.c
    A tests/unittests/tests-core/tests-core-xfa.h
    M tests/unittests/tests-core/tests-core.c
    M tests/unittests/tests-core/tests-core.h
    A tests/xfa/Makefile
    A tests/xfa/main.c
    A tests/xfa/tests/01-run.py
    A tests/xfa/xfatest.h
    A tests/xfa/xfatest1.c
    A tests/xfa/xfatest2.c

  Log Message:
  -----------
  Merge pull request #15002 from kaspar030/pr/xfa_v3

core: introduce crossfile arrays (xfa) v3


Compare: https://github.com/RIOT-OS/RIOT/compare/fbe6748c57a7...15124e4769b2


More information about the commits mailing list