[erlang-bugs] A bug in address patching in hipe_x86.c?
Yiannis Tsiouris
gtsiour@REDACTED
Fri Jan 31 13:58:35 CET 2014
Hey,
While trying to locate a bug in our x86 backend that caused a segfault at
load-time, we came at something that we think is a bug in the final address
calculation. In functions hipe_patch_load_fe and hipe_patch_insn in
erts/emulator/hipe/hipe_x86.c file we think that the final address should always
be calculated as the sum of "address" and "value". We base this on our
observation that "address" seems to be the offset and "value" seems to be the
base address.
The patch that works for us is attached.
If any developer can confirm that this is a bug (and that the patch is the
correct way to fix it) I can submit it properly (if needed). :-)
Thanks,
Yiannis (as member of the ErLLVM team)
--
Yiannis Tsiouris
Ph.D. student,
Software Engineering Laboratory,
National Technical University of Athens
WWW: http://www.softlab.ntua.gr/~gtsiour
-------------- next part --------------
A non-text attachment was scrubbed...
Name: address-patching-in-x86.diff
Type: text/x-patch
Size: 769 bytes
Desc: not available
URL: <http://erlang.org/pipermail/erlang-bugs/attachments/20140131/7f8ee50b/attachment.bin>
More information about the erlang-bugs
mailing list