eal/ppc: support ASan
Add support for Address Sanitizer (ASan) for PPC/POWER architecture. Signed-off-by: David Christensen <drc@linux.vnet.ibm.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
This commit is contained in:
parent
fc812a2140
commit
f2a66612ee
@ -433,7 +433,7 @@ if get_option('b_sanitize') == 'address' or get_option('b_sanitize') == 'address
|
||||
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
|
||||
|
@ -32,9 +32,9 @@ Example::
|
||||
- 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
|
||||
----------------------------------
|
||||
|
@ -112,6 +112,8 @@ malloc_elem_cookies_ok(const struct malloc_elem *elem)
|
||||
#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
|
||||
|
Loading…
Reference in New Issue
Block a user