head 1.3; access; symbols pkgsrc-2017Q2:1.2.0.112 pkgsrc-2017Q2-base:1.2 pkgsrc-2017Q1:1.2.0.110 pkgsrc-2017Q1-base:1.2 pkgsrc-2016Q4:1.2.0.108 pkgsrc-2016Q4-base:1.2 pkgsrc-2016Q3:1.2.0.106 pkgsrc-2016Q3-base:1.2 pkgsrc-2016Q2:1.2.0.104 pkgsrc-2016Q2-base:1.2 pkgsrc-2016Q1:1.2.0.102 pkgsrc-2016Q1-base:1.2 pkgsrc-2015Q4:1.2.0.100 pkgsrc-2015Q4-base:1.2 pkgsrc-2015Q3:1.2.0.98 pkgsrc-2015Q3-base:1.2 pkgsrc-2015Q2:1.2.0.96 pkgsrc-2015Q2-base:1.2 pkgsrc-2015Q1:1.2.0.94 pkgsrc-2015Q1-base:1.2 pkgsrc-2014Q4:1.2.0.92 pkgsrc-2014Q4-base:1.2 pkgsrc-2014Q3:1.2.0.90 pkgsrc-2014Q3-base:1.2 pkgsrc-2014Q2:1.2.0.88 pkgsrc-2014Q2-base:1.2 pkgsrc-2014Q1:1.2.0.86 pkgsrc-2014Q1-base:1.2 pkgsrc-2013Q4:1.2.0.84 pkgsrc-2013Q4-base:1.2 pkgsrc-2013Q3:1.2.0.82 pkgsrc-2013Q3-base:1.2 pkgsrc-2013Q2:1.2.0.80 pkgsrc-2013Q2-base:1.2 pkgsrc-2013Q1:1.2.0.78 pkgsrc-2013Q1-base:1.2 pkgsrc-2012Q4:1.2.0.76 pkgsrc-2012Q4-base:1.2 pkgsrc-2012Q3:1.2.0.74 pkgsrc-2012Q3-base:1.2 pkgsrc-2012Q2:1.2.0.72 pkgsrc-2012Q2-base:1.2 pkgsrc-2012Q1:1.2.0.70 pkgsrc-2012Q1-base:1.2 pkgsrc-2011Q4:1.2.0.68 pkgsrc-2011Q4-base:1.2 pkgsrc-2011Q3:1.2.0.66 pkgsrc-2011Q3-base:1.2 pkgsrc-2011Q2:1.2.0.64 pkgsrc-2011Q2-base:1.2 pkgsrc-2011Q1:1.2.0.62 pkgsrc-2011Q1-base:1.2 pkgsrc-2010Q4:1.2.0.60 pkgsrc-2010Q4-base:1.2 pkgsrc-2010Q3:1.2.0.58 pkgsrc-2010Q3-base:1.2 pkgsrc-2010Q2:1.2.0.56 pkgsrc-2010Q2-base:1.2 pkgsrc-2010Q1:1.2.0.54 pkgsrc-2010Q1-base:1.2 pkgsrc-2009Q4:1.2.0.52 pkgsrc-2009Q4-base:1.2 pkgsrc-2009Q3:1.2.0.50 pkgsrc-2009Q3-base:1.2 pkgsrc-2009Q2:1.2.0.48 pkgsrc-2009Q2-base:1.2 pkgsrc-2009Q1:1.2.0.46 pkgsrc-2009Q1-base:1.2 pkgsrc-2008Q4:1.2.0.44 pkgsrc-2008Q4-base:1.2 pkgsrc-2008Q3:1.2.0.42 pkgsrc-2008Q3-base:1.2 cube-native-xorg:1.2.0.40 cube-native-xorg-base:1.2 pkgsrc-2008Q2:1.2.0.38 pkgsrc-2008Q2-base:1.2 cwrapper:1.2.0.36 pkgsrc-2008Q1:1.2.0.34 pkgsrc-2008Q1-base:1.2 pkgsrc-2007Q4:1.2.0.32 pkgsrc-2007Q4-base:1.2 pkgsrc-2007Q3:1.2.0.30 pkgsrc-2007Q3-base:1.2 pkgsrc-2007Q2:1.2.0.28 pkgsrc-2007Q2-base:1.2 pkgsrc-2007Q1:1.2.0.26 pkgsrc-2007Q1-base:1.2 pkgsrc-2006Q4:1.2.0.24 pkgsrc-2006Q4-base:1.2 pkgsrc-2006Q3:1.2.0.22 pkgsrc-2006Q3-base:1.2 pkgsrc-2006Q2:1.2.0.20 pkgsrc-2006Q2-base:1.2 pkgsrc-2006Q1:1.2.0.18 pkgsrc-2006Q1-base:1.2 pkgsrc-2005Q4:1.2.0.16 pkgsrc-2005Q4-base:1.2 pkgsrc-2005Q3:1.2.0.14 pkgsrc-2005Q3-base:1.2 pkgsrc-2005Q2:1.2.0.12 pkgsrc-2005Q2-base:1.2 pkgsrc-2005Q1:1.2.0.10 pkgsrc-2005Q1-base:1.2 pkgsrc-2004Q4:1.2.0.8 pkgsrc-2004Q4-base:1.2 pkgsrc-2004Q3:1.2.0.6 pkgsrc-2004Q3-base:1.2 pkgsrc-2004Q2:1.2.0.4 pkgsrc-2004Q2-base:1.2 pkgsrc-2004Q1:1.2.0.2 pkgsrc-2004Q1-base:1.2 pkgsrc-2003Q4:1.1.0.2 pkgsrc-2003Q4-base:1.1; locks; strict; comment @# @; 1.3 date 2017.09.06.08.21.00; author he; state dead; branches; next 1.2; commitid K0kdJtHwS1LfZ66A; 1.2 date 2004.03.02.16.05.01; author adam; state Exp; branches; next 1.1; 1.1 date 2003.03.06.23.50.53; author jmc; state Exp; branches; next ; desc @@ 1.3 log @Rename the patch for powerpc on NetBSD. Make a workaround to make it build without multiple definition error on NetBSD/powerpc. No PKGREVISION bump, build fix only for NetBSD/powerpc. @ text @$NetBSD: patch-ad,v 1.2 2004/03/02 16:05:01 adam Exp $ --- callback/trampoline_r/trampoline.c.orig 2004-01-26 15:00:05.000000000 +0000 +++ callback/trampoline_r/trampoline.c @@@@ -283,7 +283,7 @@@@ extern void __TR_clear_cache(); #define TRAMP_LENGTH 32 #define TRAMP_ALIGN 4 #endif -#ifdef __rs6000sysv4__ +#if defined(__rs6000sysv4__) || defined(__rs6000netbsd__) #define TRAMP_LENGTH 24 #define TRAMP_ALIGN 4 #endif @@@@ -878,6 +878,39 @@@@ __TR_function alloc_trampoline_r (addres #define tramp_data(function) \ hilo(*(unsigned short *) (function + 2), *(unsigned short *) (function + 6)) #endif +#ifdef __rs6000netbsd__ + /* function: + * {liu|lis} 13,hi16() 3D A0 hi16() + * {oril|ori} 13,13,lo16() 61 AD lo16() + * {liu|lis} 0,hi16(
) 3C 00 hi16(
) + * {oril|ori} 0,0,lo16(
) 60 00 lo16(
) + * mtctr 0 7C 09 03 A6 + * bctr 4E 80 04 20 + */ + *(short *) (function + 0) = 0x3DA0; + *(short *) (function + 2) = (unsigned long) data >> 16; + *(short *) (function + 4) = 0x61AD; + *(short *) (function + 6) = (unsigned long) data & 0xffff; + *(short *) (function + 8) = 0x3C00; + *(short *) (function +10) = (unsigned long) address >> 16; + *(short *) (function +12) = 0x6000; + *(short *) (function +14) = (unsigned long) address & 0xffff; + *(long *) (function +16) = 0x7C0903A6; + *(long *) (function +20) = 0x4E800420; +#define is_tramp(function) \ + *(unsigned short *) (function + 0) == 0x3DA0 && \ + *(unsigned short *) (function + 4) == 0x61AD && \ + *(unsigned short *) (function + 8) == 0x3C00 && \ + *(unsigned short *) (function +12) == 0x6000 && \ + *(unsigned long *) (function +16) == 0x7C0903A6 && \ + *(unsigned long *) (function +20) == 0x4E800420 +#define hilo(hiword,loword) \ + (((unsigned long) (hiword) << 16) | (unsigned long) (loword)) +#define tramp_address(function) \ + hilo(*(unsigned short *) (function +10), *(unsigned short *) (function +14)) +#define tramp_data(function) \ + hilo(*(unsigned short *) (function + 2), *(unsigned short *) (function + 6)) +#endif #ifdef __rs6000aix__ /* function: * .long .tramp_r @ 1.2 log @Changes 1.9: * Added support for x86_64 (AMD64) Linux * Added support for PowerPC MacOS X PkgSrc: * use buildlink3.mk * create shared libraries @ text @d1 1 a1 1 $NetBSD$ @ 1.1 log @Port this to powerpc. Already did it once based on lang/clisp including this code so base the port off of those patches. Passes all tests via make check @ text @d3 3 a5 29 --- ./callback/trampoline_r/trampoline.c.orig Thu Mar 6 23:19:30 2003 +++ ./callback/trampoline_r/trampoline.c Thu Mar 6 23:35:53 2003 @@@@ -21,12 +21,16 @@@@ #endif #endif #if defined(__rs6000__) +#if defined(__NetBSD__) +#define __powerpcnetbsd__ +#else #if !defined(_AIX) #define __rs6000sysv4__ /* SysV.4 ABI, real machine code. */ #else #define __rs6000aix__ /* AIX ABI, just a closure. */ #endif #endif +#endif #if defined(__hppanew__) /* * A function pointer is a biased pointer to a data area whose first word @@@@ -259,7 +263,7 @@@@ #include #endif /* Inline assembly function for instruction cache flush. */ -#if defined(__sparc__) || defined(__sparc64__) || defined(__alpha__) || defined(__hppaold__) || defined(__rs6000sysv4__) || defined(__convex__) +#if defined(__sparc__) || defined(__sparc64__) || defined(__alpha__) || defined(__hppaold__) || defined(__rs6000sysv4__) || defined(__convex__) || defined(__powerpcnetbsd__) #ifdef __GNUC__ extern inline #if defined(__sparc__) || defined(__sparc64__) @@@@ -336,7 +340,7 @@@@ d10 1 a10 1 +#if defined(__rs6000sysv4__) || defined(__powerpcnetbsd__) d14 1 a14 1 @@@@ -876,6 +880,39 @@@@ d18 1 a18 1 +#ifdef __powerpcnetbsd__ @