[Mono-devel-list] Mono on AIX [Virus checked]

kangaroo grompf at sublimeintervention.com
Tue Nov 30 11:51:06 EST 2004


Winfried,

   Question, why are you setting JIT_SUPPORTED to NO?  Is the AIX ABI 
not SysV compatbile?  mint is all but unsupported and unmaintained 
these days so I'm not that surprised you're having issues with it; the 
way to go (imo)  would be to get the jit working on AIX.

   I'll google around today for the AIX PEM/ABI, I assume a jit port 
wouldn't be difficult.

-kangaroo

On 30-Nov-04, at 11:08 AM, 
Winfried.Harbecke at Extern.Sparkassen-Informatik.de wrote:

>
>
> Hello,
>
> as a follow up to my status report I would appreciate if Paolo could 
> have a
> look
> at the basic patches that will be required to start with the real work 
> on
> the AIX
> port.
>
> It seems to me that I have arrived at a point where the real work can 
> take
> off, I get
> assertion violations in mint:
>
> ============================================================
> /bin/sh ../../mkinstalldirs /opt/freeware/lib/mono/1.0
>  ../.././install-sh -c -m 644 mscorlib.dll
> /opt/freeware/lib/mono/1.0/mscorlib.dll
> MONO_PATH=. ../../mono/interpreter/mint --config ../../data/config
> ./../gacutil.exe /i ./Accessibility.dll /f /package 1.0 /gacdir
> /opt/freeware/lib /root /opt/freeware/lib
>
> ** (./../gacutil.exe:20402): WARNING **: Using non-atomic functions!
>
> ** ERROR **: file interp.c: line 4153 (add_signal_handler): assertion
> failed: (sigaction (signo, &sa, NULL) != -1)
> aborting...
> /bin/sh: 20402 IOT/Abbruch-Trap(coredump)
> ============================================================
>
> I have been in touch with Bernard Solomon - it looks like he is tied 
> down
> with
> other work, but he got my status report. In case I get tied down with 
> other
> work,
> at least I could help preparing the ground. I did start looking at 
> Power PC
> instruction set and AIX linkage conventions, so in case someone else 
> wants
> to jump in, I can provide some pointers. Since the list archives don't
> provide a
> global search function, it might be a good idea to put my collection 
> of AIX
> experiences into an easily accessible place - any ideas? At least, I 
> need
> to
> document the RPMs I used, the URLs where they were obtained, and
> the configure and compile details.
>
> These are patches for GCC 3.3.4 running with native as and ld against 
> AIX
> 5.1
> (you have to install bos.adt.libm from AIX installation CD 1 after
> installing the plain OS).
> For native xlc (Visual Age), it should suffice to replace "-Wl,-brtl" 
> with
> "-brtl" and drop
> "-Wa,-ppc".
>
> The patches themselves are trivial, tackling the environmental noise 
> was
> the hard
> part - I had to find out all about AIX ld that I never wanted to know.
> :-)
>
> ============================================================
> /opt/freeware/bin/diff -crN ../mono-1.1.1/configure.in ./configure.in
> *** ../mono-1.1.1/configure.in      2004-09-21 13:28:22.000000000 -0500
> --- ./configure.in      2004-11-29 08:51:02.000000000 -0600
> ***************
> *** 171,176 ****
> --- 171,187 ----
>             libdl=
>             libgc_threads=pthreads
>             ;;
> +     *-*-aix*)
> +           platform_win32=no
> +           CPPFLAGS=" -D_REENTRANT -D_THREAD_SAFE 
> -D_LINUX_SOURCE_COMPAT
> -Wa,-mppc"
> +           libmono_cflags="-D_REENTRANT -D_THREAD_SAFE"
> +           libgc_threads=pthreads
> +           LDFLAGS=" -Wl,-brtl"
> +           libmono_ldflags="-Wl,-brtl"
> +           need_link_unlink=yes
> +           libdl=
> +           libgc_threads=pthreads
> +           ;;
>       *)
>             AC_MSG_WARN([*** Please add $host to configure.in checks!])
>             platform_win32=no
> ***************
> *** 1239,1244 ****
> --- 1250,1260 ----
>             JIT_SUPPORTED=yes
>             jit_wanted=true
>             ;;
> +     powerpc-*-aix*)
> +           TARGET=POWERPC;
> +           arch_target=ppc;
> +           JIT_SUPPORTED=no
> +           ;;
>       arm-*-linux-* | armv4l-*-linux-*)
>             TARGET=ARM;
>             arch_target=arm;
> /opt/freeware/bin/diff -crN ../mono-1.1.1/mono/arch/ppc/Makefile.in
> ./mono/arch/ppc/Makefile.in
> *** ../mono-1.1.1/mono/arch/ppc/Makefile.in     2004-09-21
> 14:00:52.000000000 -0500
> --- ./mono/arch/ppc/Makefile.in     2004-11-30 07:42:02.000000000 -0600
> ***************
> *** 145,151 ****
>
>   test_SOURCES = test.c
>   test_OBJECTS = test.$(OBJEXT)
> ! test_LDADD = $(LDADD)
>   test_DEPENDENCIES =
>   test_LDFLAGS =
>
> --- 145,151 ----
>
>   test_SOURCES = test.c
>   test_OBJECTS = test.$(OBJEXT)
> ! test_LDADD = $(LDADD) $(GLIB_LIBS)
>   test_DEPENDENCIES =
>   test_LDFLAGS =
>
> /opt/freeware/bin/diff -crN ../mono-1.1.1/mono/io-layer/threads.h
> ./mono/io-layer/threads.h
> *** ../mono-1.1.1/mono/io-layer/threads.h 2004-06-03 13:58:23.000000000
> -0500
> --- ./mono/io-layer/threads.h 2004-11-29 08:46:48.000000000 -0600
> ***************
> *** 24,30 ****
> --- 24,32 ----
>   #define STILL_ACTIVE STATUS_PENDING
>
>
> + #ifndef _AIX
>   #define THREAD_TERMINATE          0x0001
> + #endif /* _AIX */
>   #define THREAD_SUSPEND_RESUME           0x0002
>   #define THREAD_GET_CONTEXT        0x0008
>   #define THREAD_SET_CONTEXT        0x0010
> /opt/freeware/bin/diff -crN ../mono-1.1.1/mono/io-layer/misc.c
> ./mono/io-layer/misc.c
> *** ../mono-1.1.1/mono/io-layer/misc.c    2003-06-17 09:44:46.000000000
> -0500
> --- ./mono/io-layer/misc.c    2004-11-29 08:46:48.000000000 -0600
> ***************
> *** 10,15 ****
> --- 10,20 ----
>   #include <config.h>
>   #include <glib.h>
>   #include <sys/time.h>
> +
> + #ifdef _AIX
> + #include <time.h>
> + #endif /* _AIX */
> +
>   #include <stdlib.h>
>
>   #include "misc-private.h"
> ============================================================
>
> AIX 5 requires fewer patches than AIX 4.3, apparently IBM has fixed the
> IPV6 implementation
> and the asychronous IO stuff in <aio.h>. They also now provide distinct
> errno values when
> compiling with -D_LINUX_SOURCE_COMPAT. If I find a lot of time, I might
> look at the
> AIX 4.3 environment again, but IBM is not committing to its Linux 
> toolbox
> ftp site for 4.3,
> and the Gnome people at Bull have also drastically reduced their 
> support
> for 4.3.
> In my opinion, it makes sense to concentrate on AIX 5, even to the 
> point of
> having "*-*-aix5*)" instead of '"*-*-aix)" in configure.in.
>
> Miguel has ben criticizing some of the patches that Eran Sandler has 
> been
> suggesting. Please let me know if I can improve my stuff so that it is
> fully in line
> with Mono general engineering priciples. I could also test any modified
> patches
> against the CVS version if that is a requirement. In a strict
> interpretation of POSIX,
> the <sys/time.h> in mono/io-layer/misc.c is a bug,
>
>       
> http://www.opengroup.org/onlinepubs/009695399/basedefs/time.h.html
>
>       says:
>             ... The <time.h> header shall declare the structure 
> timespec,
> ...
>
> The THREAD_* defines in mono/io-layer/misc.c are not being used 
> anywhere
> (except THREAD_ALL_ACCESS), it might make sense to reduce the potential
> of name conflict by another prefix.
>
> The glib library reference in the arch/ppc Makefile is required 
> because the
> asm macros
> are pulling in the glib trace function "g_logv".
>
>
> Paolo, there is a collection of slides that you apparently presented 
> to an
> IBM
> audience  (at least it it accessible from an IBM page) - what was the
> reaction?
> It looks like IBM is running some .NET integration projects, but I 
> have a
> feeling
> that they have not made up their mind if they should put their 
> resources
> into
> Open Source activities that (from their pserspective) support 
> Microsoft.
>
>
> Greetings
> Winfried
>
>
>
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
>
> !DSPAM:41ac99fc100942068513439!
>




More information about the Mono-devel-list mailing list