# New Ticket Created by  [EMAIL PROTECTED] 
# Please include the string:  [perl #53472]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=53472 >


Hi All,

The attached patch fixes a breakage in the build on linux-ppc with jit.
  Without it, "make" aborts while trying to link libparrot.so with

cc -o miniparrot src/main.o \
    -Wl,-rpath=/home/victor/src/perl6/parrot/blib/lib
-L/home/victor/src/perl6/parrot/blib/lib -lparrot  -ldl -lm -lpthread
-lcrypt -lrt -lgmp -lreadline -lglut -lGLU -lGL -lcrypto
-L/usr/local/lib -Wl,-E   src/null_config.o
/home/victor/src/perl6/parrot/blib/lib/libparrot.so: undefined reference
to `offset_fixup'

 A change in the declaration of offset_fixup from void to static void
appears to have caused this.  It's been a long time since I've done any
C programming (decades in fact) so go easy.  I can include the myconfig
if requested.  This fixes the build for me, but ymmv.  I've included a
mysimilar change for ARM on the theory that the declarations are the
same there and may well be similarly broken.  I'm not subscribed to the
list, so replies should go to my email rather than the list.

Cheers

Victor
-- 
Victor Brunsden
Associate Professor of Mathematics,
Penn State Altoona,
119 Hawthorn Bldg,
3000 Ivyside Drive
Altoona, PA 16601
(814) 949-5695 (work)
(814) 949-5547 (fax)
http://math.aa.psu.edu/~victor

Index: src/jit/arm/exec_dep.h
===================================================================
--- src/jit/arm/exec_dep.h	(revision 27217)
+++ src/jit/arm/exec_dep.h	(working copy)
@@ -29,7 +29,7 @@
 Parrot_exec_restart_op(Parrot_jit_info_t *jit_info, PARROT_INTERP);
 
 /* Assign the offset of the program_code */
-static void
+void
 offset_fixup(Parrot_exec_objfile_t *obj);
 
 #endif /* PARROT_ARM_EXEC_DEP_H_GUARD */
Index: src/jit/arm/exec_dep.c
===================================================================
--- src/jit/arm/exec_dep.c	(revision 27217)
+++ src/jit/arm/exec_dep.c	(working copy)
@@ -78,7 +78,7 @@
 }
 
 /* Assign the offset of the progra_code */
-static void
+void
 offset_fixup(Parrot_exec_objfile_t *obj)
 {
     int i, j;
Index: src/jit/ppc/exec_dep.h
===================================================================
--- src/jit/ppc/exec_dep.h	(revision 27217)
+++ src/jit/ppc/exec_dep.h	(working copy)
@@ -28,7 +28,7 @@
 void
 Parrot_exec_restart_op(Parrot_jit_info_t *jit_info, PARROT_INTERP);
 
-static void
+void
 offset_fixup(Parrot_exec_objfile_t *obj);
 
 #endif /* PARROT_PPC_EXEC_DEP_H_GUARD */
Index: src/jit/ppc/exec_dep.c
===================================================================
--- src/jit/ppc/exec_dep.c	(revision 27217)
+++ src/jit/ppc/exec_dep.c	(working copy)
@@ -60,7 +60,7 @@
 }
 
 /* Assign the offset of the program_code */
-static void
+void
 offset_fixup(Parrot_exec_objfile_t *obj)
 {
     int i, j;

Reply via email to