Skip to content

Commit c159128

Browse files
hliao8lgirdwood
authored andcommitted
audio: hifi: Guard <xtensa/config/defs.h> with __has_include
The HiFi3 / HiFi4 / HiFi5 sources unconditionally include <xtensa/config/defs.h>, a header that ships only with the Cadence xt-clang / xt-gcc toolchains. The LLVM clang toolchain variant uses the Zephyr SDK GNU Xtensa binutils for assembly/linking but does not expose that Cadence-internal header, so every HiFi translation unit fails to find it even though the body of the file is guarded by SOF_USE_HIFI(...) and is unreachable for the LLVM build. Wrap the include in __has_include so the compiler silently skips it on toolchains that lack the header. The HiFi intrinsics are already supplied by <xtensa/tie/xt_hifiN.h>, which the LLVM toolchain does provide. No functional change for the Cadence toolchain path. Signed-off-by: Henry Liao <hliao8@proton.me>
1 parent 3ec0261 commit c159128

14 files changed

Lines changed: 98 additions & 14 deletions

File tree

src/audio/aria/aria_hifi3.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,13 @@
55
#include "aria.h"
66

77
#if SOF_USE_HIFI(3, ARIA) || SOF_USE_HIFI(4, ARIA)
8-
#include <xtensa/config/defs.h>
8+
#if defined(__has_include)
9+
# if __has_include(<xtensa/config/defs.h>)
10+
# include <xtensa/config/defs.h>
11+
# endif
12+
#else
13+
# include <xtensa/config/defs.h>
14+
#endif
915
#include <xtensa/tie/xt_hifi3.h>
1016

1117
extern const int32_t sof_aria_index_tab[];

src/audio/aria/aria_hifi5.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,13 @@
55
#include "aria.h"
66

77
#if SOF_USE_HIFI(5, ARIA)
8-
#include <xtensa/config/defs.h>
8+
#if defined(__has_include)
9+
# if __has_include(<xtensa/config/defs.h>)
10+
# include <xtensa/config/defs.h>
11+
# endif
12+
#else
13+
# include <xtensa/config/defs.h>
14+
#endif
915
#include <xtensa/tie/xt_hifi5.h>
1016

1117
extern const int32_t sof_aria_index_tab[];

src/audio/eq_fir/eq_fir_hifi2ep.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,13 @@
1313
#include <sof/audio/buffer.h>
1414
#include <sof/audio/format.h>
1515
#include <sof/math/fir_hifi2ep.h>
16-
#include <xtensa/config/defs.h>
16+
#if defined(__has_include)
17+
# if __has_include(<xtensa/config/defs.h>)
18+
# include <xtensa/config/defs.h>
19+
# endif
20+
#else
21+
# include <xtensa/config/defs.h>
22+
#endif
1723
#include <xtensa/tie/xt_hifi2.h>
1824
#include <errno.h>
1925
#include <stddef.h>

src/audio/eq_fir/eq_fir_hifi3.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,13 @@
1212
#include <sof/audio/module_adapter/module/generic.h>
1313
#include <sof/math/fir_hifi3.h>
1414
#include <user/fir.h>
15-
#include <xtensa/config/defs.h>
15+
#if defined(__has_include)
16+
# if __has_include(<xtensa/config/defs.h>)
17+
# include <xtensa/config/defs.h>
18+
# endif
19+
#else
20+
# include <xtensa/config/defs.h>
21+
#endif
1622
#include <xtensa/tie/xt_hifi3.h>
1723
#include <errno.h>
1824
#include <stddef.h>

src/audio/src/src_hifi2ep.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,13 @@
1212

1313
#include "src_common.h"
1414

15-
#include <xtensa/config/defs.h>
15+
#if defined(__has_include)
16+
# if __has_include(<xtensa/config/defs.h>)
17+
# include <xtensa/config/defs.h>
18+
# endif
19+
#else
20+
# include <xtensa/config/defs.h>
21+
#endif
1622
#include <xtensa/tie/xt_hifi2.h>
1723
#include <stddef.h>
1824
#include <stdint.h>

src/audio/src/src_hifi3.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,13 @@
1212

1313
#include "src_common.h"
1414

15-
#include <xtensa/config/defs.h>
15+
#if defined(__has_include)
16+
# if __has_include(<xtensa/config/defs.h>)
17+
# include <xtensa/config/defs.h>
18+
# endif
19+
#else
20+
# include <xtensa/config/defs.h>
21+
#endif
1622
#include <xtensa/tie/xt_hifi3.h>
1723
#include <stddef.h>
1824
#include <stdint.h>

src/audio/src/src_hifi4.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,13 @@
1414
#include "src_common.h"
1515

1616
#include <sof/math/numbers.h>
17-
#include <xtensa/config/defs.h>
17+
#if defined(__has_include)
18+
# if __has_include(<xtensa/config/defs.h>)
19+
# include <xtensa/config/defs.h>
20+
# endif
21+
#else
22+
# include <xtensa/config/defs.h>
23+
#endif
1824
#include <xtensa/tie/xt_hifi4.h>
1925
#include <stddef.h>
2026
#include <stdint.h>

src/audio/src/src_hifi5.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,13 @@
1414
#include "src_common.h"
1515

1616
#include <sof/math/numbers.h>
17-
#include <xtensa/config/defs.h>
17+
#if defined(__has_include)
18+
# if __has_include(<xtensa/config/defs.h>)
19+
# include <xtensa/config/defs.h>
20+
# endif
21+
#else
22+
# include <xtensa/config/defs.h>
23+
#endif
1824
#include <xtensa/tie/xt_hifi5.h>
1925
#include <stddef.h>
2026
#include <stdint.h>

src/include/sof/audio/format_hifi3.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,13 @@
99
#define __SOF_AUDIO_FORMAT_HIFI3_H__
1010

1111
#include <stdint.h>
12-
#include <xtensa/config/defs.h>
12+
#if defined(__has_include)
13+
# if __has_include(<xtensa/config/defs.h>)
14+
# include <xtensa/config/defs.h>
15+
# endif
16+
#else
17+
# include <xtensa/config/defs.h>
18+
#endif
1319
#include <xtensa/tie/xt_hifi3.h>
1420

1521
/* Saturation inline functions */

src/include/sof/math/fir_hifi2ep.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,13 @@
1616
#include <sof/audio/audio_stream.h>
1717
#include <sof/audio/buffer.h>
1818
#include <user/fir.h>
19-
#include <xtensa/config/defs.h>
19+
#if defined(__has_include)
20+
# if __has_include(<xtensa/config/defs.h>)
21+
# include <xtensa/config/defs.h>
22+
# endif
23+
#else
24+
# include <xtensa/config/defs.h>
25+
#endif
2026
#include <xtensa/tie/xt_hifi2.h>
2127
#include <stdint.h>
2228

0 commit comments

Comments
 (0)