Looks like a weird linking error,

I can reproduce it.
cc -o examples/pasm/hello examples/pasm/hello.o src/exec_start.o src/parrot_config.o -Wl,-rpath=/home/tewk/srcs/nci/blib/lib -L/home/tewk/srcs/nci/blib/lib -lparrot -lm -L/usr/lib -licuuc -licudata -lm -ldl -lm -lpthread -lcrypt -lrt -lgmp -lreadline -lpcre -lglut -lGLU -lGL -lcrypto -L/usr/local/lib -Wl,-E
src/exec_start.o: In function `set_nci_I':
/home/tewk/srcs/nci/src/jit_emit.h:96: undefined reference to `Parrot_store_arg'
src/exec_start.o: In function `set_nci_N':
/home/tewk/srcs/nci/src/jit_emit.h:107: undefined reference to `Parrot_store_arg'
src/exec_start.o: In function `set_nci_S':
/home/tewk/srcs/nci/src/jit_emit.h:118: undefined reference to `Parrot_store_arg'
src/exec_start.o: In function `set_nci_P':
/home/tewk/srcs/nci/src/jit_emit.h:129: undefined reference to `Parrot_store_arg'
collect2: ld returned 1 exit status
make[1]: *** [exec] Error 1

What puzzles me is that Parrot_store_arg is in libparrot

13:38:58 [EMAIL PROTECTED]: ~/srcs/nci(nci)$ nm blib/lib/libparrot.so.0.7.0 |grep store_arg
0015a810 t Parrot_store_arg
0015a760 t store_arg
13:39:20 [EMAIL PROTECTED]: ~/srcs/nci(nci)$ nm blib/lib/libparrot.a |grep 
store_arg
00001840 T Parrot_store_arg
00001790 t store_arg
        U Parrot_store_arg
        U Parrot_store_arg
        U Parrot_store_arg
        U Parrot_store_arg
        U Parrot_store_arg
        U Parrot_store_arg

Ideas, Kevin

François Perrad wrote:
2008/8/22 Kevin Tew <[EMAIL PROTECTED]>:
The merge has happened.


The target 'hello' seems broken :

src/exec_start.o: In function `set_nci_I':
/home/fperrad/checkout/parrot/src/jit_emit.h:96: undefined reference
to `Parrot_store_arg'
src/exec_start.o: In function `set_nci_N':
/home/fperrad/checkout/parrot/src/jit_emit.h:107: undefined reference
to `Parrot_store_arg'
src/exec_start.o: In function `set_nci_S':
/home/fperrad/checkout/parrot/src/jit_emit.h:118: undefined reference
to `Parrot_store_arg'
src/exec_start.o: In function `set_nci_P':
/home/fperrad/checkout/parrot/src/jit_emit.h:129: undefined reference
to `Parrot_store_arg'
collect2: ld returned 1 exit status

Francois.

Developers/Users should see no visible changes.
Please build and test, should you have any problems, just yell at me on #irc
or parrot-porters.
Regression test cases will be appreciated. :)
I'll try to be available until 3:00pm MDT and later this evening 9:00pmMDT
-> until my eyelids close.

NOTE:
Jitted nci stubs are supported now on i386 linux and win32.
However jitted nci stubs are DISABLED by default.
Once we have this initial merge completed and everyone happy, I will enable
jitted nci stubs as the default, accompanied by another message to
parrot-porters
If you want to test jitted nci stubs uncomment tools/build
cs/nativecall.pl:308, make realclean, rinse, etc
Jitted nci stubs for x86_64 and i386 OSX are in the works but not present in
this current merge.
i386 OSX doesn't work with the current patch because it requires a 16 byte
aligned stack.
Don't worry, by default configure disables jit on OSX.

Things that have changed under the covers:
1) a new makefile is being generated
+++ config/gen/makefiles.pm (working copy)
@@ -41,6 +41,8 @@
           conditioned_lines => 1,
       },

+        'compilers/ncigen/Makefile'  =>
+            { SOURCE => 'compilers/ncigen/config/makefiles/ncigen.in' },

2) nci c function stub generation has changed slightly


Kevin



Reply via email to