summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authortron <tron@pkgsrc.org>2009-04-21 19:12:01 +0000
committertron <tron@pkgsrc.org>2009-04-21 19:12:01 +0000
commit6ff68bd2db6772a55c71da8c3b980dc4a8ac036a (patch)
tree68a9459920e7c2e54425c6f9e57cfdc623dde204 /lang
parentfc76489e65d92793280e190e39c0812bd23d8cb1 (diff)
downloadpkgsrc-6ff68bd2db6772a55c71da8c3b980dc4a8ac036a.tar.gz
Pullup tickets #2744 and #2745 - requested by he
parrot: build fix Revisions pulled up: - lang/parrot/distinfo 1.9-1.11 - lang/parrot/patches/patch-ab 1.5-1.7 --- Module Name: pkgsrc Committed By: he Date: Fri Apr 17 19:54:39 UTC 2009 Modified Files: pkgsrc/lang/parrot: distinfo pkgsrc/lang/parrot/patches: patch-ab Log Message: Two minor changes to the adaptation for NetBSD/powerpc, resulting in no code change and adding portability to NetBSD 3.x, so no revision bump: o Let the workaround for missing R_PPC_ADDR16{HI,LO} work for other systems who also define R_PPC_16_{HI,LO} instead. o Add portability to NetBSD/powerpc 3.x, which has a very minimalist <powerpc/elf_machdep.h> file. --- Module Name: pkgsrc Committed By: he Date: Fri Apr 17 22:08:44 UTC 2009 Modified Files: pkgsrc/lang/parrot: distinfo pkgsrc/lang/parrot/patches: patch-ab Log Message: For the NetBSD/powerpc 3.x case, use the enums out of <powerpc/reloc.h> instead of literal integers. Again, this should not result in different code, so no reason to bump revision. --- Module Name: pkgsrc Committed By: he Date: Mon Apr 20 07:55:00 UTC 2009 Modified Files: pkgsrc/lang/parrot: distinfo pkgsrc/lang/parrot/patches: patch-ab Log Message: While the logic for handling NetBSD/powerpc (and OpenBSD/powerpc) was correct, it was mis-placed in the file. It needs to include <elf.h> or the moral equivalent of that before the symbols can be tested. This now corresponds with what's committed upstream. Again, since this is a build fix, no revision bump should be required.
Diffstat (limited to 'lang')
-rw-r--r--lang/parrot/distinfo4
-rw-r--r--lang/parrot/patches/patch-ab45
2 files changed, 33 insertions, 16 deletions
diff --git a/lang/parrot/distinfo b/lang/parrot/distinfo
index 509fce24ee0..e6935023c79 100644
--- a/lang/parrot/distinfo
+++ b/lang/parrot/distinfo
@@ -1,10 +1,10 @@
-$NetBSD: distinfo,v 1.7.2.1 2009/04/16 21:56:13 tron Exp $
+$NetBSD: distinfo,v 1.7.2.2 2009/04/21 19:12:01 tron Exp $
SHA1 (parrot-1.0.0.tar.gz) = 9e028f5fff38a332c13ad4389652a016d7a824f7
RMD160 (parrot-1.0.0.tar.gz) = 46f60accd33f16cc910f4ea03840badc358d22c7
Size (parrot-1.0.0.tar.gz) = 3908888 bytes
SHA1 (patch-aa) = b3ad6ae9acbd8f25682395933fe48209b50a9752
-SHA1 (patch-ab) = 4ecbae193b0bfe47daa8d4dd69468d298137c03a
+SHA1 (patch-ab) = 9165c08ded7b434e1baabe7d64ede08d00155e72
SHA1 (patch-ac) = 5e2875b46aa390fc512bf22001146a4a470ae192
SHA1 (patch-ad) = 9002a7ca55f8f960bea669e383431b3eeb83a878
SHA1 (patch-ae) = 72e4752112dab2f0b72ede5c45b77fd5b5554606
diff --git a/lang/parrot/patches/patch-ab b/lang/parrot/patches/patch-ab
index e78667d61ca..4860fcee3d1 100644
--- a/lang/parrot/patches/patch-ab
+++ b/lang/parrot/patches/patch-ab
@@ -1,19 +1,36 @@
-$NetBSD: patch-ab,v 1.4 2009/03/25 23:01:48 he Exp $
+$NetBSD: patch-ab,v 1.4.2.1 2009/04/21 19:12:01 tron Exp $
-Handle a few ELF-related symbols named differently in NetBSD
-compared to Linux.
+The R_PPC_ADDR16{HI,LO} constants are named something else on
+NetBSD, and might be elsewhere.
+Also add workarounds for NetBSD/powerpc 3.x, which has some
+constants defined as enums.
--- src/exec_save.c.orig 2009-03-08 21:32:43.000000000 +0100
-+++ src/exec_save.c
-@@ -30,6 +30,11 @@ static void save_int(FILE *fp, int i);
- static void save_short(FILE *fp, short s);
- static void save_struct(FILE *fp, void *sp, size_t size);
++++ src/exec_save.c 2009-04-19 12:55:25.000000000 +0200
+@@ -150,6 +150,26 @@
+ # include <elf.h>
+ # endif
-+#if defined(PARROT_PPC) && defined(__NetBSD__)
-+#define R_PPC_ADDR16_HI R_PPC_16_HI
-+#define R_PPC_ADDR16_LO R_PPC_16_LO
-+#endif /* PARROT_PPC && __NetBSD__ */
++# if defined(PARROT_PPC)
++# if !defined(R_PPC_ADDR16_HI) && !defined(R_PPC_ADDR16_LO) && \
++ defined(R_PPC_16_HI) && defined(R_PPC_16_LO)
++# define R_PPC_ADDR16_HI R_PPC_16_HI
++# define R_PPC_ADDR16_LO R_PPC_16_LO
++# endif
++ /*
++ * NetBSD/powerpc 3.x and OpenBSD/powerpc doesn't define these constants,
++ * but instead has them as enums, so add some workarounds for those.
++ */
++# if !defined(R_PPC_ADDR16_HI) && !defined(R_PPC_ADDR16_LO) && \
++ (defined(__NetBSD__) || defined(__OpenBSD__))
++# define R_PPC_ADDR16_HI RELOC_16_HI
++# define R_PPC_ADDR16_LO RELOC_16_LO
++# endif
++# if !defined(R_PPC_REL24) && (defined(__NetBSD__) || defined(__OpenBSD__))
++# define R_PPC_REL24 RELOC_REL24
++# endif
++# endif /* PARROT_PPC */
+
- #ifdef EXEC_A_OUT
-
- # include <a.out.h>
+ /* Add a section to the file
+ *
+ * n = Name