diff options
author | Patrik Nyblom <[email protected]> | 2013-08-14 17:09:13 +0200 |
---|---|---|
committer | Patrik Nyblom <[email protected]> | 2013-08-15 18:15:35 +0200 |
commit | 52cb62b7930d9c7b9e04a210ff6b02946f27ae79 (patch) | |
tree | b701c64d2e3eb5b259c9102e4e741f190d2e530d /erts/emulator/beam/erl_gc.c | |
parent | 925d69c56d376d1e2371cd2236c981bc97ccb706 (diff) | |
download | otp-52cb62b7930d9c7b9e04a210ff6b02946f27ae79.tar.gz otp-52cb62b7930d9c7b9e04a210ff6b02946f27ae79.tar.bz2 otp-52cb62b7930d9c7b9e04a210ff6b02946f27ae79.zip |
Workaround TR gnu/181328, GCC 4.2.1 20070831 on FreeBSD 9.1
The bug manifests so that initialization of an automatic variable
happens after a pointer to the variable is dereferenced, causing
build_exec_return to take the wrong branch by default.
The bug is verified to happen even outside the VM and
is reported to FreeBSD as trouble ID gnu/181328.
The workaround is a slight code rewrite which is optimized differently.
Also removed two warnings about dereferencing type-punned
pointers, which did not affect the bug.
Diffstat (limited to 'erts/emulator/beam/erl_gc.c')
0 files changed, 0 insertions, 0 deletions