diff options
author | he <he> | 2009-04-20 07:55:00 +0000 |
---|---|---|
committer | he <he> | 2009-04-20 07:55:00 +0000 |
commit | 6be839468cb46440b32d7521c7e1b17273886bca (patch) | |
tree | b35fc154ad3a88eae24ad1613f06c20acd303280 /lang/parrot/patches | |
parent | 3cd1ac6af5cef37f233dcccf09576e46ecaebd18 (diff) | |
download | pkgsrc-6be839468cb46440b32d7521c7e1b17273886bca.tar.gz |
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/parrot/patches')
-rw-r--r-- | lang/parrot/patches/patch-ab | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/lang/parrot/patches/patch-ab b/lang/parrot/patches/patch-ab index 794f21e9c9d..0abce3717e3 100644 --- a/lang/parrot/patches/patch-ab +++ b/lang/parrot/patches/patch-ab @@ -1,36 +1,36 @@ -$NetBSD: patch-ab,v 1.6 2009/04/17 22:08:44 he Exp $ +$NetBSD: patch-ab,v 1.7 2009/04/20 07:55:00 he Exp $ 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 20:32:43.000000000 +0000 -+++ src/exec_save.c -@@ -30,6 +30,26 @@ 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.orig 2009-03-08 21:32:43.000000000 +0100 ++++ src/exec_save.c 2009-04-19 12:55:25.000000000 +0200 +@@ -150,6 +150,26 @@ + # include <elf.h> + # endif -+#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 doesn't define these constants, -+ * but instead has them as enums, so add some workarounds for it. -+ */ -+#if !defined(R_PPC_ADDR16_HI) && !defined(R_PPC_ADDR16_LO) && \ -+ defined(__NetBSD__) -+# define R_PPC_ADDR16_HI RELOC_16_HI -+# define R_PPC_ADDR16_LO RELOC_16_LO -+#endif -+#if !defined(R_PPC_REL24) && defined(__NetBSD__) -+# define R_PPC_REL24 RELOC_REL24 -+#endif -+#endif /* PARROT_PPC */ ++# 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 |