valgrind: Fix darwin build
The bzero-patch was merged upstream in git-svn-id: svn://svn.valgrind.org/valgrind/trunk@16103, so it does no longer apply. Additionally - to make the build succeed on darwin systems more recent than our nixpkgs.darwin.xnu kernel version - we need to teach the build the version of the xnu headers we provide, instead of letting the build figure out the actual system version using `uname -r`.
This commit is contained in:
parent
eed14baec3
commit
c71fd76822
@ -18,7 +18,15 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
patches = stdenv.lib.optionals (stdenv.isDarwin) [ ./valgrind-bzero.patch ];
|
preConfigure = stdenv.lib.optionalString stdenv.isDarwin (
|
||||||
|
let OSRELEASE = ''
|
||||||
|
$(awk -F '"' '/#define OSRELEASE/{ print $2 }' \
|
||||||
|
<${xnu}/Library/Frameworks/Kernel.framework/Headers/libkern/version.h)'';
|
||||||
|
in ''
|
||||||
|
echo "Don't derive our xnu version using uname -r."
|
||||||
|
substituteInPlace configure --replace "uname -r" "echo ${OSRELEASE}"
|
||||||
|
''
|
||||||
|
);
|
||||||
|
|
||||||
postPatch = stdenv.lib.optionalString (stdenv.isDarwin)
|
postPatch = stdenv.lib.optionalString (stdenv.isDarwin)
|
||||||
# Apple's GCC doesn't recognize `-arch' (as of version 4.2.1, build 5666).
|
# Apple's GCC doesn't recognize `-arch' (as of version 4.2.1, build 5666).
|
||||||
|
@ -1,37 +0,0 @@
|
|||||||
Index: coregrind/m_main.c
|
|
||||||
===================================================================
|
|
||||||
--- a/coregrind/m_main.c (revision 16102)
|
|
||||||
+++ b/coregrind/m_main.c (revision 16103)
|
|
||||||
@@ -3489,6 +3489,10 @@
|
|
||||||
// skip check
|
|
||||||
return VG_(memset)(s,c,n);
|
|
||||||
}
|
|
||||||
+void __bzero(void* s, UWord n);
|
|
||||||
+void __bzero(void* s, UWord n) {
|
|
||||||
+ (void)VG_(memset)(s,0,n);
|
|
||||||
+}
|
|
||||||
void bzero(void *s, SizeT n);
|
|
||||||
void bzero(void *s, SizeT n) {
|
|
||||||
VG_(memset)(s,0,n);
|
|
||||||
@@ -4058,20 +4062,7 @@
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-#if defined(VGO_darwin) && DARWIN_VERS == DARWIN_10_10
|
|
||||||
|
|
||||||
-/* This might also be needed for > DARWIN_10_10, but I have no way
|
|
||||||
- to test for that. Hence '==' rather than '>=' in the version
|
|
||||||
- test above. */
|
|
||||||
-void __bzero ( void* s, UWord n );
|
|
||||||
-void __bzero ( void* s, UWord n )
|
|
||||||
-{
|
|
||||||
- (void) VG_(memset)( s, 0, n );
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
-
|
|
||||||
/*--------------------------------------------------------------------*/
|
|
||||||
/*--- end ---*/
|
|
||||||
/*--------------------------------------------------------------------*/
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user