Skip to content

Commit 4b8404d

Browse files
author
Arun Sharma
committed
Remove the special casing of ia64 for GetIPInfo()
This rule (no IP adjustment on ia64) may be correct for locating the right FDE. Unfortunately the same adjusted/unadjusted return address is being used also by __gxx_personality_v0() to locate the right call-site (the try {} block) for unwinding. And this case is already sensitive for off-by-one PC values. Unlike the FDE location where the function prologue + epilogue make it immune against off-by-one PC calculations. Therefore suggesting to unify it with non-ia64 case. Signed-off-by: Jan Kratochvil <jan.kratochvil@redhat.com>
1 parent b483ea3 commit 4b8404d

File tree

2 files changed

+2
-50
lines changed

2 files changed

+2
-50
lines changed

src/Makefile.am

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -69,13 +69,8 @@ libunwind_la_SOURCES_local_unwind = \
6969
unwind/GetGR.c unwind/GetIP.c unwind/GetLanguageSpecificData.c \
7070
unwind/GetRegionStart.c unwind/GetTextRelBase.c \
7171
unwind/RaiseException.c unwind/Resume.c \
72-
unwind/Resume_or_Rethrow.c unwind/SetGR.c unwind/SetIP.c
73-
74-
if ARCH_IA64
75-
libunwind_la_SOURCES_local_unwind += ia64/unwind_GetIPInfo.c
76-
else
77-
libunwind_la_SOURCES_local_unwind += unwind/GetIPInfo.c
78-
endif # ARCH_IA64
72+
unwind/Resume_or_Rethrow.c unwind/SetGR.c unwind/SetIP.c \
73+
unwind/GetIPInfo.c
7974

8075
# _ReadULEB()/_ReadSLEB() are needed for Intel C++ 8.0 compatibility
8176
libunwind_la_SOURCES_os_linux_local = mi/_ReadULEB.c mi/_ReadSLEB.c

src/ia64/unwind_GetIPInfo.c

Lines changed: 0 additions & 43 deletions
This file was deleted.

0 commit comments

Comments
 (0)