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.
This commit is contained in:
parent
c7101d28d1
commit
b64c66edf5
2 changed files with 28 additions and 11 deletions
|
@ -1,10 +1,10 @@
|
|||
$NetBSD: distinfo,v 1.8 2009/04/14 23:50:19 he Exp $
|
||||
$NetBSD: distinfo,v 1.9 2009/04/17 19:54:39 he 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) = d00168e31daff02ca0ccaec532f029ff7d0126e6
|
||||
SHA1 (patch-ac) = 5e2875b46aa390fc512bf22001146a4a470ae192
|
||||
SHA1 (patch-ad) = 9002a7ca55f8f960bea669e383431b3eeb83a878
|
||||
SHA1 (patch-ae) = 72e4752112dab2f0b72ede5c45b77fd5b5554606
|
||||
|
|
|
@ -1,18 +1,35 @@
|
|||
$NetBSD: patch-ab,v 1.4 2009/03/25 23:01:48 he Exp $
|
||||
$NetBSD: patch-ab,v 1.5 2009/04/17 19:54:39 he 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 a minimal
|
||||
<powerpc/elf_machdep.h> file.
|
||||
|
||||
--- src/exec_save.c.orig 2009-03-08 21:32:43.000000000 +0100
|
||||
--- src/exec_save.c.orig 2009-03-08 20:32:43.000000000 +0000
|
||||
+++ src/exec_save.c
|
||||
@@ -30,6 +30,11 @@ static void save_int(FILE *fp, int i);
|
||||
@@ -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);
|
||||
|
||||
+#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 doesn't define these constants,
|
||||
+ * so add some workarounds for it.
|
||||
+ */
|
||||
+#if !defined(R_PPC_ADDR16_HI) && !defined(R_PPC_ADDR16_LO) && \
|
||||
+ defined(__NetBSD__)
|
||||
+# define R_PPC_ADDR16_HI 5
|
||||
+# define R_PPC_ADDR16_LO 4
|
||||
+#endif
|
||||
+#if !defined(R_PPC_REL24) && defined(__NetBSD__)
|
||||
+# define R_PPC_REL24 10
|
||||
+#endif
|
||||
+#endif /* PARROT_PPC */
|
||||
+
|
||||
#ifdef EXEC_A_OUT
|
||||
|
||||
|
|
Loading…
Reference in a new issue