Skip to content

synch_barrier not define when using pulpissimo configuration #17

@hongzhi2015

Description

@hongzhi2015

When running tests from https://github.com/pulp-platform/regression_tests/

E.g.
regression_tests/sequential_bare_tests/fft

...
$ export PULP_RISCV_GCC_TOOLCHAIN=/xxx/v1.0.16-pulp-riscv-gcc-centos-7
$ source pulp-runtime/configs/pulpissimo.sh
$ cd regression_tests/sequential_bare_tests/fft
$ make clean
$ make all
LD  pulp-platform/regression_tests/sequential_bare_tests/fft/build/test/test
pulp-platform/regression_tests/sequential_bare_tests/fft/build/test/main.o: In function `main':
main.c:(.text.startup.main+0x18): undefined reference to `synch_barrier'
main.c:(.text.startup.main+0x24): undefined reference to `synch_barrier'
main.c:(.text.startup.main+0x8e): undefined reference to `synch_barrier'
collect2: error: ld returned 1 exit status
...

synch_barrier is declared in include/pulp.h, and defined in kernel/cluster.c, but kernel/cluster.c will not be compiled when using pulpissimo configuration.

To override this issue, I edit include/pulp.h by replacing

void synch_barrier();

by

#ifdef ARCHI_HAS_CLUSTER 
 
void synch_barrier(); 
 
#else 
 
static inline void synch_barrier() {} 
 
#endif 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions