[Mono-devel-list] Mono on AIX preliminary status report [Virus checked]
Winfried.Harbecke at Extern.Sparkassen-Informatik.de
Winfried.Harbecke at Extern.Sparkassen-Informatik.de
Tue Nov 30 02:17:27 EST 2004
Just a status report in case someone else runs into the same problems I ran
into (I want to avoid my research results getting lost. :-)
There is some evidence supporting the diagnosis that the segmentation
faults in glib
regression tests resulted from incorrectly linked shared/static libraries
and executables:
1) the crashes in strtod-test occurred in procedure descriptor
dereferencing "glue" code, which differs between shared and static
linking
2) debugging the code preceeding the crash, I see a faulty procedure
descriptor within setlocale(2)
3) apparently there are two versions of setlocale linked into the
binary,
one from libc, the other from librtl
4) strtod-test does not crash when executed in an AIX 5.1 (GCC, AIX
as/ld)
environment with binary or source glib from
http://www-1.ibm.com/servers/aix/products/aixos/linux/download.html
and
http://gnome.bullfreeware.com/new_index.html:
gettext-0.10.39-2
zlib-1.1.4-1
zlib-devel-1.1.4-1
glib2-2.4.0-2
glib2-devel-2.4.0-2
5) the AIX toolbox README
ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/README.txt
indicates that glib had to be linked with run time linking enabled in
order to
handle circular library dependencies
Actually, the glib autoconf setup has a lot of AIX specific machinery
dealing with
AIX ld idiosyncrasies, which from my perspective an AIX mono port has to
mimic.
Basically, shared and static libraries should not be mixed (i.e. since some
libraries
must be shared, they all should be), library objects must be linked with
"-G", and
executables must be linked with "-brtl". As far as I can tell, the glib
autoconf setup
follows these lines when configured with
LDFLAGS="-Wl,-brtl" ./configure
There is still some work ahead like figuring out if there are relevant
autoconf setup
patches for AIX prior to glib2-2.4.0-2 and if there are AIX specific
autoconf extensions
that were used by the glib autoconf setup which have to be ported to the
mono
autoconf setup. Once that is done, I would like to develop a clean set of
patches
for AIX 5.1/GCC without the trampoline extensions referred to in earlier
postings
by <bernard at ugs dot com> in order to separate the dirty work from the
substantial.
More information about the Mono-devel-list
mailing list