changeset 139:5675d34f0a06

- mips64 doc about impl status - some more verbose output for one test
author cslag
date Mon, 08 Aug 2016 11:54:27 +0200
parents 1b0c02e827c4
children 706935b8a4fa e63089fe5bef
files doc/manual/callconvs/callconv_mips.tex doc/manual/callconvs/callconv_mips64.tex doc/manual/manual_overview.tex test/callback_plain/callback_plain.c
diffstat 4 files changed, 10 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/doc/manual/callconvs/callconv_mips.tex	Mon Aug 08 11:24:25 2016 +0200
+++ b/doc/manual/callconvs/callconv_mips.tex	Mon Aug 08 11:54:27 2016 +0200
@@ -37,8 +37,9 @@
 
 \paragraph{\product{dyncall} support}
 
-Currently, dyncall supports for MIPS 32-bit architectures the widely-used O32 calling convention, as well as EABI (which is used on the Homebrew SDK for
-the Playstation Portable). \product{dyncall} currently does not support MIPS16e (contrary to the like-minded ARM-THUMB, which is supported). Both, calls and callbacks are supported.
+Currently, dyncall supports for MIPS 32-bit architectures the widely-used O32 calling convention (for big- and little-endian targets),
+as well as EABI (which is used on the Homebrew SDK for the Playstation Portable). \product{dyncall} currently does not support MIPS16e
+(contrary to the like-minded ARM-THUMB, which is supported). Both, calls and callbacks are supported.
 
 \subsubsection{MIPS EABI 32-bit Calling Convention}
 
--- a/doc/manual/callconvs/callconv_mips64.tex	Mon Aug 08 11:24:25 2016 +0200
+++ b/doc/manual/callconvs/callconv_mips64.tex	Mon Aug 08 11:54:27 2016 +0200
@@ -29,8 +29,8 @@
 
 \paragraph{\product{dyncall} support}
 
-For MIPS 64-bit machines, dyncall supports the N32 and N64 calling conventions for calls and callbacks.
-Our test machine is a Loongson-CPU 2F subnotebook, as well as an EdgeRouter Lite, both running OpenBSD.
+For MIPS 64-bit machines, dyncall supports the N64 calling conventions for calls and callbacks (for big- and little-endian targets).
+The N32 calling convention might work - it used to, but hasn't been tested, recently.
 
 \subsubsection{MIPS N64 Calling Convention}
 
--- a/doc/manual/manual_overview.tex	Mon Aug 08 11:24:25 2016 +0200
+++ b/doc/manual/manual_overview.tex	Mon Aug 08 11:54:27 2016 +0200
@@ -158,10 +158,11 @@
 \begin{table}[h]
 \begin{tabular}{r|*{3}{c!{\color{gray2}\vrule}}*{4}{c!{\color{gray2}\vrule}}*{10}{c!{\color{gray2}\vrule}}}
                               & \ninety{\bf Alpha} & \ninety{\bf ARM} & \ninety{\bf ARM64} & \multicolumn{2}{c!{\color{gray2}\vrule}}{\ninety{\bf MIPS}} & \multicolumn{2}{c!{\color{gray2}\vrule}}{\ninety{\bf MIPS64}} & \ninety{\bf SuperH} & \ninety{\bf PowerPC} & \ninety{\bf PowerPC64} & \ninety{\bf m68k} & \ninety{\bf m88k} & \ninety{\bf x86} & \ninety{\bf x64} & \ninety{\bf Itanium} & \ninety{\bf SPARC} & \ninety{\bf SPARC64} \\
+% also include hardfloat, here@@@
                               &                    &                  &                    & \ninety{\tiny EB} & \ninety{\tiny EL}                       & \ninety{\tiny EB} & \ninety{\tiny EL}                         &                     &                      &                        &                   &                   &                  &                  &                      &                    & \\
 \hline
 {\bf Windows family}          & \marknotx          & \markunkn        & \marknotx          & \marknotx         & \marknotx                               & \marknotx         & \marknotx                                 & \marknotx           & \marknotx            & \marknotx              & \marknotx         & \marknotx         & \markcmpl        & \markcmpl        & \marknimp            & \marknotx          & \marknotx            \\
-{\bf Linux}                   & \marknimp          & \markcmpl        & \markcmpl          & \markunkn         & \markunkn                               & \markunkn         & \markunkn                                 & \marknotx           & \markcmpl            & \markcmpl              & \marknotx         & \marknotx         & \markcmpl        & \markcmpl        & \marknotx            & \markimpl          & \markimpl            \\
+{\bf Linux}                   & \marknimp          & \markcmpl        & \markcmpl          & \markcmpl         & \markunkn                               & \markunkn         & \markcmpl                                 & \marknotx           & \markcmpl            & \markcmpl              & \marknotx         & \marknotx         & \markcmpl        & \markcmpl        & \marknotx            & \markimpl          & \markimpl            \\
 {\bf macOS / iOS / Darwin}    & \marknotx          & \markcmpl        & \markcmpl          & \marknotx         & \marknotx                               & \marknotx         & \marknotx                                 & \marknotx           & \markcmpl            & \markunkn              & \marknotx         & \marknotx         & \markcmpl        & \markcmpl        & \marknotx            & \marknotx          & \marknotx            \\
 {\bf FreeBSD}                 & \marknimp          & \markcmpl        & \markcmpl          & \markunkn         & \markunkn                               & \markunkn         & \markunkn                                 & \marknimp           & \markimpl            & \markcmpl              & \marknotx         & \marknotx         & \markcmpl        & \markcmpl        & \marknimp            & \markunkn          & \markunkn            \\
 {\bf NetBSD}                  & \marknimp          & \markcmpl        & \marknotx          & \markunkn         & \markcmpl                               & \markunkn         & \markunkn                                 & \marknimp           & \markimpl            & \marknotx              & \marknimp         & \marknimp         & \markcmpl        & \markcmpl        & \marknimp            & \markimpl          & \markunkn            \\
--- a/test/callback_plain/callback_plain.c	Mon Aug 08 11:24:25 2016 +0200
+++ b/test/callback_plain/callback_plain.c	Mon Aug 08 11:54:27 2016 +0200
@@ -66,10 +66,12 @@
 
   dcTest_initPlatform();
 
-  printf("about to callback...\n");
   cb = dcbNewCallback("ifsdl)s", &cbHandler, &userdata);
+  printf("about to callback (trampoline for 0x%tx at 0x%tx)...\n", &cbHandler, cb);
+
   result = ((short(*)(int, float, short, double, long long))cb)(123, 23.f, 3, 1.82, 9909ull);
   dcbFreeCallback(cb);
+
   printf("successfully returned from callback\n");
   printf("return value (should be 1234): %d\n", result);