dpdk_extra_ldflags += '-lasan'
endif
- if is_linux and arch_subdir in ['x86', 'arm'] and dpdk_conf.get('RTE_ARCH_64')
+ if is_linux and dpdk_conf.get('RTE_ARCH_64')
dpdk_conf.set10('RTE_MALLOC_ASAN', true)
endif
endif
- If the program is tested using cmdline, you may need to execute the
"stty echo" command when an error occurs.
-ASan is aware of DPDK memory allocations, thanks to added instrumentation.
-This is enabled on x86_64 and arm64 at the moment.
-Other architectures may have to define ASAN_SHADOW_OFFSET.
+ASan is aware of DPDK memory allocations, thanks to added instrumentation, and
+is enabled on all 64 bit architectures for Linux. Other architectures may have
+to define ASAN_SHADOW_OFFSET.
Example heap-buffer-overflow error
----------------------------------
#define ASAN_SHADOW_OFFSET 0x00007fff8000
#elif defined(RTE_ARCH_ARM64)
#define ASAN_SHADOW_OFFSET 0x001000000000
+#elif defined(RTE_ARCH_PPC_64)
+#define ASAN_SHADOW_OFFSET 0x020000000000
#endif
#define ASAN_SHADOW_GRAIN_SIZE 8