summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Flavio Aguilar Paulino <jflavio@br.ibm.com>2007-08-27 09:11:37 -0600
committerDavid Mosberger-Tang <davidm@koala.mostang.com>2007-08-27 09:11:37 -0600
commit32e2187fab8d7a0adaa099b7bdaefca50628de88 (patch)
tree260688d562adfaeeb0449570fd514ccec7d92fa1
parent3e24581adca378307322555d2b5e70439dbc9c19 (diff)
downloadlibunwind-32e2187fab8d7a0adaa099b7bdaefca50628de88.tar.gz
[PPC64] Get "make check" to work on PPC64 Linux. Add a README entry
describing the expected results.
-rw-r--r--README5
-rw-r--r--src/Makefile.am4
-rw-r--r--src/ppc64/siglongjmp.S1
-rw-r--r--src/ptrace/_UPT_find_proc_info.c2
-rw-r--r--tests/flush-cache.S11
5 files changed, 20 insertions, 3 deletions
diff --git a/README b/README
index 1e15c281..7a33afd9 100644
--- a/README
+++ b/README
@@ -168,6 +168,11 @@ only test programs that are known to work at this time are:
tests/Gtest-resume-sig
tests/Ltest-resume-sig
+** Expected results on PPC64 Linux
+
+"make check" should run with no more than 10 out of 24 tests failed.
+
+
* Performance Testing
This distribution includes a few simple performance tests which give
diff --git a/src/Makefile.am b/src/Makefile.am
index c69f90e8..2e403988 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -216,8 +216,10 @@ libunwind_la_SOURCES_ppc64 = $(libunwind_la_SOURCES_ppc64_common) \
$(libunwind_la_SOURCES_local) \
$(dwarf_SOURCES_local) \
dwarf/Lfind_proc_info-lsb.c \
+ ppc64/Lcreate_addr_space.c ppc64/Lget_save_loc.c \
ppc64/Lglobal.c ppc64/Linit.c ppc64/Linit_local.c \
- ppc64/Lis_signal_frame.c ppc64/Lget_proc_info.c ppc64/Lregs.c \
+ ppc64/Linit_remote.c ppc64/Lis_signal_frame.c \
+ ppc64/Lget_proc_info.c ppc64/Lregs.c \
ppc64/Lresume.c ppc64/Lstep.c
# The list of files that go into libunwind-ppc64:
diff --git a/src/ppc64/siglongjmp.S b/src/ppc64/siglongjmp.S
index e560d74e..86726968 100644
--- a/src/ppc64/siglongjmp.S
+++ b/src/ppc64/siglongjmp.S
@@ -23,3 +23,4 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
.globl _UI_siglongjmp_cont
+ _UI_siglongjmp_cont:
diff --git a/src/ptrace/_UPT_find_proc_info.c b/src/ptrace/_UPT_find_proc_info.c
index ce73b019..9f4ed380 100644
--- a/src/ptrace/_UPT_find_proc_info.c
+++ b/src/ptrace/_UPT_find_proc_info.c
@@ -145,7 +145,7 @@ _UPTi_find_unwind_table (struct UPT_info *ui, unw_addr_space_t as,
return &ui->di_cache;
}
-#elif UNW_TARGET_X86 || UNW_TARGET_X86_64 || UNW_TARGET_HPPA
+#elif UNW_TARGET_X86 || UNW_TARGET_X86_64 || UNW_TARGET_HPPA || UNW_TARGET_PPC64
#include "dwarf-eh.h"
#include "dwarf_i.h"
diff --git a/tests/flush-cache.S b/tests/flush-cache.S
index d856a232..016113e6 100644
--- a/tests/flush-cache.S
+++ b/tests/flush-cache.S
@@ -46,7 +46,16 @@ flush_cache:
.callinfo
bv %r0(%rp)
.procend
-
+#elif defined(__powerpc64__)
+# warning IMPLEMENT ME!!
+ .globl flush_cache
+flush_cache:
+ lwz 11, 0(1) ;
+ lwz 0, 4(11) ;
+ mtlr 0 ;
+ lwz 31, -4(11) ;
+ mr 1, 11 ;
+ blr
#else
# error Need flush_cache code for this architecture.
#endif