Mark asan fake stacks during machine stack marking
ASAN leaves a pointer to the fake frame on the stack; we can use the __asan_addr_is_in_fake_stack API to work out the extent of the fake stack and thus mark any VALUEs contained therein. [Bug #20001]
This commit is contained in:
parent
bdafad8790
commit
d10bc3a2b8
43
common.mk
43
common.mk
@ -2000,6 +2000,7 @@ array.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
|||||||
array.$(OBJEXT): $(top_srcdir)/internal/object.h
|
array.$(OBJEXT): $(top_srcdir)/internal/object.h
|
||||||
array.$(OBJEXT): $(top_srcdir)/internal/proc.h
|
array.$(OBJEXT): $(top_srcdir)/internal/proc.h
|
||||||
array.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
array.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
||||||
|
array.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
array.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
array.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
array.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
array.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
array.$(OBJEXT): $(top_srcdir)/internal/variable.h
|
array.$(OBJEXT): $(top_srcdir)/internal/variable.h
|
||||||
@ -2213,6 +2214,7 @@ ast.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
|||||||
ast.$(OBJEXT): $(top_srcdir)/internal/parse.h
|
ast.$(OBJEXT): $(top_srcdir)/internal/parse.h
|
||||||
ast.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
ast.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
||||||
ast.$(OBJEXT): $(top_srcdir)/internal/ruby_parser.h
|
ast.$(OBJEXT): $(top_srcdir)/internal/ruby_parser.h
|
||||||
|
ast.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
ast.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
ast.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
ast.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
ast.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
ast.$(OBJEXT): $(top_srcdir)/internal/symbol.h
|
ast.$(OBJEXT): $(top_srcdir)/internal/symbol.h
|
||||||
@ -2648,6 +2650,7 @@ builtin.$(OBJEXT): $(top_srcdir)/internal/basic_operators.h
|
|||||||
builtin.$(OBJEXT): $(top_srcdir)/internal/compilers.h
|
builtin.$(OBJEXT): $(top_srcdir)/internal/compilers.h
|
||||||
builtin.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
builtin.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
||||||
builtin.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
builtin.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
||||||
|
builtin.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
builtin.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
builtin.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
builtin.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
builtin.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
builtin.$(OBJEXT): $(top_srcdir)/internal/variable.h
|
builtin.$(OBJEXT): $(top_srcdir)/internal/variable.h
|
||||||
@ -2877,6 +2880,7 @@ class.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
|||||||
class.$(OBJEXT): $(top_srcdir)/internal/hash.h
|
class.$(OBJEXT): $(top_srcdir)/internal/hash.h
|
||||||
class.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
class.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
||||||
class.$(OBJEXT): $(top_srcdir)/internal/object.h
|
class.$(OBJEXT): $(top_srcdir)/internal/object.h
|
||||||
|
class.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
class.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
class.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
class.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
class.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
class.$(OBJEXT): $(top_srcdir)/internal/string.h
|
class.$(OBJEXT): $(top_srcdir)/internal/string.h
|
||||||
@ -3274,6 +3278,7 @@ compile.$(OBJEXT): $(top_srcdir)/internal/object.h
|
|||||||
compile.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
compile.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
||||||
compile.$(OBJEXT): $(top_srcdir)/internal/re.h
|
compile.$(OBJEXT): $(top_srcdir)/internal/re.h
|
||||||
compile.$(OBJEXT): $(top_srcdir)/internal/ruby_parser.h
|
compile.$(OBJEXT): $(top_srcdir)/internal/ruby_parser.h
|
||||||
|
compile.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
compile.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
compile.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
compile.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
compile.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
compile.$(OBJEXT): $(top_srcdir)/internal/string.h
|
compile.$(OBJEXT): $(top_srcdir)/internal/string.h
|
||||||
@ -3527,6 +3532,7 @@ complex.$(OBJEXT): $(top_srcdir)/internal/math.h
|
|||||||
complex.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
complex.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
||||||
complex.$(OBJEXT): $(top_srcdir)/internal/object.h
|
complex.$(OBJEXT): $(top_srcdir)/internal/object.h
|
||||||
complex.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
complex.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
||||||
|
complex.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
complex.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
complex.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
complex.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
complex.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
complex.$(OBJEXT): $(top_srcdir)/internal/string.h
|
complex.$(OBJEXT): $(top_srcdir)/internal/string.h
|
||||||
@ -3971,6 +3977,7 @@ debug.$(OBJEXT): $(top_srcdir)/internal/class.h
|
|||||||
debug.$(OBJEXT): $(top_srcdir)/internal/compilers.h
|
debug.$(OBJEXT): $(top_srcdir)/internal/compilers.h
|
||||||
debug.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
debug.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
||||||
debug.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
debug.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
||||||
|
debug.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
debug.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
debug.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
debug.$(OBJEXT): $(top_srcdir)/internal/signal.h
|
debug.$(OBJEXT): $(top_srcdir)/internal/signal.h
|
||||||
debug.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
debug.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
@ -4348,6 +4355,7 @@ dir.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
|||||||
dir.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
dir.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
||||||
dir.$(OBJEXT): $(top_srcdir)/internal/io.h
|
dir.$(OBJEXT): $(top_srcdir)/internal/io.h
|
||||||
dir.$(OBJEXT): $(top_srcdir)/internal/object.h
|
dir.$(OBJEXT): $(top_srcdir)/internal/object.h
|
||||||
|
dir.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
dir.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
dir.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
dir.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
dir.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
dir.$(OBJEXT): $(top_srcdir)/internal/string.h
|
dir.$(OBJEXT): $(top_srcdir)/internal/string.h
|
||||||
@ -6271,6 +6279,7 @@ enumerator.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
|||||||
enumerator.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
enumerator.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
||||||
enumerator.$(OBJEXT): $(top_srcdir)/internal/range.h
|
enumerator.$(OBJEXT): $(top_srcdir)/internal/range.h
|
||||||
enumerator.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
enumerator.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
||||||
|
enumerator.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
enumerator.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
enumerator.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
enumerator.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
enumerator.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
enumerator.$(OBJEXT): $(top_srcdir)/internal/string.h
|
enumerator.$(OBJEXT): $(top_srcdir)/internal/string.h
|
||||||
@ -6483,6 +6492,7 @@ error.$(OBJEXT): $(top_srcdir)/internal/io.h
|
|||||||
error.$(OBJEXT): $(top_srcdir)/internal/load.h
|
error.$(OBJEXT): $(top_srcdir)/internal/load.h
|
||||||
error.$(OBJEXT): $(top_srcdir)/internal/object.h
|
error.$(OBJEXT): $(top_srcdir)/internal/object.h
|
||||||
error.$(OBJEXT): $(top_srcdir)/internal/process.h
|
error.$(OBJEXT): $(top_srcdir)/internal/process.h
|
||||||
|
error.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
error.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
error.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
error.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
error.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
error.$(OBJEXT): $(top_srcdir)/internal/string.h
|
error.$(OBJEXT): $(top_srcdir)/internal/string.h
|
||||||
@ -6699,6 +6709,7 @@ eval.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
|||||||
eval.$(OBJEXT): $(top_srcdir)/internal/inits.h
|
eval.$(OBJEXT): $(top_srcdir)/internal/inits.h
|
||||||
eval.$(OBJEXT): $(top_srcdir)/internal/io.h
|
eval.$(OBJEXT): $(top_srcdir)/internal/io.h
|
||||||
eval.$(OBJEXT): $(top_srcdir)/internal/object.h
|
eval.$(OBJEXT): $(top_srcdir)/internal/object.h
|
||||||
|
eval.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
eval.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
eval.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
eval.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
eval.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
eval.$(OBJEXT): $(top_srcdir)/internal/string.h
|
eval.$(OBJEXT): $(top_srcdir)/internal/string.h
|
||||||
@ -7434,6 +7445,7 @@ goruby.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
|||||||
goruby.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
goruby.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
||||||
goruby.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
goruby.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
||||||
goruby.$(OBJEXT): $(top_srcdir)/internal/ruby_parser.h
|
goruby.$(OBJEXT): $(top_srcdir)/internal/ruby_parser.h
|
||||||
|
goruby.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
goruby.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
goruby.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
goruby.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
goruby.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
goruby.$(OBJEXT): $(top_srcdir)/internal/variable.h
|
goruby.$(OBJEXT): $(top_srcdir)/internal/variable.h
|
||||||
@ -7670,6 +7682,7 @@ hash.$(OBJEXT): $(top_srcdir)/internal/hash.h
|
|||||||
hash.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
hash.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
||||||
hash.$(OBJEXT): $(top_srcdir)/internal/object.h
|
hash.$(OBJEXT): $(top_srcdir)/internal/object.h
|
||||||
hash.$(OBJEXT): $(top_srcdir)/internal/proc.h
|
hash.$(OBJEXT): $(top_srcdir)/internal/proc.h
|
||||||
|
hash.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
hash.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
hash.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
hash.$(OBJEXT): $(top_srcdir)/internal/st.h
|
hash.$(OBJEXT): $(top_srcdir)/internal/st.h
|
||||||
hash.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
hash.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
@ -8082,6 +8095,7 @@ io.$(OBJEXT): $(top_srcdir)/internal/io.h
|
|||||||
io.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
io.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
||||||
io.$(OBJEXT): $(top_srcdir)/internal/object.h
|
io.$(OBJEXT): $(top_srcdir)/internal/object.h
|
||||||
io.$(OBJEXT): $(top_srcdir)/internal/process.h
|
io.$(OBJEXT): $(top_srcdir)/internal/process.h
|
||||||
|
io.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
io.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
io.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
io.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
io.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
io.$(OBJEXT): $(top_srcdir)/internal/string.h
|
io.$(OBJEXT): $(top_srcdir)/internal/string.h
|
||||||
@ -8756,6 +8770,7 @@ load.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
|||||||
load.$(OBJEXT): $(top_srcdir)/internal/parse.h
|
load.$(OBJEXT): $(top_srcdir)/internal/parse.h
|
||||||
load.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
load.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
||||||
load.$(OBJEXT): $(top_srcdir)/internal/ruby_parser.h
|
load.$(OBJEXT): $(top_srcdir)/internal/ruby_parser.h
|
||||||
|
load.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
load.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
load.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
load.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
load.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
load.$(OBJEXT): $(top_srcdir)/internal/string.h
|
load.$(OBJEXT): $(top_srcdir)/internal/string.h
|
||||||
@ -9485,6 +9500,7 @@ marshal.$(OBJEXT): $(top_srcdir)/internal/hash.h
|
|||||||
marshal.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
marshal.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
||||||
marshal.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
marshal.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
||||||
marshal.$(OBJEXT): $(top_srcdir)/internal/object.h
|
marshal.$(OBJEXT): $(top_srcdir)/internal/object.h
|
||||||
|
marshal.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
marshal.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
marshal.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
marshal.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
marshal.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
marshal.$(OBJEXT): $(top_srcdir)/internal/string.h
|
marshal.$(OBJEXT): $(top_srcdir)/internal/string.h
|
||||||
@ -9869,6 +9885,7 @@ memory_view.$(OBJEXT): $(top_srcdir)/internal/compilers.h
|
|||||||
memory_view.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
memory_view.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
||||||
memory_view.$(OBJEXT): $(top_srcdir)/internal/hash.h
|
memory_view.$(OBJEXT): $(top_srcdir)/internal/hash.h
|
||||||
memory_view.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
memory_view.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
||||||
|
memory_view.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
memory_view.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
memory_view.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
memory_view.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
memory_view.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
memory_view.$(OBJEXT): $(top_srcdir)/internal/variable.h
|
memory_view.$(OBJEXT): $(top_srcdir)/internal/variable.h
|
||||||
@ -10080,6 +10097,7 @@ miniinit.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
|||||||
miniinit.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
miniinit.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
||||||
miniinit.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
miniinit.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
||||||
miniinit.$(OBJEXT): $(top_srcdir)/internal/ruby_parser.h
|
miniinit.$(OBJEXT): $(top_srcdir)/internal/ruby_parser.h
|
||||||
|
miniinit.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
miniinit.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
miniinit.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
miniinit.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
miniinit.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
miniinit.$(OBJEXT): $(top_srcdir)/internal/variable.h
|
miniinit.$(OBJEXT): $(top_srcdir)/internal/variable.h
|
||||||
@ -10328,6 +10346,7 @@ node.$(OBJEXT): $(top_srcdir)/internal/compilers.h
|
|||||||
node.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
node.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
||||||
node.$(OBJEXT): $(top_srcdir)/internal/hash.h
|
node.$(OBJEXT): $(top_srcdir)/internal/hash.h
|
||||||
node.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
node.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
||||||
|
node.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
node.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
node.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
node.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
node.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
node.$(OBJEXT): $(top_srcdir)/internal/variable.h
|
node.$(OBJEXT): $(top_srcdir)/internal/variable.h
|
||||||
@ -10535,6 +10554,7 @@ node_dump.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
|||||||
node_dump.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
node_dump.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
||||||
node_dump.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
node_dump.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
||||||
node_dump.$(OBJEXT): $(top_srcdir)/internal/ruby_parser.h
|
node_dump.$(OBJEXT): $(top_srcdir)/internal/ruby_parser.h
|
||||||
|
node_dump.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
node_dump.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
node_dump.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
node_dump.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
node_dump.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
node_dump.$(OBJEXT): $(top_srcdir)/internal/variable.h
|
node_dump.$(OBJEXT): $(top_srcdir)/internal/variable.h
|
||||||
@ -10743,6 +10763,7 @@ numeric.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
|||||||
numeric.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
numeric.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
||||||
numeric.$(OBJEXT): $(top_srcdir)/internal/object.h
|
numeric.$(OBJEXT): $(top_srcdir)/internal/object.h
|
||||||
numeric.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
numeric.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
||||||
|
numeric.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
numeric.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
numeric.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
numeric.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
numeric.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
numeric.$(OBJEXT): $(top_srcdir)/internal/string.h
|
numeric.$(OBJEXT): $(top_srcdir)/internal/string.h
|
||||||
@ -10956,6 +10977,7 @@ object.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
|||||||
object.$(OBJEXT): $(top_srcdir)/internal/inits.h
|
object.$(OBJEXT): $(top_srcdir)/internal/inits.h
|
||||||
object.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
object.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
||||||
object.$(OBJEXT): $(top_srcdir)/internal/object.h
|
object.$(OBJEXT): $(top_srcdir)/internal/object.h
|
||||||
|
object.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
object.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
object.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
object.$(OBJEXT): $(top_srcdir)/internal/st.h
|
object.$(OBJEXT): $(top_srcdir)/internal/st.h
|
||||||
object.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
object.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
@ -11170,6 +11192,7 @@ pack.$(OBJEXT): $(top_srcdir)/internal/bits.h
|
|||||||
pack.$(OBJEXT): $(top_srcdir)/internal/compilers.h
|
pack.$(OBJEXT): $(top_srcdir)/internal/compilers.h
|
||||||
pack.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
pack.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
||||||
pack.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
pack.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
||||||
|
pack.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
pack.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
pack.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
pack.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
pack.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
pack.$(OBJEXT): $(top_srcdir)/internal/string.h
|
pack.$(OBJEXT): $(top_srcdir)/internal/string.h
|
||||||
@ -11389,6 +11412,7 @@ parse.$(OBJEXT): $(top_srcdir)/internal/parse.h
|
|||||||
parse.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
parse.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
||||||
parse.$(OBJEXT): $(top_srcdir)/internal/re.h
|
parse.$(OBJEXT): $(top_srcdir)/internal/re.h
|
||||||
parse.$(OBJEXT): $(top_srcdir)/internal/ruby_parser.h
|
parse.$(OBJEXT): $(top_srcdir)/internal/ruby_parser.h
|
||||||
|
parse.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
parse.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
parse.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
parse.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
parse.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
parse.$(OBJEXT): $(top_srcdir)/internal/string.h
|
parse.$(OBJEXT): $(top_srcdir)/internal/string.h
|
||||||
@ -12641,6 +12665,7 @@ proc.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
|||||||
proc.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
proc.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
||||||
proc.$(OBJEXT): $(top_srcdir)/internal/object.h
|
proc.$(OBJEXT): $(top_srcdir)/internal/object.h
|
||||||
proc.$(OBJEXT): $(top_srcdir)/internal/proc.h
|
proc.$(OBJEXT): $(top_srcdir)/internal/proc.h
|
||||||
|
proc.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
proc.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
proc.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
proc.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
proc.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
proc.$(OBJEXT): $(top_srcdir)/internal/string.h
|
proc.$(OBJEXT): $(top_srcdir)/internal/string.h
|
||||||
@ -12885,6 +12910,7 @@ process.$(OBJEXT): $(top_srcdir)/internal/io.h
|
|||||||
process.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
process.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
||||||
process.$(OBJEXT): $(top_srcdir)/internal/object.h
|
process.$(OBJEXT): $(top_srcdir)/internal/object.h
|
||||||
process.$(OBJEXT): $(top_srcdir)/internal/process.h
|
process.$(OBJEXT): $(top_srcdir)/internal/process.h
|
||||||
|
process.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
process.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
process.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
process.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
process.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
process.$(OBJEXT): $(top_srcdir)/internal/string.h
|
process.$(OBJEXT): $(top_srcdir)/internal/string.h
|
||||||
@ -13107,6 +13133,7 @@ ractor.$(OBJEXT): $(top_srcdir)/internal/hash.h
|
|||||||
ractor.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
ractor.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
||||||
ractor.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
ractor.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
||||||
ractor.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
ractor.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
||||||
|
ractor.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
ractor.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
ractor.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
ractor.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
ractor.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
ractor.$(OBJEXT): $(top_srcdir)/internal/string.h
|
ractor.$(OBJEXT): $(top_srcdir)/internal/string.h
|
||||||
@ -13729,6 +13756,7 @@ rational.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
|||||||
rational.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
rational.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
||||||
rational.$(OBJEXT): $(top_srcdir)/internal/object.h
|
rational.$(OBJEXT): $(top_srcdir)/internal/object.h
|
||||||
rational.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
rational.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
||||||
|
rational.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
rational.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
rational.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
rational.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
rational.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
rational.$(OBJEXT): $(top_srcdir)/internal/variable.h
|
rational.$(OBJEXT): $(top_srcdir)/internal/variable.h
|
||||||
@ -13935,6 +13963,7 @@ re.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
|||||||
re.$(OBJEXT): $(top_srcdir)/internal/object.h
|
re.$(OBJEXT): $(top_srcdir)/internal/object.h
|
||||||
re.$(OBJEXT): $(top_srcdir)/internal/ractor.h
|
re.$(OBJEXT): $(top_srcdir)/internal/ractor.h
|
||||||
re.$(OBJEXT): $(top_srcdir)/internal/re.h
|
re.$(OBJEXT): $(top_srcdir)/internal/re.h
|
||||||
|
re.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
re.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
re.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
re.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
re.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
re.$(OBJEXT): $(top_srcdir)/internal/string.h
|
re.$(OBJEXT): $(top_srcdir)/internal/string.h
|
||||||
@ -15118,6 +15147,7 @@ rjit.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
|||||||
rjit.$(OBJEXT): $(top_srcdir)/internal/hash.h
|
rjit.$(OBJEXT): $(top_srcdir)/internal/hash.h
|
||||||
rjit.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
rjit.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
||||||
rjit.$(OBJEXT): $(top_srcdir)/internal/process.h
|
rjit.$(OBJEXT): $(top_srcdir)/internal/process.h
|
||||||
|
rjit.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
rjit.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
rjit.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
rjit.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
rjit.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
rjit.$(OBJEXT): $(top_srcdir)/internal/string.h
|
rjit.$(OBJEXT): $(top_srcdir)/internal/string.h
|
||||||
@ -15647,6 +15677,7 @@ ruby.$(OBJEXT): $(top_srcdir)/internal/object.h
|
|||||||
ruby.$(OBJEXT): $(top_srcdir)/internal/parse.h
|
ruby.$(OBJEXT): $(top_srcdir)/internal/parse.h
|
||||||
ruby.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
ruby.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
||||||
ruby.$(OBJEXT): $(top_srcdir)/internal/ruby_parser.h
|
ruby.$(OBJEXT): $(top_srcdir)/internal/ruby_parser.h
|
||||||
|
ruby.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
ruby.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
ruby.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
ruby.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
ruby.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
ruby.$(OBJEXT): $(top_srcdir)/internal/string.h
|
ruby.$(OBJEXT): $(top_srcdir)/internal/string.h
|
||||||
@ -16065,6 +16096,7 @@ scheduler.$(OBJEXT): $(top_srcdir)/internal/basic_operators.h
|
|||||||
scheduler.$(OBJEXT): $(top_srcdir)/internal/compilers.h
|
scheduler.$(OBJEXT): $(top_srcdir)/internal/compilers.h
|
||||||
scheduler.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
scheduler.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
||||||
scheduler.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
scheduler.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
||||||
|
scheduler.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
scheduler.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
scheduler.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
scheduler.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
scheduler.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
scheduler.$(OBJEXT): $(top_srcdir)/internal/thread.h
|
scheduler.$(OBJEXT): $(top_srcdir)/internal/thread.h
|
||||||
@ -16429,6 +16461,7 @@ shape.$(OBJEXT): $(top_srcdir)/internal/error.h
|
|||||||
shape.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
shape.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
||||||
shape.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
shape.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
||||||
shape.$(OBJEXT): $(top_srcdir)/internal/object.h
|
shape.$(OBJEXT): $(top_srcdir)/internal/object.h
|
||||||
|
shape.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
shape.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
shape.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
shape.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
shape.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
shape.$(OBJEXT): $(top_srcdir)/internal/string.h
|
shape.$(OBJEXT): $(top_srcdir)/internal/string.h
|
||||||
@ -17645,6 +17678,7 @@ struct.$(OBJEXT): $(top_srcdir)/internal/hash.h
|
|||||||
struct.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
struct.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
||||||
struct.$(OBJEXT): $(top_srcdir)/internal/object.h
|
struct.$(OBJEXT): $(top_srcdir)/internal/object.h
|
||||||
struct.$(OBJEXT): $(top_srcdir)/internal/proc.h
|
struct.$(OBJEXT): $(top_srcdir)/internal/proc.h
|
||||||
|
struct.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
struct.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
struct.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
struct.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
struct.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
struct.$(OBJEXT): $(top_srcdir)/internal/string.h
|
struct.$(OBJEXT): $(top_srcdir)/internal/string.h
|
||||||
@ -17855,6 +17889,7 @@ symbol.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
|||||||
symbol.$(OBJEXT): $(top_srcdir)/internal/hash.h
|
symbol.$(OBJEXT): $(top_srcdir)/internal/hash.h
|
||||||
symbol.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
symbol.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
||||||
symbol.$(OBJEXT): $(top_srcdir)/internal/object.h
|
symbol.$(OBJEXT): $(top_srcdir)/internal/object.h
|
||||||
|
symbol.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
symbol.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
symbol.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
symbol.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
symbol.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
symbol.$(OBJEXT): $(top_srcdir)/internal/string.h
|
symbol.$(OBJEXT): $(top_srcdir)/internal/string.h
|
||||||
@ -18076,6 +18111,7 @@ thread.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
|||||||
thread.$(OBJEXT): $(top_srcdir)/internal/io.h
|
thread.$(OBJEXT): $(top_srcdir)/internal/io.h
|
||||||
thread.$(OBJEXT): $(top_srcdir)/internal/object.h
|
thread.$(OBJEXT): $(top_srcdir)/internal/object.h
|
||||||
thread.$(OBJEXT): $(top_srcdir)/internal/proc.h
|
thread.$(OBJEXT): $(top_srcdir)/internal/proc.h
|
||||||
|
thread.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
thread.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
thread.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
thread.$(OBJEXT): $(top_srcdir)/internal/signal.h
|
thread.$(OBJEXT): $(top_srcdir)/internal/signal.h
|
||||||
thread.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
thread.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
@ -18329,6 +18365,7 @@ time.$(OBJEXT): $(top_srcdir)/internal/hash.h
|
|||||||
time.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
time.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
||||||
time.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
time.$(OBJEXT): $(top_srcdir)/internal/numeric.h
|
||||||
time.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
time.$(OBJEXT): $(top_srcdir)/internal/rational.h
|
||||||
|
time.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
time.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
time.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
time.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
time.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
time.$(OBJEXT): $(top_srcdir)/internal/string.h
|
time.$(OBJEXT): $(top_srcdir)/internal/string.h
|
||||||
@ -18892,6 +18929,7 @@ variable.$(OBJEXT): $(top_srcdir)/internal/hash.h
|
|||||||
variable.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
variable.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
||||||
variable.$(OBJEXT): $(top_srcdir)/internal/object.h
|
variable.$(OBJEXT): $(top_srcdir)/internal/object.h
|
||||||
variable.$(OBJEXT): $(top_srcdir)/internal/re.h
|
variable.$(OBJEXT): $(top_srcdir)/internal/re.h
|
||||||
|
variable.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
variable.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
variable.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
variable.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
variable.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
variable.$(OBJEXT): $(top_srcdir)/internal/string.h
|
variable.$(OBJEXT): $(top_srcdir)/internal/string.h
|
||||||
@ -19104,6 +19142,7 @@ version.$(OBJEXT): $(top_srcdir)/internal/cmdlineopt.h
|
|||||||
version.$(OBJEXT): $(top_srcdir)/internal/compilers.h
|
version.$(OBJEXT): $(top_srcdir)/internal/compilers.h
|
||||||
version.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
version.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
||||||
version.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
version.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
||||||
|
version.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
version.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
version.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
version.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
version.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
version.$(OBJEXT): $(top_srcdir)/internal/variable.h
|
version.$(OBJEXT): $(top_srcdir)/internal/variable.h
|
||||||
@ -19592,6 +19631,7 @@ vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/compilers.h
|
|||||||
vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/error.h
|
vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/error.h
|
||||||
vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
||||||
vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
||||||
|
vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/string.h
|
vm_backtrace.$(OBJEXT): $(top_srcdir)/internal/string.h
|
||||||
@ -19821,6 +19861,7 @@ vm_dump.$(OBJEXT): $(top_srcdir)/internal/basic_operators.h
|
|||||||
vm_dump.$(OBJEXT): $(top_srcdir)/internal/compilers.h
|
vm_dump.$(OBJEXT): $(top_srcdir)/internal/compilers.h
|
||||||
vm_dump.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
vm_dump.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
||||||
vm_dump.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
vm_dump.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
||||||
|
vm_dump.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
vm_dump.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
vm_dump.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
vm_dump.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
vm_dump.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
vm_dump.$(OBJEXT): $(top_srcdir)/internal/variable.h
|
vm_dump.$(OBJEXT): $(top_srcdir)/internal/variable.h
|
||||||
@ -20049,6 +20090,7 @@ vm_sync.$(OBJEXT): $(top_srcdir)/internal/basic_operators.h
|
|||||||
vm_sync.$(OBJEXT): $(top_srcdir)/internal/compilers.h
|
vm_sync.$(OBJEXT): $(top_srcdir)/internal/compilers.h
|
||||||
vm_sync.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
vm_sync.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
||||||
vm_sync.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
vm_sync.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
||||||
|
vm_sync.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
vm_sync.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
vm_sync.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
vm_sync.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
vm_sync.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
vm_sync.$(OBJEXT): $(top_srcdir)/internal/thread.h
|
vm_sync.$(OBJEXT): $(top_srcdir)/internal/thread.h
|
||||||
@ -20257,6 +20299,7 @@ vm_trace.$(OBJEXT): $(top_srcdir)/internal/compilers.h
|
|||||||
vm_trace.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
vm_trace.$(OBJEXT): $(top_srcdir)/internal/gc.h
|
||||||
vm_trace.$(OBJEXT): $(top_srcdir)/internal/hash.h
|
vm_trace.$(OBJEXT): $(top_srcdir)/internal/hash.h
|
||||||
vm_trace.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
vm_trace.$(OBJEXT): $(top_srcdir)/internal/imemo.h
|
||||||
|
vm_trace.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h
|
||||||
vm_trace.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
vm_trace.$(OBJEXT): $(top_srcdir)/internal/serial.h
|
||||||
vm_trace.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
vm_trace.$(OBJEXT): $(top_srcdir)/internal/static_assert.h
|
||||||
vm_trace.$(OBJEXT): $(top_srcdir)/internal/symbol.h
|
vm_trace.$(OBJEXT): $(top_srcdir)/internal/symbol.h
|
||||||
|
@ -182,6 +182,7 @@ object_tracing.o: $(top_srcdir)/internal/basic_operators.h
|
|||||||
object_tracing.o: $(top_srcdir)/internal/compilers.h
|
object_tracing.o: $(top_srcdir)/internal/compilers.h
|
||||||
object_tracing.o: $(top_srcdir)/internal/gc.h
|
object_tracing.o: $(top_srcdir)/internal/gc.h
|
||||||
object_tracing.o: $(top_srcdir)/internal/imemo.h
|
object_tracing.o: $(top_srcdir)/internal/imemo.h
|
||||||
|
object_tracing.o: $(top_srcdir)/internal/sanitizers.h
|
||||||
object_tracing.o: $(top_srcdir)/internal/serial.h
|
object_tracing.o: $(top_srcdir)/internal/serial.h
|
||||||
object_tracing.o: $(top_srcdir)/internal/static_assert.h
|
object_tracing.o: $(top_srcdir)/internal/static_assert.h
|
||||||
object_tracing.o: $(top_srcdir)/internal/vm.h
|
object_tracing.o: $(top_srcdir)/internal/vm.h
|
||||||
|
@ -593,6 +593,7 @@ ripper.o: $(top_srcdir)/internal/parse.h
|
|||||||
ripper.o: $(top_srcdir)/internal/rational.h
|
ripper.o: $(top_srcdir)/internal/rational.h
|
||||||
ripper.o: $(top_srcdir)/internal/re.h
|
ripper.o: $(top_srcdir)/internal/re.h
|
||||||
ripper.o: $(top_srcdir)/internal/ruby_parser.h
|
ripper.o: $(top_srcdir)/internal/ruby_parser.h
|
||||||
|
ripper.o: $(top_srcdir)/internal/sanitizers.h
|
||||||
ripper.o: $(top_srcdir)/internal/serial.h
|
ripper.o: $(top_srcdir)/internal/serial.h
|
||||||
ripper.o: $(top_srcdir)/internal/static_assert.h
|
ripper.o: $(top_srcdir)/internal/static_assert.h
|
||||||
ripper.o: $(top_srcdir)/internal/string.h
|
ripper.o: $(top_srcdir)/internal/string.h
|
||||||
|
@ -199,6 +199,7 @@ ancdata.o: $(top_srcdir)/internal/error.h
|
|||||||
ancdata.o: $(top_srcdir)/internal/gc.h
|
ancdata.o: $(top_srcdir)/internal/gc.h
|
||||||
ancdata.o: $(top_srcdir)/internal/imemo.h
|
ancdata.o: $(top_srcdir)/internal/imemo.h
|
||||||
ancdata.o: $(top_srcdir)/internal/io.h
|
ancdata.o: $(top_srcdir)/internal/io.h
|
||||||
|
ancdata.o: $(top_srcdir)/internal/sanitizers.h
|
||||||
ancdata.o: $(top_srcdir)/internal/serial.h
|
ancdata.o: $(top_srcdir)/internal/serial.h
|
||||||
ancdata.o: $(top_srcdir)/internal/static_assert.h
|
ancdata.o: $(top_srcdir)/internal/static_assert.h
|
||||||
ancdata.o: $(top_srcdir)/internal/string.h
|
ancdata.o: $(top_srcdir)/internal/string.h
|
||||||
@ -408,6 +409,7 @@ basicsocket.o: $(top_srcdir)/internal/error.h
|
|||||||
basicsocket.o: $(top_srcdir)/internal/gc.h
|
basicsocket.o: $(top_srcdir)/internal/gc.h
|
||||||
basicsocket.o: $(top_srcdir)/internal/imemo.h
|
basicsocket.o: $(top_srcdir)/internal/imemo.h
|
||||||
basicsocket.o: $(top_srcdir)/internal/io.h
|
basicsocket.o: $(top_srcdir)/internal/io.h
|
||||||
|
basicsocket.o: $(top_srcdir)/internal/sanitizers.h
|
||||||
basicsocket.o: $(top_srcdir)/internal/serial.h
|
basicsocket.o: $(top_srcdir)/internal/serial.h
|
||||||
basicsocket.o: $(top_srcdir)/internal/static_assert.h
|
basicsocket.o: $(top_srcdir)/internal/static_assert.h
|
||||||
basicsocket.o: $(top_srcdir)/internal/string.h
|
basicsocket.o: $(top_srcdir)/internal/string.h
|
||||||
@ -617,6 +619,7 @@ constants.o: $(top_srcdir)/internal/error.h
|
|||||||
constants.o: $(top_srcdir)/internal/gc.h
|
constants.o: $(top_srcdir)/internal/gc.h
|
||||||
constants.o: $(top_srcdir)/internal/imemo.h
|
constants.o: $(top_srcdir)/internal/imemo.h
|
||||||
constants.o: $(top_srcdir)/internal/io.h
|
constants.o: $(top_srcdir)/internal/io.h
|
||||||
|
constants.o: $(top_srcdir)/internal/sanitizers.h
|
||||||
constants.o: $(top_srcdir)/internal/serial.h
|
constants.o: $(top_srcdir)/internal/serial.h
|
||||||
constants.o: $(top_srcdir)/internal/static_assert.h
|
constants.o: $(top_srcdir)/internal/static_assert.h
|
||||||
constants.o: $(top_srcdir)/internal/string.h
|
constants.o: $(top_srcdir)/internal/string.h
|
||||||
@ -827,6 +830,7 @@ ifaddr.o: $(top_srcdir)/internal/error.h
|
|||||||
ifaddr.o: $(top_srcdir)/internal/gc.h
|
ifaddr.o: $(top_srcdir)/internal/gc.h
|
||||||
ifaddr.o: $(top_srcdir)/internal/imemo.h
|
ifaddr.o: $(top_srcdir)/internal/imemo.h
|
||||||
ifaddr.o: $(top_srcdir)/internal/io.h
|
ifaddr.o: $(top_srcdir)/internal/io.h
|
||||||
|
ifaddr.o: $(top_srcdir)/internal/sanitizers.h
|
||||||
ifaddr.o: $(top_srcdir)/internal/serial.h
|
ifaddr.o: $(top_srcdir)/internal/serial.h
|
||||||
ifaddr.o: $(top_srcdir)/internal/static_assert.h
|
ifaddr.o: $(top_srcdir)/internal/static_assert.h
|
||||||
ifaddr.o: $(top_srcdir)/internal/string.h
|
ifaddr.o: $(top_srcdir)/internal/string.h
|
||||||
@ -1036,6 +1040,7 @@ init.o: $(top_srcdir)/internal/error.h
|
|||||||
init.o: $(top_srcdir)/internal/gc.h
|
init.o: $(top_srcdir)/internal/gc.h
|
||||||
init.o: $(top_srcdir)/internal/imemo.h
|
init.o: $(top_srcdir)/internal/imemo.h
|
||||||
init.o: $(top_srcdir)/internal/io.h
|
init.o: $(top_srcdir)/internal/io.h
|
||||||
|
init.o: $(top_srcdir)/internal/sanitizers.h
|
||||||
init.o: $(top_srcdir)/internal/serial.h
|
init.o: $(top_srcdir)/internal/serial.h
|
||||||
init.o: $(top_srcdir)/internal/static_assert.h
|
init.o: $(top_srcdir)/internal/static_assert.h
|
||||||
init.o: $(top_srcdir)/internal/string.h
|
init.o: $(top_srcdir)/internal/string.h
|
||||||
@ -1245,6 +1250,7 @@ ipsocket.o: $(top_srcdir)/internal/error.h
|
|||||||
ipsocket.o: $(top_srcdir)/internal/gc.h
|
ipsocket.o: $(top_srcdir)/internal/gc.h
|
||||||
ipsocket.o: $(top_srcdir)/internal/imemo.h
|
ipsocket.o: $(top_srcdir)/internal/imemo.h
|
||||||
ipsocket.o: $(top_srcdir)/internal/io.h
|
ipsocket.o: $(top_srcdir)/internal/io.h
|
||||||
|
ipsocket.o: $(top_srcdir)/internal/sanitizers.h
|
||||||
ipsocket.o: $(top_srcdir)/internal/serial.h
|
ipsocket.o: $(top_srcdir)/internal/serial.h
|
||||||
ipsocket.o: $(top_srcdir)/internal/static_assert.h
|
ipsocket.o: $(top_srcdir)/internal/static_assert.h
|
||||||
ipsocket.o: $(top_srcdir)/internal/string.h
|
ipsocket.o: $(top_srcdir)/internal/string.h
|
||||||
@ -1454,6 +1460,7 @@ option.o: $(top_srcdir)/internal/error.h
|
|||||||
option.o: $(top_srcdir)/internal/gc.h
|
option.o: $(top_srcdir)/internal/gc.h
|
||||||
option.o: $(top_srcdir)/internal/imemo.h
|
option.o: $(top_srcdir)/internal/imemo.h
|
||||||
option.o: $(top_srcdir)/internal/io.h
|
option.o: $(top_srcdir)/internal/io.h
|
||||||
|
option.o: $(top_srcdir)/internal/sanitizers.h
|
||||||
option.o: $(top_srcdir)/internal/serial.h
|
option.o: $(top_srcdir)/internal/serial.h
|
||||||
option.o: $(top_srcdir)/internal/static_assert.h
|
option.o: $(top_srcdir)/internal/static_assert.h
|
||||||
option.o: $(top_srcdir)/internal/string.h
|
option.o: $(top_srcdir)/internal/string.h
|
||||||
@ -1663,6 +1670,7 @@ raddrinfo.o: $(top_srcdir)/internal/error.h
|
|||||||
raddrinfo.o: $(top_srcdir)/internal/gc.h
|
raddrinfo.o: $(top_srcdir)/internal/gc.h
|
||||||
raddrinfo.o: $(top_srcdir)/internal/imemo.h
|
raddrinfo.o: $(top_srcdir)/internal/imemo.h
|
||||||
raddrinfo.o: $(top_srcdir)/internal/io.h
|
raddrinfo.o: $(top_srcdir)/internal/io.h
|
||||||
|
raddrinfo.o: $(top_srcdir)/internal/sanitizers.h
|
||||||
raddrinfo.o: $(top_srcdir)/internal/serial.h
|
raddrinfo.o: $(top_srcdir)/internal/serial.h
|
||||||
raddrinfo.o: $(top_srcdir)/internal/static_assert.h
|
raddrinfo.o: $(top_srcdir)/internal/static_assert.h
|
||||||
raddrinfo.o: $(top_srcdir)/internal/string.h
|
raddrinfo.o: $(top_srcdir)/internal/string.h
|
||||||
@ -1872,6 +1880,7 @@ socket.o: $(top_srcdir)/internal/error.h
|
|||||||
socket.o: $(top_srcdir)/internal/gc.h
|
socket.o: $(top_srcdir)/internal/gc.h
|
||||||
socket.o: $(top_srcdir)/internal/imemo.h
|
socket.o: $(top_srcdir)/internal/imemo.h
|
||||||
socket.o: $(top_srcdir)/internal/io.h
|
socket.o: $(top_srcdir)/internal/io.h
|
||||||
|
socket.o: $(top_srcdir)/internal/sanitizers.h
|
||||||
socket.o: $(top_srcdir)/internal/serial.h
|
socket.o: $(top_srcdir)/internal/serial.h
|
||||||
socket.o: $(top_srcdir)/internal/static_assert.h
|
socket.o: $(top_srcdir)/internal/static_assert.h
|
||||||
socket.o: $(top_srcdir)/internal/string.h
|
socket.o: $(top_srcdir)/internal/string.h
|
||||||
@ -2081,6 +2090,7 @@ sockssocket.o: $(top_srcdir)/internal/error.h
|
|||||||
sockssocket.o: $(top_srcdir)/internal/gc.h
|
sockssocket.o: $(top_srcdir)/internal/gc.h
|
||||||
sockssocket.o: $(top_srcdir)/internal/imemo.h
|
sockssocket.o: $(top_srcdir)/internal/imemo.h
|
||||||
sockssocket.o: $(top_srcdir)/internal/io.h
|
sockssocket.o: $(top_srcdir)/internal/io.h
|
||||||
|
sockssocket.o: $(top_srcdir)/internal/sanitizers.h
|
||||||
sockssocket.o: $(top_srcdir)/internal/serial.h
|
sockssocket.o: $(top_srcdir)/internal/serial.h
|
||||||
sockssocket.o: $(top_srcdir)/internal/static_assert.h
|
sockssocket.o: $(top_srcdir)/internal/static_assert.h
|
||||||
sockssocket.o: $(top_srcdir)/internal/string.h
|
sockssocket.o: $(top_srcdir)/internal/string.h
|
||||||
@ -2290,6 +2300,7 @@ tcpserver.o: $(top_srcdir)/internal/error.h
|
|||||||
tcpserver.o: $(top_srcdir)/internal/gc.h
|
tcpserver.o: $(top_srcdir)/internal/gc.h
|
||||||
tcpserver.o: $(top_srcdir)/internal/imemo.h
|
tcpserver.o: $(top_srcdir)/internal/imemo.h
|
||||||
tcpserver.o: $(top_srcdir)/internal/io.h
|
tcpserver.o: $(top_srcdir)/internal/io.h
|
||||||
|
tcpserver.o: $(top_srcdir)/internal/sanitizers.h
|
||||||
tcpserver.o: $(top_srcdir)/internal/serial.h
|
tcpserver.o: $(top_srcdir)/internal/serial.h
|
||||||
tcpserver.o: $(top_srcdir)/internal/static_assert.h
|
tcpserver.o: $(top_srcdir)/internal/static_assert.h
|
||||||
tcpserver.o: $(top_srcdir)/internal/string.h
|
tcpserver.o: $(top_srcdir)/internal/string.h
|
||||||
@ -2499,6 +2510,7 @@ tcpsocket.o: $(top_srcdir)/internal/error.h
|
|||||||
tcpsocket.o: $(top_srcdir)/internal/gc.h
|
tcpsocket.o: $(top_srcdir)/internal/gc.h
|
||||||
tcpsocket.o: $(top_srcdir)/internal/imemo.h
|
tcpsocket.o: $(top_srcdir)/internal/imemo.h
|
||||||
tcpsocket.o: $(top_srcdir)/internal/io.h
|
tcpsocket.o: $(top_srcdir)/internal/io.h
|
||||||
|
tcpsocket.o: $(top_srcdir)/internal/sanitizers.h
|
||||||
tcpsocket.o: $(top_srcdir)/internal/serial.h
|
tcpsocket.o: $(top_srcdir)/internal/serial.h
|
||||||
tcpsocket.o: $(top_srcdir)/internal/static_assert.h
|
tcpsocket.o: $(top_srcdir)/internal/static_assert.h
|
||||||
tcpsocket.o: $(top_srcdir)/internal/string.h
|
tcpsocket.o: $(top_srcdir)/internal/string.h
|
||||||
@ -2708,6 +2720,7 @@ udpsocket.o: $(top_srcdir)/internal/error.h
|
|||||||
udpsocket.o: $(top_srcdir)/internal/gc.h
|
udpsocket.o: $(top_srcdir)/internal/gc.h
|
||||||
udpsocket.o: $(top_srcdir)/internal/imemo.h
|
udpsocket.o: $(top_srcdir)/internal/imemo.h
|
||||||
udpsocket.o: $(top_srcdir)/internal/io.h
|
udpsocket.o: $(top_srcdir)/internal/io.h
|
||||||
|
udpsocket.o: $(top_srcdir)/internal/sanitizers.h
|
||||||
udpsocket.o: $(top_srcdir)/internal/serial.h
|
udpsocket.o: $(top_srcdir)/internal/serial.h
|
||||||
udpsocket.o: $(top_srcdir)/internal/static_assert.h
|
udpsocket.o: $(top_srcdir)/internal/static_assert.h
|
||||||
udpsocket.o: $(top_srcdir)/internal/string.h
|
udpsocket.o: $(top_srcdir)/internal/string.h
|
||||||
@ -2917,6 +2930,7 @@ unixserver.o: $(top_srcdir)/internal/error.h
|
|||||||
unixserver.o: $(top_srcdir)/internal/gc.h
|
unixserver.o: $(top_srcdir)/internal/gc.h
|
||||||
unixserver.o: $(top_srcdir)/internal/imemo.h
|
unixserver.o: $(top_srcdir)/internal/imemo.h
|
||||||
unixserver.o: $(top_srcdir)/internal/io.h
|
unixserver.o: $(top_srcdir)/internal/io.h
|
||||||
|
unixserver.o: $(top_srcdir)/internal/sanitizers.h
|
||||||
unixserver.o: $(top_srcdir)/internal/serial.h
|
unixserver.o: $(top_srcdir)/internal/serial.h
|
||||||
unixserver.o: $(top_srcdir)/internal/static_assert.h
|
unixserver.o: $(top_srcdir)/internal/static_assert.h
|
||||||
unixserver.o: $(top_srcdir)/internal/string.h
|
unixserver.o: $(top_srcdir)/internal/string.h
|
||||||
@ -3126,6 +3140,7 @@ unixsocket.o: $(top_srcdir)/internal/error.h
|
|||||||
unixsocket.o: $(top_srcdir)/internal/gc.h
|
unixsocket.o: $(top_srcdir)/internal/gc.h
|
||||||
unixsocket.o: $(top_srcdir)/internal/imemo.h
|
unixsocket.o: $(top_srcdir)/internal/imemo.h
|
||||||
unixsocket.o: $(top_srcdir)/internal/io.h
|
unixsocket.o: $(top_srcdir)/internal/io.h
|
||||||
|
unixsocket.o: $(top_srcdir)/internal/sanitizers.h
|
||||||
unixsocket.o: $(top_srcdir)/internal/serial.h
|
unixsocket.o: $(top_srcdir)/internal/serial.h
|
||||||
unixsocket.o: $(top_srcdir)/internal/static_assert.h
|
unixsocket.o: $(top_srcdir)/internal/static_assert.h
|
||||||
unixsocket.o: $(top_srcdir)/internal/string.h
|
unixsocket.o: $(top_srcdir)/internal/string.h
|
||||||
|
33
gc.c
33
gc.c
@ -6828,6 +6828,25 @@ static void each_stack_location(rb_objspace_t *objspace, const rb_execution_cont
|
|||||||
const VALUE *stack_start, const VALUE *stack_end, void *ctx,
|
const VALUE *stack_start, const VALUE *stack_end, void *ctx,
|
||||||
void (*cb)(rb_objspace_t *, void *, VALUE));
|
void (*cb)(rb_objspace_t *, void *, VALUE));
|
||||||
|
|
||||||
|
static void
|
||||||
|
gc_mark_machine_stack_location_maybe(rb_objspace_t *objspace, void *ctx, VALUE obj)
|
||||||
|
{
|
||||||
|
gc_mark_maybe(objspace, obj);
|
||||||
|
#ifdef RUBY_ASAN_ENABLED
|
||||||
|
rb_execution_context_t *ec = ctx;
|
||||||
|
void *fake_frame_start;
|
||||||
|
void *fake_frame_end;
|
||||||
|
bool is_fake_frame = asan_get_fake_stack_extents(
|
||||||
|
ec->thread_ptr->asan_fake_stack_handle, obj,
|
||||||
|
ec->machine.stack_start, ec->machine.stack_end,
|
||||||
|
&fake_frame_start, &fake_frame_end
|
||||||
|
);
|
||||||
|
if (is_fake_frame) {
|
||||||
|
each_stack_location(objspace, ec, fake_frame_start, fake_frame_end, NULL, gc_mark_maybe_cb);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
#if defined(__wasm__)
|
#if defined(__wasm__)
|
||||||
|
|
||||||
|
|
||||||
@ -6846,10 +6865,10 @@ static void
|
|||||||
mark_current_machine_context(rb_objspace_t *objspace, rb_execution_context_t *ec)
|
mark_current_machine_context(rb_objspace_t *objspace, rb_execution_context_t *ec)
|
||||||
{
|
{
|
||||||
emscripten_scan_stack(rb_mark_locations);
|
emscripten_scan_stack(rb_mark_locations);
|
||||||
each_stack_location(objspace, ec, rb_stack_range_tmp[0], rb_stack_range_tmp[1], gc_mark_maybe_cb);
|
each_stack_location(objspace, ec, rb_stack_range_tmp[0], rb_stack_range_tmp[1], NULL, gc_mark_maybe_cb);
|
||||||
|
|
||||||
emscripten_scan_registers(rb_mark_locations);
|
emscripten_scan_registers(rb_mark_locations);
|
||||||
each_stack_location(objspace, ec, rb_stack_range_tmp[0], rb_stack_range_tmp[1], gc_mark_maybe_cb);
|
each_stack_location(objspace, ec, rb_stack_range_tmp[0], rb_stack_range_tmp[1], NULL, gc_mark_maybe_cb);
|
||||||
}
|
}
|
||||||
# else // use Asyncify version
|
# else // use Asyncify version
|
||||||
|
|
||||||
@ -6859,10 +6878,10 @@ mark_current_machine_context(rb_objspace_t *objspace, rb_execution_context_t *ec
|
|||||||
VALUE *stack_start, *stack_end;
|
VALUE *stack_start, *stack_end;
|
||||||
SET_STACK_END;
|
SET_STACK_END;
|
||||||
GET_STACK_BOUNDS(stack_start, stack_end, 1);
|
GET_STACK_BOUNDS(stack_start, stack_end, 1);
|
||||||
each_stack_location(objspace, ec, stack_start, stack_end, gc_mark_maybe_cb);
|
each_stack_location(objspace, ec, stack_start, stack_end, NULL, gc_mark_maybe_cb);
|
||||||
|
|
||||||
rb_wasm_scan_locals(rb_mark_locations);
|
rb_wasm_scan_locals(rb_mark_locations);
|
||||||
each_stack_location(objspace, ec, rb_stack_range_tmp[0], rb_stack_range_tmp[1], gc_mark_maybe_cb);
|
each_stack_location(objspace, ec, rb_stack_range_tmp[0], rb_stack_range_tmp[1], NULL, gc_mark_maybe_cb);
|
||||||
}
|
}
|
||||||
|
|
||||||
# endif
|
# endif
|
||||||
@ -6889,9 +6908,9 @@ mark_current_machine_context(rb_objspace_t *objspace, rb_execution_context_t *ec
|
|||||||
SET_STACK_END;
|
SET_STACK_END;
|
||||||
GET_STACK_BOUNDS(stack_start, stack_end, 1);
|
GET_STACK_BOUNDS(stack_start, stack_end, 1);
|
||||||
|
|
||||||
each_location(objspace, save_regs_gc_mark.v, numberof(save_regs_gc_mark.v), NULL, gc_mark_maybe_cb);
|
each_location(objspace, save_regs_gc_mark.v, numberof(save_regs_gc_mark.v), (void *)ec, gc_mark_machine_stack_location_maybe);
|
||||||
|
|
||||||
each_stack_location(objspace, ec, stack_start, stack_end, NULL, gc_mark_maybe_cb);
|
each_stack_location(objspace, ec, stack_start, stack_end, (void *)ec, gc_mark_machine_stack_location_maybe);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -6909,7 +6928,7 @@ each_machine_stack_value(const rb_execution_context_t *ec, void *ctx, void (*cb)
|
|||||||
void
|
void
|
||||||
rb_gc_mark_machine_stack(const rb_execution_context_t *ec)
|
rb_gc_mark_machine_stack(const rb_execution_context_t *ec)
|
||||||
{
|
{
|
||||||
each_machine_stack_value(ec, NULL, gc_mark_maybe_cb);
|
each_machine_stack_value(ec, (void *)ec, gc_mark_machine_stack_location_maybe);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -213,4 +213,67 @@ asan_get_real_stack_addr(void* slot)
|
|||||||
return addr ? addr : slot;
|
return addr ? addr : slot;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* Gets the current thread's fake stack handle, which can be passed into get_fake_stack_extents
|
||||||
|
*
|
||||||
|
* \retval An opaque value which can be passed to asan_get_fake_stack_extents
|
||||||
|
*/
|
||||||
|
static inline void *
|
||||||
|
asan_get_thread_fake_stack_handle(void)
|
||||||
|
{
|
||||||
|
return __asan_get_current_fake_stack();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* Checks if the given VALUE _actually_ represents a pointer to an ASAN fake stack.
|
||||||
|
*
|
||||||
|
* If the given slot _is_ actually a reference to an ASAN fake stack, and that fake stack
|
||||||
|
* contains the real values for the passed-in range of machine stack addresses, returns true
|
||||||
|
* and the range of the fake stack through the outparams.
|
||||||
|
*
|
||||||
|
* Otherwise, returns false, and sets the outparams to NULL.
|
||||||
|
*
|
||||||
|
* Note that this function expects "start" to be > "end" on downward-growing stack architectures;
|
||||||
|
*
|
||||||
|
* \param[in] thread_fake_stack_handle The asan fake stack reference for the thread we're scanning
|
||||||
|
* \param[in] slot The value on the machine stack we want to inspect
|
||||||
|
* \param[in] machine_stack_start The extents of the real machine stack on which slot lives
|
||||||
|
* \param[in] machine_stack_end The extents of the real machine stack on which slot lives
|
||||||
|
* \param[out] fake_stack_start_out The extents of the fake stack which contains real VALUEs
|
||||||
|
* \param[out] fake_stack_end_out The extents of the fake stack which contains real VALUEs
|
||||||
|
* \return Whether slot is a pointer to a fake stack for the given machine stack range
|
||||||
|
*/
|
||||||
|
|
||||||
|
static inline bool
|
||||||
|
asan_get_fake_stack_extents(void *thread_fake_stack_handle, VALUE slot,
|
||||||
|
void *machine_stack_start, void *machine_stack_end,
|
||||||
|
void **fake_stack_start_out, void **fake_stack_end_out)
|
||||||
|
{
|
||||||
|
/* the ifdef is needed here to suppress a warning about fake_frame_{start/end} being
|
||||||
|
uninitialized if __asan_addr_is_in_fake_stack is an empty macro */
|
||||||
|
#ifdef RUBY_ASAN_ENABLED
|
||||||
|
void *fake_frame_start;
|
||||||
|
void *fake_frame_end;
|
||||||
|
void *real_stack_frame = __asan_addr_is_in_fake_stack(
|
||||||
|
thread_fake_stack_handle, (void *)slot, &fake_frame_start, &fake_frame_end
|
||||||
|
);
|
||||||
|
if (real_stack_frame) {
|
||||||
|
bool in_range;
|
||||||
|
#if STACK_GROW_DIRECTION < 0
|
||||||
|
in_range = machine_stack_start >= real_stack_frame && real_stack_frame >= machine_stack_end;
|
||||||
|
#else
|
||||||
|
in_range = machine_stack_start <= real_stack_frame && real_stack_frame <= machine_stack_end;
|
||||||
|
#endif
|
||||||
|
if (in_range) {
|
||||||
|
*fake_stack_start_out = fake_frame_start;
|
||||||
|
*fake_stack_end_out = fake_frame_end;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
*fake_stack_start_out = 0;
|
||||||
|
*fake_stack_end_out = 0;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* INTERNAL_SANITIZERS_H */
|
#endif /* INTERNAL_SANITIZERS_H */
|
||||||
|
3
thread.c
3
thread.c
@ -525,6 +525,9 @@ void
|
|||||||
ruby_thread_init_stack(rb_thread_t *th, void *local_in_parent_frame)
|
ruby_thread_init_stack(rb_thread_t *th, void *local_in_parent_frame)
|
||||||
{
|
{
|
||||||
native_thread_init_stack(th, local_in_parent_frame);
|
native_thread_init_stack(th, local_in_parent_frame);
|
||||||
|
#ifdef RUBY_ASAN_ENABLED
|
||||||
|
th->asan_fake_stack_handle = asan_get_thread_fake_stack_handle();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
const VALUE *
|
const VALUE *
|
||||||
|
@ -94,6 +94,7 @@ extern int ruby_assert_critical_section_entered;
|
|||||||
#include "internal.h"
|
#include "internal.h"
|
||||||
#include "internal/array.h"
|
#include "internal/array.h"
|
||||||
#include "internal/basic_operators.h"
|
#include "internal/basic_operators.h"
|
||||||
|
#include "internal/sanitizers.h"
|
||||||
#include "internal/serial.h"
|
#include "internal/serial.h"
|
||||||
#include "internal/vm.h"
|
#include "internal/vm.h"
|
||||||
#include "method.h"
|
#include "method.h"
|
||||||
@ -1155,6 +1156,10 @@ typedef struct rb_thread_struct {
|
|||||||
void **specific_storage;
|
void **specific_storage;
|
||||||
|
|
||||||
struct rb_ext_config ext_config;
|
struct rb_ext_config ext_config;
|
||||||
|
|
||||||
|
#ifdef RUBY_ASAN_ENABLED
|
||||||
|
void *asan_fake_stack_handle;
|
||||||
|
#endif
|
||||||
} rb_thread_t;
|
} rb_thread_t;
|
||||||
|
|
||||||
static inline unsigned int
|
static inline unsigned int
|
||||||
|
Loading…
x
Reference in New Issue
Block a user