diff options
author | tron <tron@pkgsrc.org> | 2009-04-21 19:12:01 +0000 |
---|---|---|
committer | tron <tron@pkgsrc.org> | 2009-04-21 19:12:01 +0000 |
commit | 6ff68bd2db6772a55c71da8c3b980dc4a8ac036a (patch) | |
tree | 68a9459920e7c2e54425c6f9e57cfdc623dde204 /lang | |
parent | fc76489e65d92793280e190e39c0812bd23d8cb1 (diff) | |
download | pkgsrc-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/distinfo | 4 | ||||
-rw-r--r-- | lang/parrot/patches/patch-ab | 45 |
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 |