mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-04-19 05:14:43 +00:00
Add ASAN guards to some asm data structures
This commit is contained in:
parent
6c2fd9ecc6
commit
390e22a8c6
15 changed files with 31 additions and 4 deletions
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 │
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Add table
Reference in a new issue