From 32e2187fab8d7a0adaa099b7bdaefca50628de88 Mon Sep 17 00:00:00 2001 From: Jose Flavio Aguilar Paulino Date: Mon, 27 Aug 2007 09:11:37 -0600 Subject: [PATCH] [PPC64] Get "make check" to work on PPC64 Linux. Add a README entry describing the expected results. --- README | 5 +++++ src/Makefile.am | 4 +++- src/ppc64/siglongjmp.S | 1 + src/ptrace/_UPT_find_proc_info.c | 2 +- tests/flush-cache.S | 11 ++++++++++- 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