about summary refs log tree commit diff
path: root/src/libsyntax/parse
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2015-04-16 13:29:52 +0000
committerbors <bors@rust-lang.org>2015-04-16 13:29:52 +0000
commit5576b0558c7f46faa5331be72113238c677979b6 (patch)
tree4f99eb29429b44cbbf458b6350f8e71641efcfe1 /src/libsyntax/parse
parentac2b6f6066adeb79629604a92ecb871c642d045d (diff)
parent3e57c6c3ba0d7bfb6ad85915052406be1f218dbc (diff)
downloadrust-5576b0558c7f46faa5331be72113238c677979b6.tar.gz
rust-5576b0558c7f46faa5331be72113238c677979b6.zip
Auto merge of #24448 - alexcrichton:issue-24445, r=huonw
One of the parameters to the magical "register a thread-local destructor"
function is called `__dso_handle` and largely just passed along (this seems to
be what other implementations do). Currently we pass the *value* of this symbol,
but apparently the correct piece of information to pass is the *address* of the
symbol.

In a PIE binary the symbol actually contains an address to itself which is why
we've gotten away with what we're doing as long as we have. In a non-PIE binary
the symbol contains the address `NULL`, causing a segfault in the runtime
library if it keeps going.

Closes #24445
Diffstat (limited to 'src/libsyntax/parse')
0 files changed, 0 insertions, 0 deletions