diff options
author | Ben Gamari <ben@smart-cactus.org> | 2015-11-23 12:45:47 +0100 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2015-11-23 15:21:57 +0100 |
commit | 70ee6389ca6be37f369395f100e609e9f16a7200 (patch) | |
tree | 9bfe5b43a4bbedc15ec9acc78098dfc57baaf9bc /rts/Libdw.c | |
parent | dbad0d5d8dc1fa616065a49f5175adafb4f36080 (diff) | |
download | haskell-70ee6389ca6be37f369395f100e609e9f16a7200.tar.gz |
Libdw: Fix initial register collection on i386
RIP-relative addressing isn't available on i386.
Diffstat (limited to 'rts/Libdw.c')
-rw-r--r-- | rts/Libdw.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/rts/Libdw.c b/rts/Libdw.c index 1415fe6fdf..61fefbd9b9 100644 --- a/rts/Libdw.c +++ b/rts/Libdw.c @@ -312,7 +312,8 @@ static bool set_initial_registers(Dwfl_Thread *thread, "movl %%ebp, 0x14(%0)\n\t" "movl %%esp, 0x18(%0)\n\t" "movl %%edi, 0x1c(%0)\n\t" - "lea 0(%%eip), %%eax\n\t" + "here:\n\t" + "movl here, %%eax\n\t" "movl %%eax, 0x20(%0)\n\t" : /* no output */ :"r" (®s[0]) /* input */ |