mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-01-31 11:37:35 +00:00
b45d50b690
- Fix build flakes - Polyfill SIGWINCH on Windows - Fix an execve issue on Windows - Make strerror show more information - Improve cmd.exe setup/teardown on Windows - Support bracketed paste mode in Blinkenlights - Show keyboard shortcuts in Blinkenlights status bar - Fixed copy_file_range() and copyfile() w/ zip filesystem - Size optimize GetDosArgv() to keep life.com 12kb in size - Improve Blinkenlights ability to load weird ELF executables - Fix program_executable_name and add GetInterpreterExecutableName - Make Python in tiny mode fail better if docstrings are requested - Update Python test exclusions in tiny* modes such as tinylinux - Add bulletproof unbreakable kprintf() troubleshooting function - Remove "oldskool" keyword from ape.S for virus scanners - Fix issue that caused backtraces to not print sometimes - Improve Blinkenlights serial uart character i/o - Make clock_gettime() not clobber errno on xnu - Improve sha256 cpuid check for old computers - Integrate some bestline linenoise fixes - Show runit process names better in htop - Remove SIGPIPE from ShowCrashReports() - Make realpath() not clobber errno - Avoid attaching GDB on non-Linux - Improve img.com example
44 lines
1.5 KiB
C
44 lines
1.5 KiB
C
#ifndef COSMOPOLITAN_LIBC_INTRIN_ASAN_H_
|
|
#define COSMOPOLITAN_LIBC_INTRIN_ASAN_H_
|
|
#include "libc/calls/struct/iovec.h"
|
|
#include "libc/intrin/asancodes.h"
|
|
#include "libc/macros.internal.h"
|
|
#if !(__ASSEMBLER__ + __LINKER__ + 0)
|
|
COSMOPOLITAN_C_START_
|
|
|
|
#define SHADOW(x) ((signed char *)(((intptr_t)(x) >> kAsanScale) + kAsanMagic))
|
|
#define UNSHADOW(x) ((void *)(MAX(0, (intptr_t)(x)-kAsanMagic) << kAsanScale))
|
|
|
|
typedef void __asan_die_f(void);
|
|
|
|
struct AsanFault {
|
|
signed char kind;
|
|
const signed char *shadow;
|
|
};
|
|
|
|
extern bool __asan_noreentry;
|
|
|
|
void __asan_unpoison(long, long);
|
|
void __asan_poison(long, long, signed char);
|
|
void __asan_verify(const void *, size_t);
|
|
void __asan_map_shadow(uintptr_t, size_t);
|
|
bool __asan_is_valid(const void *, long) nosideeffect;
|
|
bool __asan_is_valid_strlist(char *const *) strlenesque;
|
|
bool __asan_is_valid_iov(const struct iovec *, int) nosideeffect;
|
|
wint_t __asan_symbolize_access_poison(signed char) pureconst;
|
|
const char *__asan_describe_access_poison(signed char) pureconst;
|
|
struct AsanFault __asan_check(const void *, long) nosideeffect;
|
|
|
|
void __asan_free(void *);
|
|
void *__asan_malloc(size_t);
|
|
int __asan_malloc_trim(size_t);
|
|
int __asan_print_trace(void *);
|
|
void *__asan_calloc(size_t, size_t);
|
|
void *__asan_realloc(void *, size_t);
|
|
void *__asan_memalign(size_t, size_t);
|
|
size_t __asan_get_heap_size(const void *);
|
|
void *__asan_realloc_in_place(void *, size_t);
|
|
|
|
COSMOPOLITAN_C_END_
|
|
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
|
|
#endif /* COSMOPOLITAN_LIBC_INTRIN_ASAN_H_ */
|