libffi doesn't compile under suncc..

With some help I was able to get past the c errors, but more than a
little stuck on the asm bits..

To start change unix64.S like so

libffi/src/x86/unix64.S

354c354
<     .long    .LUW0-.            /* FDE initial location */
---
>     .long    .LUW0-.PC        /* FDE initial location */
392c392
<     .long    .LUW5-.            /* FDE initial location */
---
>     .long    .LUW5-.PC        /* FDE initial location */


Turning on compiler verbosity -### I was able to see the cpp output
didn't seem correct...

/usr/ccs/lib/cpp -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src
-I. -I./include -Iinclude -I./src -D__MATHERR_ERRNO_DONTCARE  -DPIC -Qy
-D__SunOS_5_11 -D__SUNPRO_C=0x5100 -D__SVR4 -D__sun -D__SunOS -D__unix
-D__x86_64 -D__x86_64__ -D__amd64 -D__amd64__ -D__BUILTIN_VA_STRUCT
-D__C99FEATURES__ -D__PRAGMA_REDEFINE_EXTNAME -Dunix -Dsun -D__RESTRICT
-D__FLT_EVAL_METHOD__=0 -I/usr/local/src/SUNWspro/prod/include/cc
-D__SUN_PREFETCH src/x86/unix64.S

/tmp/cpp0AAA.17730.0000/usr/local/src/SUNWspro/prod/bin/fbe
-xarch=amd64 -xchip=core2 -o src/x86/.libs/unix64.o -Qn
/tmp/cpp0AAA.17730.00000000

Which gives this error

Assembler:
    "/tmp/cpp0AAA.17730.000000", line 54 : Illegal subtraction - symbols
from different sections: ".Lst_void", ".Lstore_table"

 From what I'm told (and understand) this makes sense if you look at the
code, but gcc compiles it..

I'm also stuck on a one liner of inline asm for liboil, but didn't look
as closely at that yet..

Help please.

./C


Reply via email to