Module Name:    src
Committed By:   rin
Date:           Mon Aug  7 00:54:54 UTC 2023

Modified Files:
        src/tests/usr.bin/c++: t_asan_global_buffer_overflow.sh
        src/tests/usr.bin/cc: t_asan_global_buffer_overflow.sh

Log Message:
t_asan_global_buffer_overflow: Avoid ODR Violation for pic variants

Common symbol triggers ODR (One Definition Rule) Violation correctly,
instead of Global Buffer Overflow.

XXX
Add test for odr_violation.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
    src/tests/usr.bin/c++/t_asan_global_buffer_overflow.sh
cvs rdiff -u -r1.3 -r1.4 \
    src/tests/usr.bin/cc/t_asan_global_buffer_overflow.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/tests/usr.bin/c++/t_asan_global_buffer_overflow.sh
diff -u src/tests/usr.bin/c++/t_asan_global_buffer_overflow.sh:1.3 src/tests/usr.bin/c++/t_asan_global_buffer_overflow.sh:1.4
--- src/tests/usr.bin/c++/t_asan_global_buffer_overflow.sh:1.3	Tue Jan 29 20:02:34 2019
+++ src/tests/usr.bin/c++/t_asan_global_buffer_overflow.sh	Mon Aug  7 00:54:54 2023
@@ -1,4 +1,4 @@
-#	$NetBSD: t_asan_global_buffer_overflow.sh,v 1.3 2019/01/29 20:02:34 mgorny Exp $
+#	$NetBSD: t_asan_global_buffer_overflow.sh,v 1.4 2023/08/07 00:54:54 rin Exp $
 #
 # Copyright (c) 2018, 2019 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -31,12 +31,13 @@
 ASAN_CODE='
 #include <stdio.h>
 #include <stdlib.h>
-int arr[5] = {-1};
 void foo(int);
 #ifndef PIC_MAIN
+extern int arr[];
 void foo(int index) { arr[index] = 0; }
 #endif
 #ifndef PIC_FOO
+int arr[5] = {-1};
 int main(int argc, char **argv) {foo(argc + 5); printf("CHECK\n"); exit(0);}
 #endif
 '

Index: src/tests/usr.bin/cc/t_asan_global_buffer_overflow.sh
diff -u src/tests/usr.bin/cc/t_asan_global_buffer_overflow.sh:1.3 src/tests/usr.bin/cc/t_asan_global_buffer_overflow.sh:1.4
--- src/tests/usr.bin/cc/t_asan_global_buffer_overflow.sh:1.3	Tue Jan 29 19:56:37 2019
+++ src/tests/usr.bin/cc/t_asan_global_buffer_overflow.sh	Mon Aug  7 00:54:54 2023
@@ -1,4 +1,4 @@
-#	$NetBSD: t_asan_global_buffer_overflow.sh,v 1.3 2019/01/29 19:56:37 mgorny Exp $
+#	$NetBSD: t_asan_global_buffer_overflow.sh,v 1.4 2023/08/07 00:54:54 rin Exp $
 #
 # Copyright (c) 2018, 2019 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -31,12 +31,13 @@
 ASAN_CODE='
 #include <stdio.h>
 #include <stdlib.h>
-int arr[5] = {-1};
 void foo(int);
 #ifndef PIC_MAIN
+extern int arr[];
 void foo(int index) { arr[index] = 0; }
 #endif
 #ifndef PIC_FOO
+int arr[5] = {-1};
 int main(int argc, char **argv) {foo(argc + 5); printf("CHECK\n"); exit(0);}
 #endif
 '

Reply via email to