# New Ticket Created by Jeff Dik
# Please include the string: [perl #34072]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/rt3/Ticket/Display.html?id=34072 >
Hi,
Parrot's been failing to build on my ibook without a little help.
Here's the error:
Compiling with:
xx.c
gcc -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -Wall
-Wstrict-prototypes -Wmissing-prototypes -Winline -Wshadow -Wpointer-arith
-Wcast-qual -Wcast-align -Wwrite-strings -Waggregate-return -Winline -W
-Wno-unused -Wsign-compare -Wformat-nonliteral -Wformat-security -Wpacked
-Wdisabled-optimization -Wno-shadow -falign-functions=16 -I./include
-I/usr/include -DHAS_JIT -DPPC -DHAVE_COMPUTED_GOTO -I. -o xx.o -c xx.c
c++ -o parrot -L/usr/local/lib -Wl,-E -g imcc/main.o blib/lib/libparrot.a
-lpthread -lnsl -ldl -lm -lcrypt -lutil -lrt -lgmp -lpthread -lm -L/usr/lib
-licuuc -licudata -lpthread -lm
blib/lib/libparrot.a(jit_cpu.o)(.text+0x2722): In function `Parrot_end_jit':
src/jit_cpu.c:74: undefined reference to
`Parrot_ppc_jit_restore_nonvolatile_registers'
blib/lib/libparrot.a(jit_cpu.o)(.text+0x2726):src/jit_cpu.c:74: undefined
reference to `Parrot_ppc_jit_restore_nonvolatile_registers'
blib/lib/libparrot.a(jit_cpu.o)(.text+0x274e):src/jit_cpu.c:74: undefined
reference to `Parrot_ppc_jit_restore_nonvolatile_registers'
blib/lib/libparrot.a(jit_cpu.o)(.text+0x2752):src/jit_cpu.c:74: undefined
reference to `Parrot_ppc_jit_restore_nonvolatile_registers'
blib/lib/libparrot.a(jit_cpu.o)(.text+0x2772):src/jit_cpu.c:74: undefined
reference to `Parrot_ppc_jit_restore_nonvolatile_registers'
blib/lib/libparrot.a(jit_cpu.o)(.text+0x2776):src/jit_cpu.c:74: more undefined
references to `Parrot_ppc_jit_restore_nonvolatile_registers' follow
collect2: ld returned 1 exit status
make: *** [parrot] Error 1
So, I just commented out line 14 of jit/ppc/core.jit [patch attached],
recompiled, and ran "make fulltest". Only one test failed (test 5 of
t/dynclass/pyclass.t). I'm guessing that merely commenting that line
out is *not* The Right Way(TM) and that it might break things on other
platforms. Hopefully, somebody knows The Right Solution(TM). :-)
Jeff
? chartypes
? temp.file
Index: jit/ppc/core.jit
===================================================================
RCS file: /cvs/public/parrot/jit/ppc/core.jit,v
retrieving revision 1.21
diff -u -r1.21 core.jit
--- jit/ppc/core.jit 3 Nov 2004 11:50:38 -0000 1.21
+++ jit/ppc/core.jit 6 Feb 2005 17:54:44 -0000
@@ -11,7 +11,7 @@
jit_emit_lwz(NATIVECODE, r1, 0, r1);
jit_emit_lwz(NATIVECODE, r0, 8, r1);
- jit_emit_call_func(NATIVECODE, (void
*)Parrot_ppc_jit_restore_nonvolatile_registers);
+; jit_emit_call_func(NATIVECODE, (void
*)Parrot_ppc_jit_restore_nonvolatile_registers);
jit_emit_mtlr(NATIVECODE, r0);
jit_emit_lmw(NATIVECODE, r13, -PPC_JIT_GP_REGISTER_SAVE_SPACE, r1);