sanitizer: update to version 12.2.0

Issue #4827
This commit is contained in:
Christian Prochaska 2023-04-24 18:00:04 +02:00 committed by Christian Helmuth
parent 106e322f82
commit 9e021422c7
5 changed files with 163 additions and 124 deletions

View File

@ -11,7 +11,6 @@ SRC_CC = sanitizer_allocator.cpp \
sanitizer_flags.cpp \
sanitizer_genode.cc \
sanitizer_libc.cpp \
sanitizer_persistent_allocator.cpp \
sanitizer_printf.cpp \
sanitizer_stackdepot.cpp \
sanitizer_stacktrace.cpp \
@ -27,6 +26,9 @@ SRC_CC = sanitizer_allocator.cpp \
INC_DIR += $(SANITIZER_DIR)
# Prevent generation of 'strlen()' call by GCC 12
CC_OPT += -fno-tree-loop-distribute-patterns
vpath %.cc $(SANITIZER_DIR)/sanitizer_common
vpath %.cpp $(SANITIZER_DIR)/sanitizer_common

View File

@ -1,23 +1,24 @@
OnPrint W
_Z14sanitizer_exitv T
_Z14sanitizer_initRN6Genode3EnvE T
_ZN11__sanitizer10ExtractIntEPKcS1_Pi T
_ZN11__sanitizer10FlagParser10ll_strndupEPKcm T
_ZN11__sanitizer10FlagParser10parse_flagEv T
_ZN11__sanitizer10FlagParser11ParseStringEPKc T
_ZN11__sanitizer10FlagParser10parse_flagEPKc T
_ZN11__sanitizer10FlagParser11ParseStringEPKcS2_ T
_ZN11__sanitizer10FlagParser11fatal_errorEPKc T
_ZN11__sanitizer10FlagParser11parse_flagsEv T
_ZN11__sanitizer10FlagParser11parse_flagsEPKc T
_ZN11__sanitizer10FlagParser11run_handlerEPKcS2_ T
_ZN11__sanitizer10FlagParser15RegisterHandlerEPKcPNS_15FlagHandlerBaseES2_ T
_ZN11__sanitizer10FlagParser15skip_whitespaceEv T
_ZN11__sanitizer10FlagParser18ParseStringFromEnvEPKc T
_ZN11__sanitizer10FlagParser21PrintFlagDescriptionsEv T
_ZN11__sanitizer10FlagParser5AllocE B 16
_ZN11__sanitizer10FlagParser8is_spaceEc T
_ZN11__sanitizer10FlagParser9ParseFileEPKcb T
_ZN11__sanitizer10FlagParserC1Ev T
_ZN11__sanitizer10FlagParserC2Ev T
_ZN11__sanitizer10RenameFileEPKcS1_Pi T
_ZN11__sanitizer10ProtectGapEmmmm T
_ZN11__sanitizer10RenderDataEPNS_20InternalScopedStringEPKcPKNS_8DataInfoES3_ T
_ZN11__sanitizer10ReportFile13GetReportPathEv T
_ZN11__sanitizer10ReportFile13SetReportPathEPKc T
_ZN11__sanitizer10ReportFile14SupportsColorsEv T
_ZN11__sanitizer10ReportFile17ReopenIfNecessaryEv T
@ -30,18 +31,18 @@ _ZN11__sanitizer10Symbolizer12PlatformInitEv T
_ZN11__sanitizer10Symbolizer13SymbolizeDataEmPNS_8DataInfoE T
_ZN11__sanitizer10Symbolizer14LateInitializeEv T
_ZN11__sanitizer10Symbolizer14RefreshModulesEv T
_ZN11__sanitizer10Symbolizer14SymbolizeFrameEmPNS_9FrameInfoE T
_ZN11__sanitizer10Symbolizer15ModuleNameOwner12GetOwnedCopyEPKc T
_ZN11__sanitizer10Symbolizer15SymbolizerScopeC1EPKS0_ T
_ZN11__sanitizer10Symbolizer15SymbolizerScopeC2EPKS0_ T
_ZN11__sanitizer10Symbolizer15SymbolizerScopeD1Ev T
_ZN11__sanitizer10Symbolizer15SymbolizerScopeD2Ev T
_ZN11__sanitizer10Symbolizer16PlatformDemangleEPKc T
_ZN11__sanitizer10Symbolizer19LateInitializeToolsEv T
_ZN11__sanitizer10Symbolizer20FindModuleForAddressEm T
_ZN11__sanitizer10Symbolizer20InvalidateModuleListEv T
_ZN11__sanitizer10Symbolizer20PrepareForSandboxingEv T
_ZN11__sanitizer10Symbolizer21symbolizer_allocator_E B 16
_ZN11__sanitizer10Symbolizer27GetModuleNameAndOffsetForPCEmPPKcPm T
_ZN11__sanitizer10Symbolizer28PlatformPrepareForSandboxingEv T
_ZN11__sanitizer10Symbolizer33FindModuleNameAndOffsetForAddressEmPPKcPmPNS_10ModuleArchE T
_ZN11__sanitizer10Symbolizer5FlushEv T
_ZN11__sanitizer10Symbolizer8AddHooksEPFvvES2_ T
@ -55,18 +56,18 @@ _ZN11__sanitizer11AddressInfo14FillModuleInfoEPKcmNS_10ModuleArchE T
_ZN11__sanitizer11AddressInfo5ClearEv T
_ZN11__sanitizer11AddressInfoC1Ev T
_ZN11__sanitizer11AddressInfoC2Ev T
_ZN11__sanitizer11CheckFailedEPKciS1_yy T
_ZN11__sanitizer11CommonFlags11SetDefaultsEv T
_ZN11__sanitizer11CommonFlags8CopyFromERKS0_ T
_ZN11__sanitizer11ExtractSptrEPKcS1_Pl T
_ZN11__sanitizer11ExtractUptrEPKcS1_Pm T
_ZN11__sanitizer11GetPageSizeEv T
_ZN11__sanitizer11RenderFrameEPNS_20InternalScopedStringEPKciRKNS_11AddressInfoEbS3_S3_ T
_ZN11__sanitizer11RenderFrameEPNS_20InternalScopedStringEPKcimPKNS_11AddressInfoEbS3_S3_ T
_ZN11__sanitizer11WriteToFileEiPKvmPmPi T
_ZN11__sanitizer11mem_is_zeroEPKcm T
_ZN11__sanitizer11report_fileE D 8216
_ZN11__sanitizer12DieOnFailure12OnBadRequestEv T
_ZN11__sanitizer12DieOnFailure5OnOOMEv T
_ZN11__sanitizer12ExtractTokenEPKcS1_PPc T
_ZN11__sanitizer12InternalFreeEPvPNS_28SizeClassAllocatorLocalCacheINS_20SizeClassAllocator32INS_4AP32EEEEE T
_ZN11__sanitizer12InternalFreeEPvPNS_30SizeClassAllocator32LocalCacheINS_20SizeClassAllocator32INS_4AP32EEEEE T
_ZN11__sanitizer12LoadedModule15addAddressRangeEmmbbPKc T
_ZN11__sanitizer12LoadedModule3setEPKcm T
_ZN11__sanitizer12LoadedModule3setEPKcmNS_10ModuleArchEPhb T
@ -74,38 +75,42 @@ _ZN11__sanitizer12LoadedModule5clearEv T
_ZN11__sanitizer12PrintCmdlineEv T
_ZN11__sanitizer12ReadFromFileEiPvmPmPi T
_ZN11__sanitizer12RunFreeHooksEPKv T
_ZN11__sanitizer13BlockingMutex11CheckLockedEv T
_ZN11__sanitizer13BlockingMutex4LockEv T
_ZN11__sanitizer13BlockingMutex6UnlockEv T
_ZN11__sanitizer13BlockingMutexC1Ev T
_ZN11__sanitizer13BlockingMutexC2Ev T
_ZN11__sanitizer13InternalAllocEmPNS_28SizeClassAllocatorLocalCacheINS_20SizeClassAllocator32INS_4AP32EEEEEm T
_ZN11__sanitizer13GetThreadSelfEv T
_ZN11__sanitizer13InternalAllocEmPNS_30SizeClassAllocator32LocalCacheINS_20SizeClassAllocator32INS_4AP32EEEEEm T
_ZN11__sanitizer13ReadBinaryDirEPcm T
_ZN11__sanitizer13StackDepotGetEj T
_ZN11__sanitizer13StackDepotPutENS_10StackTraceE T
_ZN11__sanitizer13TemplateMatchEPKcS1_ T
_ZN11__sanitizer13WriteToSyslogEPKc T
_ZN11__sanitizer13unknown_flagsE B 168
_ZN11__sanitizer14AddDieCallbackEPFvvE T
_ZN11__sanitizer14DemangleCXXABIEPKc T
_ZN11__sanitizer14DumpProcessMapEv T
_ZN11__sanitizer14GetProcessNameEv T
_ZN11__sanitizer14InternalCallocEmmPNS_28SizeClassAllocatorLocalCacheINS_20SizeClassAllocator32INS_4AP32EEEEE T
_ZN11__sanitizer14InternalCallocEmmPNS_30SizeClassAllocator32LocalCacheINS_20SizeClassAllocator32INS_4AP32EEEEE T
_ZN11__sanitizer14IsAbsolutePathEPKc T
_ZN11__sanitizer14LLVMSymbolizer11SymbolizePCEmPNS_15SymbolizedStackE T
_ZN11__sanitizer14LLVMSymbolizer13SymbolizeDataEmPNS_8DataInfoE T
_ZN11__sanitizer14LLVMSymbolizer20FormatAndSendCommandEbPKcmNS_10ModuleArchE T
_ZN11__sanitizer14LLVMSymbolizer14SymbolizeFrameEmPNS_9FrameInfoE T
_ZN11__sanitizer14LLVMSymbolizer20FormatAndSendCommandEPKcS2_mNS_10ModuleArchE T
_ZN11__sanitizer14LLVMSymbolizerC1EPKcPNS_17LowLevelAllocatorE T
_ZN11__sanitizer14LLVMSymbolizerC2EPKcPNS_17LowLevelAllocatorE T
_ZN11__sanitizer14PageSizeCachedE B 8
_ZN11__sanitizer14ReadBinaryNameEPcm T
_ZN11__sanitizer14RunMallocHooksEPKvm T
_ZN11__sanitizer14SleepForMillisEi T
_ZN11__sanitizer14SleepForMillisEj T
_ZN11__sanitizer14StackDepotNode10get_handleEj T
_ZN11__sanitizer14StackDepotNode5storeEjRKNS_10StackTraceEy T
_ZN11__sanitizer14StackDepotNode9allocatedEv T
_ZN11__sanitizer14internal__exitEi T
_ZN11__sanitizer14internal_atollEPKc T
_ZN11__sanitizer14internal_sleepEj T
_ZN11__sanitizer14report_file_muE B 1
_ZN11__sanitizer15CacheBinaryNameEv T
_ZN11__sanitizer15ColorizeReportsEv T
_ZN11__sanitizer15InternalReallocEPvmPNS_28SizeClassAllocatorLocalCacheINS_20SizeClassAllocator32INS_4AP32EEEEE T
_ZN11__sanitizer15InternalReallocEPvmPNS_30SizeClassAllocator32LocalCacheINS_20SizeClassAllocator32INS_4AP32EEEEE T
_ZN11__sanitizer15IsPathSeparatorEc T
_ZN11__sanitizer15SleepForSecondsEj T
_ZN11__sanitizer15StripModuleNameEPKc T
_ZN11__sanitizer15StripPathPrefixEPKcS1_ T
_ZN11__sanitizer15SymbolizedStack3NewEm T
@ -127,9 +132,8 @@ _ZN11__sanitizer16Addr2LineProcess18output_terminator_E R 9
_ZN11__sanitizer16FindPathToBinaryEPKc T
_ZN11__sanitizer16MprotectNoAccessEmm T
_ZN11__sanitizer16ReadFileToBufferEPKcPPcPmS4_mPi T
_ZN11__sanitizer16ReadFileToVectorEPKcPNS_24InternalMmapVectorNoCtorIcEEmPi T
_ZN11__sanitizer16StackDepotHandle20inc_use_count_unsafeEv T
_ZN11__sanitizer16StackDepotHandle2idEv T
_ZN11__sanitizer16StackDepotHandle9use_countEv T
_ZN11__sanitizer16internal_iserrorEmPi T
_ZN11__sanitizer16internal_memmoveEPvPKvm T
_ZN11__sanitizer16internal_memrchrEPKvim T
@ -139,12 +143,13 @@ _ZN11__sanitizer16internal_strlcpyEPcPKcm T
_ZN11__sanitizer16internal_strncatEPcPKcm T
_ZN11__sanitizer16internal_strncmpEPKcS1_m T
_ZN11__sanitizer16internal_strncpyEPcPKcm T
_ZN11__sanitizer16internal_strndupEPKcm T
_ZN11__sanitizer16internal_strnlenEPKcm T
_ZN11__sanitizer16internal_strrchrEPKci T
_ZN11__sanitizer16internal_wcsnlenEPKwm T
_ZN11__sanitizer17DecreaseTotalMmapEm T
_ZN11__sanitizer17IncreaseTotalMmapEm T
_ZN11__sanitizer17LowLevelAllocator8AllocateEm T
_ZN11__sanitizer17RemoveDieCallbackEPFvvE T
_ZN11__sanitizer17SanitizerToolNameE D 8
_ZN11__sanitizer17StackDepotLockAllEv T
_ZN11__sanitizer17SymbolizerProcess11SendCommandEPKc T
@ -157,21 +162,24 @@ _ZN11__sanitizer17SymbolizerProcessC1EPKcb T
_ZN11__sanitizer17SymbolizerProcessC2EPKcb T
_ZN11__sanitizer17UpdateProcessNameEv T
_ZN11__sanitizer17current_verbosityE B 4
_ZN11__sanitizer17flag_descriptionsE B 24
_ZN11__sanitizer17internal_snprintfEPcmPKcz T
_ZN11__sanitizer18BufferedStackTrace10UnwindFastEmmmmj T
_ZN11__sanitizer18BufferedStackTrace14PopStackFramesEm T
_ZN11__sanitizer18BufferedStackTrace15FastUnwindStackEmmmmj T
_ZN11__sanitizer18BufferedStackTrace15LocatePcInTraceEm T
_ZN11__sanitizer18BufferedStackTrace4InitEPKmmm T
_ZN11__sanitizer18BufferedStackTrace6UnwindEjmmPvmmb T
_ZN11__sanitizer18GetMmapGranularityEv T
_ZN11__sanitizer18HandleDeadlySignalEPvS0_jPFvRKNS_13SignalContextEPKvPNS_18BufferedStackTraceEES5_ T
_ZN11__sanitizer18InitializeCoverageEbPKc T
_ZN11__sanitizer18MmapNoReserveOrDieEmPKc T
_ZN11__sanitizer18NumberOfCPUsCachedE B 4
_ZN11__sanitizer18ReportDeadlySignalERKNS_13SignalContextEjPFvS2_PKvPNS_18BufferedStackTraceEES4_ T
_ZN11__sanitizer18ReportErrorSummaryEPKcPKNS_10StackTraceES1_ T
_ZN11__sanitizer18ReportErrorSummaryEPKcRKNS_11AddressInfoES1_ T
_ZN11__sanitizer18ReportErrorSummaryEPKcS1_ T
_ZN11__sanitizer18SetUserDieCallbackEPFvvE T
_ZN11__sanitizer18StackDepotGetStatsEv T
_ZN11__sanitizer18StackDepotPrintAllEv T
_ZN11__sanitizer18SuppressionContext10GetMatchedEPNS_18InternalMmapVectorIPNS_11SuppressionEEE T
_ZN11__sanitizer18SuppressionContext13ParseFromFileEPKc T
_ZN11__sanitizer18SuppressionContext5MatchEPKcS2_PPNS_11SuppressionE T
@ -184,26 +192,26 @@ _ZN11__sanitizer18internal_strchrnulEPKci T
_ZN11__sanitizer19DemangleSwiftAndCXXEPKc T
_ZN11__sanitizer19ReadLongProcessNameEPcm T
_ZN11__sanitizer19RegisterCommonFlagsEPNS_10FlagParserEPNS_11CommonFlagsE T
_ZN11__sanitizer19ReportMmapWriteExecEii T
_ZN11__sanitizer19StackDepotUnlockAllEv T
_ZN11__sanitizer20InternalReallocArrayEPvmmPNS_30SizeClassAllocator32LocalCacheINS_20SizeClassAllocator32INS_4AP32EEEEE T
_ZN11__sanitizer20InternalScopedString6appendEPKcz T
_ZN11__sanitizer20PrepareForSandboxingEP29__sanitizer_sandbox_arguments T
_ZN11__sanitizer20PrimaryAllocatorNameE D 8
_ZN11__sanitizer20ReadBinaryNameCachedEPcm T
_ZN11__sanitizer20RegisterIncludeFlagsEPNS_10FlagParserEPNS_11CommonFlagsE T
_ZN11__sanitizer20RenderModuleLocationEPNS_20InternalScopedStringEPKcmNS_10ModuleArchES3_ T
_ZN11__sanitizer20RenderSourceLocationEPNS_20InternalScopedStringEPKciibS3_ T
_ZN11__sanitizer20StackDepotReverseMap10IdDescPair12IdComparatorERKS1_S3_ T
_ZN11__sanitizer20StackDepotReverseMap3GetEj T
_ZN11__sanitizer20StackDepotReverseMapC1Ev T
_ZN11__sanitizer20StackDepotReverseMapC2Ev T
_ZN11__sanitizer20ReservedAddressRange11InitAlignedEmmPKc T
_ZN11__sanitizer20internal_sched_yieldEv T
_ZN11__sanitizer21InitializeCommonFlagsEPNS_11CommonFlagsE T
_ZN11__sanitizer21ScopedErrorReportLock11CheckLockedEv T
_ZN11__sanitizer21ScopedErrorReportLockC1Ev T
_ZN11__sanitizer21ScopedErrorReportLockC2Ev T
_ZN11__sanitizer21ScopedErrorReportLockD1Ev T
_ZN11__sanitizer21ScopedErrorReportLockD2Ev T
_ZN11__sanitizer21ScopedErrorReportLock17reporting_thread_E B 8
_ZN11__sanitizer21ScopedErrorReportLock4LockEv T
_ZN11__sanitizer21ScopedErrorReportLock6UnlockEv T
_ZN11__sanitizer21ScopedErrorReportLock6mutex_E B 1
_ZN11__sanitizer21SetSandboxingCallbackEPFvvE T
_ZN11__sanitizer21common_flags_dont_useE B 248
_ZN11__sanitizer21SupportsColoredOutputEi T
_ZN11__sanitizer21common_flags_dont_useE B 288
_ZN11__sanitizer22AllocatorMayReturnNullEv T
_ZN11__sanitizer22CatastrophicErrorWriteEPKcm T
_ZN11__sanitizer22IsAllocatorOutOfMemoryEv T
@ -212,30 +220,34 @@ _ZN11__sanitizer22LibbacktraceSymbolizer13SymbolizeDataEmPNS_8DataInfoE T
_ZN11__sanitizer22LibbacktraceSymbolizer3getEPNS_17LowLevelAllocatorE T
_ZN11__sanitizer22LibbacktraceSymbolizer8DemangleEPKc T
_ZN11__sanitizer22ParseSymbolizePCOutputEPKcPNS_15SymbolizedStackE T
_ZN11__sanitizer22SecondaryAllocatorNameE D 8
_ZN11__sanitizer22SetCheckUnwindCallbackEPFvvE T
_ZN11__sanitizer22SubstituteForFlagValueEPKcPcm T
_ZN11__sanitizer22thePersistentAllocatorE B 24
_ZN11__sanitizer23IsAccessibleMemoryRangeEmm T
_ZN11__sanitizer23MapWritableFileToMemoryEPvmim T
_ZN11__sanitizer23ReportMmapFailureAndDieEmPKcS1_ib T
_ZN11__sanitizer23ReportUnrecognizedFlagsEv T
_ZN11__sanitizer23SetAllocatorOutOfMemoryEv T
_ZN11__sanitizer23StackDepotTestOnlyUnmapEv T
_ZN11__sanitizer23StartReportDeadlySignalEv T
_ZN11__sanitizer23internal_simple_strtollEPKcPPci T
_ZN11__sanitizer23internal_simple_strtollEPKcPS1_i T
_ZN11__sanitizer23stoptheworld_tracer_pidE B 8
_ZN11__sanitizer24ParseSymbolizeDataOutputEPKcPNS_8DataInfoE T
_ZN11__sanitizer24ReturnNullOrDieOnFailure12OnBadRequestEv T
_ZN11__sanitizer24ReturnNullOrDieOnFailure5OnOOMEv T
_ZN11__sanitizer24RenderNeedsSymbolizationEPKc T
_ZN11__sanitizer24ReserveShadowMemoryRangeEmmPKcb T
_ZN11__sanitizer24StackDepotPut_WithHandleENS_10StackTraceE T
_ZN11__sanitizer24internal_bzero_aligned16EPvm T
_ZN11__sanitizer24stoptheworld_tracer_ppidE B 8
_ZN11__sanitizer25ExtractTokenUpToDelimiterEPKcS1_PPc T
_ZN11__sanitizer25MaybeStartBackgroudThreadEv T
_ZN11__sanitizer25SetAllocatorMayReturnNullEb T
_ZN11__sanitizer26CommonSanitizerReportMutexE B 1
_ZN11__sanitizer26SetPrintfAndReportCallbackEPFvPKcE T
_ZN11__sanitizer27SetLowLevelAllocateCallbackEPFvmmE T
_ZN11__sanitizer31ReportAllocatorCannotReturnNullEv T
_ZN11__sanitizer31SetLowLevelAllocateMinAlignmentEm T
_ZN11__sanitizer31SetSoftRssLimitExceededCallbackEPFvbE T
_ZN11__sanitizer34PrintHintAllocatorCannotReturnNullEv T
_ZN11__sanitizer35RemoveANSIEscapeSequencesFromStringEPc T
_ZN11__sanitizer3DieEv T
_ZN11__sanitizer5AbortEv T
_ZN11__sanitizer6AtexitEPFvvE T
_ZN11__sanitizer6GetEnvEPKc T
@ -248,18 +260,49 @@ _ZN11__sanitizer8DataInfoC2Ev T
_ZN11__sanitizer8OpenFileEPKcNS_14FileAccessModeEPi T
_ZN11__sanitizer8RawWriteEPKc T
_ZN11__sanitizer9CloseFileEi T
_ZN11__sanitizer9FrameInfo5ClearEv T
_ZN11__sanitizer9MmapOrDieEmPKcb T
_ZN11__sanitizer9SortArrayEPjm T
_ZN11__sanitizer9SortArrayEPmm T
_ZN11__sanitizer9VSNPrintfEPciPKcP13__va_list_tag T
_ZNK11__sanitizer10StackTrace5PrintEv T
_ZNK11__sanitizer10StackTrace7PrintToEPNS_20InternalScopedStringE T
_ZNK11__sanitizer10StackTrace7PrintToEPcm T
_ZNK11__sanitizer12LoadedModule15containsAddressEm T
_ZNK11__sanitizer14StackDepotNode4loadEj T
_ZNK11__sanitizer16Addr2LineProcess18ReachedEndOfOutputEPKcm T
_ZNK11__sanitizer16StackDepotHandle9use_countEv T
_ZNK11__sanitizer18SuppressionContext13SuppressionAtEm T
_ZNK11__sanitizer18SuppressionContext16SuppressionCountEv T
_ZNK11__sanitizer18SuppressionContext18HasSuppressionTypeEPKc T
__gnu_Unwind_Find_exidx T
__sancov_lowest_stack V
__sanitizer_acquire_crash_state T
__sanitizer_cov_8bit_counters_init W
__sanitizer_cov_bool_flag_init W
__sanitizer_cov_dump T
__sanitizer_cov_pcs_init W
__sanitizer_cov_reset T
__sanitizer_cov_trace_cmp W
__sanitizer_cov_trace_cmp1 W
__sanitizer_cov_trace_cmp2 W
__sanitizer_cov_trace_cmp4 W
__sanitizer_cov_trace_cmp8 W
__sanitizer_cov_trace_const_cmp1 W
__sanitizer_cov_trace_const_cmp2 W
__sanitizer_cov_trace_const_cmp4 W
__sanitizer_cov_trace_const_cmp8 W
__sanitizer_cov_trace_div4 W
__sanitizer_cov_trace_div8 W
__sanitizer_cov_trace_gep W
__sanitizer_cov_trace_pc_guard W
__sanitizer_cov_trace_pc_guard_init W
__sanitizer_cov_trace_pc_indir W
__sanitizer_cov_trace_switch W
__sanitizer_dump_coverage T
__sanitizer_dump_trace_pc_guard_coverage T
__sanitizer_get_module_and_offset_for_pc T
__sanitizer_get_report_path T
__sanitizer_install_malloc_and_free_hooks T
__sanitizer_on_print W
__sanitizer_report_error_summary W
__sanitizer_sandbox_on_notify W
__sanitizer_set_death_callback T

View File

@ -1 +1 @@
68b8eb5bfa950adf094fe9e6c579e6d542dd6c63
b43d7218aef4f321f9d5b83947c5db0ecc9da88f

View File

@ -1,9 +1,9 @@
LICENSE := LGPL
VERSION := 10.3.0
VERSION := 12.2.0
DOWNLOADS := sanitizer.archive
URL(sanitizer) := ftp://ftp.fu-berlin.de/gnu/gcc/gcc-$(VERSION)/gcc-$(VERSION).tar.xz
SHA(sanitizer) := 64f404c1a650f27fc33da242e1f2df54952e3963a49e06e73f6940f3223ac344
SHA(sanitizer) := e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
DIR(sanitizer) := src/lib/sanitizer
SIG(sanitizer) := ${URL(gcc)}
KEY(sanitizer) := GNU

View File

@ -4,26 +4,27 @@ From: Christian Prochaska <christian.prochaska@genode-labs.com>
---
sanitizer_common/sanitizer_genode.cc | 331 ++++++++++++++++++++
sanitizer_common/sanitizer_genode.cc | 313 ++++++++++++++++++++
sanitizer_common/sanitizer_internal_defs.h | 6
sanitizer_common/sanitizer_platform.h | 4
sanitizer_common/sanitizer_posix.h | 2
sanitizer_common/sanitizer_printf.cpp | 2
sanitizer_common/sanitizer_stackdepotbase.h | 2
sanitizer_common/sanitizer_stacktrace.h | 2
sanitizer_common/sanitizer_symbolizer_libcdep.cpp | 10 -
sanitizer_common/sanitizer_symbolizer_libcdep.cpp | 10 +
.../sanitizer_symbolizer_posix_libcdep.cpp | 29 +-
sanitizer_common/sanitizer_symbolizer_report.cpp | 4
ubsan/ubsan_diag.cpp | 4
ubsan/ubsan_flags.cpp | 6
11 files changed, 385 insertions(+), 15 deletions(-)
12 files changed, 369 insertions(+), 15 deletions(-)
create mode 100644 sanitizer_common/sanitizer_genode.cc
diff --git a/sanitizer_common/sanitizer_genode.cc b/sanitizer_common/sanitizer_genode.cc
new file mode 100644
index 0000000..03b1740
index 0000000..78ee830
--- /dev/null
+++ b/sanitizer_common/sanitizer_genode.cc
@@ -0,0 +1,335 @@
@@ -0,0 +1,313 @@
+/*
+ * \brief Genode-specific functions from sanitizer_common.h
+ * and sanitizer_libc.h
@ -143,31 +144,6 @@ index 0000000..03b1740
+}
+
+
+__sanitizer::BlockingMutex::BlockingMutex()
+{
+ Genode::error("sanitizer: ", __func__, " called");
+ internal_memset(this, 0, sizeof(*this));
+}
+
+
+void __sanitizer::BlockingMutex::Lock()
+{
+ Genode::error("sanitizer: ", __func__, " called");
+}
+
+
+void __sanitizer::BlockingMutex::Unlock()
+{
+ Genode::error("sanitizer: ", __func__, " called");
+}
+
+
+void __sanitizer::BlockingMutex::CheckLocked()
+{
+ Genode::error("sanitizer: ", __func__, " called");
+}
+
+
+uptr __sanitizer::internal_getpid()
+{
+ return 0;
@ -324,10 +300,13 @@ index 0000000..03b1740
+}
+
+
+void __sanitizer::SleepForMillis(int millis)
+{
+ Genode::error("sanitizer: ", __func__, " called");
+}
+void __sanitizer::InitializePlatformEarly() { }
+
+
+/* sanitizer-flags.h */
+
+
+void __sanitizer::InitializePlatformCommonFlags(CommonFlags *cf) {}
+
+
+/* sanitizer_libc.h */
@ -360,7 +339,7 @@ index 0000000..03b1740
+ return false;
+}
diff --git a/sanitizer_common/sanitizer_internal_defs.h b/sanitizer_common/sanitizer_internal_defs.h
index 0022630..3ca8b9f 100644
index e97cc9a..b1514c6 100644
--- a/sanitizer_common/sanitizer_internal_defs.h
+++ b/sanitizer_common/sanitizer_internal_defs.h
@@ -14,6 +14,8 @@
@ -372,14 +351,14 @@ index 0022630..3ca8b9f 100644
#ifndef SANITIZER_DEBUG
# define SANITIZER_DEBUG 0
#endif
@@ -180,13 +182,13 @@ typedef uptr OFF_T;
@@ -187,13 +189,13 @@ typedef uptr OFF_T;
typedef u64 OFF64_T;
#if (SANITIZER_WORDSIZE == 64) || SANITIZER_MAC
-typedef uptr operator_new_size_type;
+typedef size_t operator_new_size_type;
#else
# if SANITIZER_OPENBSD || defined(__s390__) && !defined(__s390x__)
# if defined(__s390__) && !defined(__s390x__)
// Special case: 31-bit s390 has unsigned long as size_t.
typedef unsigned long operator_new_size_type;
# else
@ -389,38 +368,39 @@ index 0022630..3ca8b9f 100644
#endif
diff --git a/sanitizer_common/sanitizer_platform.h b/sanitizer_common/sanitizer_platform.h
index c68bfa2..b13d28a 100644
index 3153de3..790189e 100644
--- a/sanitizer_common/sanitizer_platform.h
+++ b/sanitizer_common/sanitizer_platform.h
@@ -12,12 +12,14 @@
@@ -12,6 +12,7 @@
#ifndef SANITIZER_PLATFORM_H
#define SANITIZER_PLATFORM_H
+#if 0
#if !defined(__linux__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && \
!defined(__OpenBSD__) && !defined(__APPLE__) && !defined(_WIN32) && \
!defined(__Fuchsia__) && !defined(__rtems__) && \
!defined(__APPLE__) && !defined(_WIN32) && !defined(__Fuchsia__) && \
!(defined(__sun__) && defined(__svr4__))
# error "This operating system is not supported"
@@ -24,6 +25,7 @@
#if __has_include(<features.h>) && !defined(__ANDROID__)
#include <features.h>
#endif
+#endif
#if defined(__linux__)
# define SANITIZER_LINUX 1
@@ -112,7 +114,7 @@
@@ -118,7 +120,7 @@
#define SANITIZER_POSIX \
(SANITIZER_FREEBSD || SANITIZER_LINUX || SANITIZER_MAC || \
- SANITIZER_NETBSD || SANITIZER_OPENBSD || SANITIZER_SOLARIS)
+ SANITIZER_NETBSD || SANITIZER_OPENBSD || SANITIZER_SOLARIS || 1)
- SANITIZER_NETBSD || SANITIZER_SOLARIS)
+ SANITIZER_NETBSD || SANITIZER_SOLARIS || 1)
#if __LP64__ || defined(_WIN64)
# define SANITIZER_WORDSIZE 64
diff --git a/sanitizer_common/sanitizer_posix.h b/sanitizer_common/sanitizer_posix.h
index 05fb0f6..ff76f33 100644
index f91e26e..3effa89 100644
--- a/sanitizer_common/sanitizer_posix.h
+++ b/sanitizer_common/sanitizer_posix.h
@@ -94,9 +94,11 @@ int my_pthread_attr_getstack(void *attr, void **addr, uptr *size);
@@ -95,9 +95,11 @@ int my_pthread_attr_getstack(void *attr, void **addr, uptr *size);
// A routine named real_sigaction() must be implemented by each sanitizer in
// order for internal_sigaction() to bypass interceptors.
int internal_sigaction(int signum, const void *act, void *oldact);
@ -433,7 +413,7 @@ index 05fb0f6..ff76f33 100644
uptr internal_execve(const char *filename, char *const argv[],
char *const envp[]);
diff --git a/sanitizer_common/sanitizer_printf.cpp b/sanitizer_common/sanitizer_printf.cpp
index a032787..fdf21c9 100644
index 79aee8b..b81ba31 100644
--- a/sanitizer_common/sanitizer_printf.cpp
+++ b/sanitizer_common/sanitizer_printf.cpp
@@ -17,7 +17,9 @@
@ -446,12 +426,26 @@ index a032787..fdf21c9 100644
#include <stdarg.h>
#if SANITIZER_WINDOWS && defined(_MSC_VER) && _MSC_VER < 1800 && \
diff --git a/sanitizer_common/sanitizer_stackdepotbase.h b/sanitizer_common/sanitizer_stackdepotbase.h
index 96d1ddc..b79a773 100644
--- a/sanitizer_common/sanitizer_stackdepotbase.h
+++ b/sanitizer_common/sanitizer_stackdepotbase.h
@@ -13,7 +13,9 @@
#ifndef SANITIZER_STACKDEPOTBASE_H
#define SANITIZER_STACKDEPOTBASE_H
+#if 0
#include <stdio.h>
+#endif
#include "sanitizer_atomic.h"
#include "sanitizer_flat_map.h"
diff --git a/sanitizer_common/sanitizer_stacktrace.h b/sanitizer_common/sanitizer_stacktrace.h
index f1f29e9..fe310f7 100644
index 11c6154..eb43232 100644
--- a/sanitizer_common/sanitizer_stacktrace.h
+++ b/sanitizer_common/sanitizer_stacktrace.h
@@ -36,7 +36,7 @@ static const u32 kStackTraceMax = 256;
#if SANITIZER_MAC || SANITIZER_OPENBSD || SANITIZER_RTEMS
#if SANITIZER_MAC
# define SANITIZER_CAN_SLOW_UNWIND 0
#else
-# define SANITIZER_CAN_SLOW_UNWIND 1
@ -460,7 +454,7 @@ index f1f29e9..fe310f7 100644
struct StackTrace {
diff --git a/sanitizer_common/sanitizer_symbolizer_libcdep.cpp b/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
index 3b19a68..3f0f40e 100644
index 3fc994f..0b4ffc8 100644
--- a/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
+++ b/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
@@ -10,6 +10,8 @@
@ -471,8 +465,8 @@ index 3b19a68..3f0f40e 100644
+
#include "sanitizer_allocator_internal.h"
#include "sanitizer_internal_defs.h"
#include "sanitizer_symbolizer_internal.h"
@@ -189,7 +191,7 @@ void Symbolizer::RefreshModules() {
#include "sanitizer_platform.h"
@@ -190,7 +192,7 @@ void Symbolizer::RefreshModules() {
RAW_CHECK(modules_.size() > 0);
modules_fresh_ = true;
}
@ -481,7 +475,7 @@ index 3b19a68..3f0f40e 100644
static const LoadedModule *SearchForModule(const ListOfModules &modules,
uptr address) {
for (uptr i = 0; i < modules.size(); i++) {
@@ -199,8 +201,11 @@ static const LoadedModule *SearchForModule(const ListOfModules &modules,
@@ -200,8 +202,11 @@ static const LoadedModule *SearchForModule(const ListOfModules &modules,
}
return nullptr;
}
@ -494,7 +488,7 @@ index 3b19a68..3f0f40e 100644
bool modules_were_reloaded = false;
if (!modules_fresh_) {
RefreshModules();
@@ -224,6 +229,7 @@ const LoadedModule *Symbolizer::FindModuleForAddress(uptr address) {
@@ -225,6 +230,7 @@ const LoadedModule *Symbolizer::FindModuleForAddress(uptr address) {
module = SearchForModule(fallback_modules_, address);
}
return module;
@ -503,7 +497,7 @@ index 3b19a68..3f0f40e 100644
// For now we assume the following protocol:
diff --git a/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp b/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
index c123ecb..be6873c 100644
index 4cd4b46..ffcc55e 100644
--- a/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
+++ b/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
@@ -11,6 +11,9 @@
@ -540,7 +534,7 @@ index c123ecb..be6873c 100644
// As of now, there are no headers for the Swift runtime. Once they are
// present, we will weakly link since we do not require Swift runtime to be
// linked.
@@ -90,14 +95,16 @@ const char *DemangleSwift(const char *name) {
@@ -83,14 +88,16 @@ const char *DemangleSwift(const char *name) {
return nullptr;
}
@ -559,7 +553,7 @@ index c123ecb..be6873c 100644
static bool CreateTwoHighNumberedPipes(int *infd_, int *outfd_) {
int *infd = NULL;
int *outfd = NULL;
@@ -137,8 +144,12 @@ static bool CreateTwoHighNumberedPipes(int *infd_, int *outfd_) {
@@ -130,8 +137,12 @@ static bool CreateTwoHighNumberedPipes(int *infd_, int *outfd_) {
outfd_[1] = outfd[1];
return true;
}
@ -573,23 +567,23 @@ index c123ecb..be6873c 100644
if (!FileExists(path_)) {
if (!reported_invalid_path_) {
Report("WARNING: invalid path to external symbolizer!\n");
@@ -196,6 +207,7 @@ bool SymbolizerProcess::StartSymbolizerSubprocess() {
@@ -199,6 +210,7 @@ bool SymbolizerProcess::StartSymbolizerSubprocess() {
}
return true;
+#endif
}
class Addr2LineProcess : public SymbolizerProcess {
@@ -393,6 +405,7 @@ const char *Symbolizer::PlatformDemangle(const char *name) {
class Addr2LineProcess final : public SymbolizerProcess {
@@ -398,6 +410,7 @@ const char *Symbolizer::PlatformDemangle(const char *name) {
return DemangleSwiftAndCXX(name);
}
+#if 0
static SymbolizerTool *ChooseExternalSymbolizer(LowLevelAllocator *allocator) {
const char *path = common_flags()->external_symbolizer_path;
const char *binary_name = path ? StripModuleName(path) : "";
@@ -440,7 +453,7 @@ static SymbolizerTool *ChooseExternalSymbolizer(LowLevelAllocator *allocator) {
@@ -454,7 +467,7 @@ static SymbolizerTool *ChooseExternalSymbolizer(LowLevelAllocator *allocator) {
}
return nullptr;
}
@ -598,7 +592,7 @@ index c123ecb..be6873c 100644
static void ChooseSymbolizerTools(IntrusiveList<SymbolizerTool> *list,
LowLevelAllocator *allocator) {
if (!common_flags()->symbolize) {
@@ -459,11 +472,11 @@ static void ChooseSymbolizerTools(IntrusiveList<SymbolizerTool> *list,
@@ -473,11 +486,11 @@ static void ChooseSymbolizerTools(IntrusiveList<SymbolizerTool> *list,
list->push_back(tool);
return;
}
@ -612,10 +606,10 @@ index c123ecb..be6873c 100644
#if SANITIZER_MAC
VReport(2, "Using dladdr symbolizer.\n");
list->push_back(new(*allocator) DlAddrSymbolizer());
@@ -479,7 +492,9 @@ Symbolizer *Symbolizer::PlatformInit() {
@@ -493,7 +506,9 @@ Symbolizer *Symbolizer::PlatformInit() {
void Symbolizer::LateInitialize() {
Symbolizer::GetOrInit();
Symbolizer::GetOrInit()->LateInitializeTools();
+#if 0
InitializeSwiftDemangler();
+#endif
@ -623,7 +617,7 @@ index c123ecb..be6873c 100644
} // namespace __sanitizer
diff --git a/sanitizer_common/sanitizer_symbolizer_report.cpp b/sanitizer_common/sanitizer_symbolizer_report.cpp
index c26724c..fb91e96 100644
index 869c893..8ff354b 100644
--- a/sanitizer_common/sanitizer_symbolizer_report.cpp
+++ b/sanitizer_common/sanitizer_symbolizer_report.cpp
@@ -20,7 +20,7 @@
@ -635,17 +629,17 @@ index c26724c..fb91e96 100644
# include "sanitizer_posix.h"
# include <sys/mman.h>
#endif
@@ -88,7 +88,7 @@ void ReportErrorSummary(const char *error_type, const StackTrace *stack,
@@ -89,7 +89,7 @@ void ReportErrorSummary(const char *error_type, const StackTrace *stack,
}
void ReportMmapWriteExec(int prot) {
void ReportMmapWriteExec(int prot, int flags) {
-#if SANITIZER_POSIX && (!SANITIZER_GO && !SANITIZER_ANDROID)
+#if SANITIZER_POSIX && (!SANITIZER_GO && !SANITIZER_ANDROID) && 0
if ((prot & (PROT_WRITE | PROT_EXEC)) != (PROT_WRITE | PROT_EXEC))
int pflags = (PROT_WRITE | PROT_EXEC);
if ((prot & pflags) != pflags)
return;
diff --git a/ubsan/ubsan_diag.cpp b/ubsan/ubsan_diag.cpp
index 1b2828d..8605700 100644
index 8de51bc..f34fed2 100644
--- a/ubsan/ubsan_diag.cpp
+++ b/ubsan/ubsan_diag.cpp
@@ -22,7 +22,9 @@
@ -669,7 +663,7 @@ index 1b2828d..8605700 100644
Buffer->append("%s", FloatBuffer);
break;
diff --git a/ubsan/ubsan_flags.cpp b/ubsan/ubsan_flags.cpp
index 80de2a6..913fd4b 100644
index 9a66bd3..330b0cc 100644
--- a/ubsan/ubsan_flags.cpp
+++ b/ubsan/ubsan_flags.cpp
@@ -17,7 +17,9 @@
@ -682,7 +676,7 @@ index 80de2a6..913fd4b 100644
namespace __ubsan {
@@ -30,7 +32,11 @@ static const char *GetFlag(const char *flag) {
@@ -26,7 +28,11 @@ static const char *GetFlag(const char *flag) {
if (SANITIZER_CAN_USE_PREINIT_ARRAY) {
return GetEnv(flag);
} else {