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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions