Add ASAN guards to some asm data structures

This commit is contained in:
Justine Tunney 2022-03-18 12:56:10 -07:00
parent 6c2fd9ecc6
commit 390e22a8c6
15 changed files with 31 additions and 4 deletions

View file

@ -22,6 +22,7 @@
.section .sort.data.countbranch.1,"a",@progbits .section .sort.data.countbranch.1,"a",@progbits
.align 8 .align 8
.underrun
.globl countbranch_data .globl countbranch_data
countbranch_data: countbranch_data:
.previous .previous
@ -31,4 +32,5 @@ countbranch_data:
.rept 5 .rept 5
.quad -1 .quad -1
.endr .endr
.overrun
.previous .previous

View file

@ -24,10 +24,12 @@
.section .sort.data.countexpr.1,"a",@progbits .section .sort.data.countexpr.1,"a",@progbits
.align 8 .align 8
.globl countexpr_data .globl countexpr_data
.underrun
countexpr_data: countexpr_data:
.previous .previous
.section .sort.data.countexpr.3,"a",@progbits .section .sort.data.countexpr.3,"a",@progbits
.align 8 .align 8
.quad 0 .quad 0
.overrun
.previous .previous

View file

@ -1,4 +1,4 @@
/usr/bin/env echo ' -*- mode:sh; indent-tabs-mode:nil; tab-width:8; coding:utf-8 -*-│ /usr/bin/env echo ' -*-mode:sh;indent-tabs-mode:nil;tab-width:8;coding:utf-8-*-│
│vi: set net ft=sh ts=2 sts=2 sw=2 fenc=utf-8 :vi│ │vi: set net ft=sh ts=2 sts=2 sw=2 fenc=utf-8 :vi│
╞══════════════════════════════════════════════════════════════════════════════╡ ╞══════════════════════════════════════════════════════════════════════════════╡
│ Copyright 2020 Justine Alexandra Roberts Tunney │ │ Copyright 2020 Justine Alexandra Roberts Tunney │

View file

@ -84,6 +84,7 @@ _woot: leave
.globl __init_rodata_start,__init_rodata_end .globl __init_rodata_start,__init_rodata_end
.hidden __init_rodata_start,__init_rodata_end .hidden __init_rodata_start,__init_rodata_end
.align __SIZEOF_POINTER__ .align __SIZEOF_POINTER__
.underrun
__init_rodata_start: __init_rodata_start:
.previous/* .previous/*
... ...
@ -92,6 +93,7 @@ __init_rodata_start:
*/.section .initroepilogue,"a",@progbits */.section .initroepilogue,"a",@progbits
__init_rodata_end: __init_rodata_end:
.byte 0x90 .byte 0x90
.overrun
.previous .previous
// Decentralized section for unpacked data structures. // Decentralized section for unpacked data structures.
@ -107,6 +109,7 @@ __init_rodata_end:
.globl __init_bss_start,__init_bss_end .globl __init_bss_start,__init_bss_end
.hidden __init_bss_start,__init_bss_end .hidden __init_bss_start,__init_bss_end
.align __SIZEOF_POINTER__ .align __SIZEOF_POINTER__
.underrun
__init_bss_start: __init_bss_start:
.previous/* .previous/*
... ...
@ -115,6 +118,7 @@ __init_bss_start:
*/.section .piro.bss.init.3,"aw",@nobits */.section .piro.bss.init.3,"aw",@nobits
__init_bss_end: __init_bss_end:
.byte 0 .byte 0
.overrun
.previous .previous
// Special area for Windows NT support code. // Special area for Windows NT support code.

View file

@ -29,6 +29,7 @@
.hidden __bench_start,__bench_end .hidden __bench_start,__bench_end
.byte 0 .byte 0
.align __SIZEOF_POINTER__ .align __SIZEOF_POINTER__
.underrun
__bench_start: __bench_start:
.previous/* .previous/*
... ...
@ -37,4 +38,5 @@ __bench_start:
*/.section .piro.relo.sort.bench.3,"aw",@nobits */.section .piro.relo.sort.bench.3,"aw",@nobits
__bench_end: __bench_end:
.quad 0 .quad 0
.overrun
.previous .previous

View file

@ -20,11 +20,12 @@
.rodata .rodata
// Nontrivial NUL-terminated string test vector. // Nontrivial NUL-terminated string test vector.
.align 1 .underrun
kBlocktronics: kBlocktronics:
0: .incbin "libc/testlib/blocktronics.txt" 0: .incbin "libc/testlib/blocktronics.txt"
1: .byte 0 1: .byte 0
.endobj kBlocktronics,globl .endobj kBlocktronics,globl
.overrun
.align 8 .align 8
kBlocktronicsSize: kBlocktronicsSize:

View file

@ -28,6 +28,7 @@
.hidden __combo_start,__combo_end .hidden __combo_start,__combo_end
.byte 0 .byte 0
.align __SIZEOF_POINTER__ .align __SIZEOF_POINTER__
.underrun
__combo_start: __combo_start:
.previous/* .previous/*
... ...
@ -36,4 +37,5 @@ __combo_start:
*/.section .piro.relo.sort.combo.3,"aw",@nobits */.section .piro.relo.sort.combo.3,"aw",@nobits
__combo_end: __combo_end:
.quad 0 .quad 0
.overrun
.previous .previous

View file

@ -28,6 +28,7 @@
.hidden __fixture_start,__fixture_end .hidden __fixture_start,__fixture_end
.byte 0 .byte 0
.align __SIZEOF_POINTER__ .align __SIZEOF_POINTER__
.underrun
__fixture_start: __fixture_start:
.previous/* .previous/*
... ...
@ -36,4 +37,5 @@ __fixture_start:
*/.section .piro.relo.sort.fixture.3,"aw",@nobits */.section .piro.relo.sort.fixture.3,"aw",@nobits
__fixture_end: __fixture_end:
.quad 0 .quad 0
.overrun
.previous .previous

View file

@ -20,11 +20,12 @@
.rodata .rodata
// Nontrivial NUL-terminated string test vector. // Nontrivial NUL-terminated string test vector.
.align 1 .underrun
kHyperion: kHyperion:
0: .incbin "libc/testlib/hyperion.txt" 0: .incbin "libc/testlib/hyperion.txt"
1: .byte 0 1: .byte 0
.endobj kHyperion,globl .endobj kHyperion,globl
.overrun
.align 8 .align 8
kHyperionSize: kHyperionSize:

View file

@ -20,11 +20,12 @@
.rodata .rodata
// Nontrivial NUL-terminated string test vector. // Nontrivial NUL-terminated string test vector.
.align 1 .underrun
kMoby: kMoby:
0: .incbin "libc/testlib/moby.txt" 0: .incbin "libc/testlib/moby.txt"
1: .byte 0 1: .byte 0
.endobj kMoby,globl .endobj kMoby,globl
.overrun
.align 8 .align 8
kMobySize: kMobySize:

View file

@ -28,6 +28,7 @@
.hidden __testcase_start,__testcase_end .hidden __testcase_start,__testcase_end
.byte 0 .byte 0
.align __SIZEOF_POINTER__ .align __SIZEOF_POINTER__
.underrun
__testcase_start: __testcase_start:
.previous/* .previous/*
... ...
@ -36,4 +37,5 @@ __testcase_start:
*/.section .piro.relo.sort.testcase.3,"aw",@nobits */.section .piro.relo.sort.testcase.3,"aw",@nobits
__testcase_end: __testcase_end:
.quad 0 .quad 0
.overrun
.previous .previous

View file

@ -11,6 +11,7 @@
// extern const char kMonthName[12][10]; // extern const char kMonthName[12][10];
.section .rodata,"a",@progbits .section .rodata,"a",@progbits
.underrun
kMonthName: kMonthName:
.ascin "January",10 .ascin "January",10
.ascin "February",10 .ascin "February",10
@ -25,4 +26,5 @@ kMonthName:
.ascin "November",10 .ascin "November",10
.ascin "December",10 .ascin "December",10
.endobj kMonthName,globl .endobj kMonthName,globl
.overrun
.previous .previous

View file

@ -16,6 +16,7 @@
// - Double-NUL Terminated String // - Double-NUL Terminated String
// - extern const char kMonthNameShort[]; // - extern const char kMonthNameShort[];
.section .rodata,"a",@progbits .section .rodata,"a",@progbits
.underrun
kMonthNameShort: kMonthNameShort:
.ascin "Jan",4 .ascin "Jan",4
.ascin "Feb",4 .ascin "Feb",4
@ -31,4 +32,5 @@ kMonthNameShort:
.ascin "Dec",4 .ascin "Dec",4
.byte 0 .byte 0
.endobj kMonthNameShort,globl .endobj kMonthNameShort,globl
.overrun
.previous .previous

View file

@ -11,6 +11,7 @@
// extern const char kWeekdayName[7][10]; // extern const char kWeekdayName[7][10];
.section .rodata,"a",@progbits .section .rodata,"a",@progbits
.underrun
kWeekdayName: kWeekdayName:
.ascin "Sunday",10 .ascin "Sunday",10
.ascin "Monday",10 .ascin "Monday",10
@ -20,4 +21,5 @@ kWeekdayName:
.ascin "Friday",10 .ascin "Friday",10
.ascin "Saturday",10 .ascin "Saturday",10
.endobj kWeekdayName,globl .endobj kWeekdayName,globl
.overrun
.previous .previous

View file

@ -16,6 +16,7 @@
// - Double-NUL Terminated String // - Double-NUL Terminated String
// - extern const char kWeekdayNameShort[]; // - extern const char kWeekdayNameShort[];
.section .rodata,"a",@progbits .section .rodata,"a",@progbits
.underrun
kWeekdayNameShort: kWeekdayNameShort:
.asciz "Sun" .asciz "Sun"
.asciz "Mon" .asciz "Mon"
@ -26,4 +27,5 @@ kWeekdayNameShort:
.asciz "Sat" .asciz "Sat"
.byte 0 .byte 0
.endobj kWeekdayNameShort,globl .endobj kWeekdayNameShort,globl
.overrun
.previous .previous