This is the mail archive of the libffi-discuss@sourceware.org mailing list for the libffi project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [jna-users] libc loading on solaris


Timothy Wall wrote:
You might try pulling down the official standalone libffi sources to see if those build properly without mods. The JNA version has a few local mods and was last pulled from a tagged GCC release. The JNA patches haven't yet been applied to the standalone libffi, and there have been some changes to standalone libffi that haven't been rolled into the JNA version.

On Jul 9, 2008, at 10:04 AM, Cauchie, Julien wrote:

Ok, we made a build on our Solaris 8 - SunOS 5.8 box, and
after a few changes, we successfully obtained a jar file.

Julian - what toolchain were you using to build libffi?


If we can't get the preprocessor to omit the space, then I suppose we can change the code look more like...

#define NWORD .long
#define UANWORD .uaword

and use NWORD instead of .nword.

AG



The interesting bit is that, in the end, that jar worked successfully to locate and load libc.so.1

To reach that point, we had to make a few changes:
- the Makefile.in had to be modified to correctly reference where libtool was stored
- some #define in native/libffi/src/sparc/v8.S where
problematic:
#ifdef SPARC64
#define WS 8
#define nword xword
#define uanword uaxword
#else
#define WS 4
#define nword long
#define uanword uaword
#endif


after the preprocessor ran, the few lines that showed
.nword
and
.uanword

ended up with: . long
and . uaword

with an extra space. Something the compiler didn't like. To make sure
it compiled, we just cheated and made the replacement that the pre-processor
should have made.


Once this was done (and a few other changes in the Makefile to refer to our local gcc),
we got our jar, which we could use.




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]