mirror of
https://git.freebsd.org/ports.git
synced 2025-07-05 03:19:18 -04:00
9.3-i386, which is what I was using for testing the build on FreeBSD 9, worked fine, but 9.3-amd64 was broken with -Werror. Add a patch I sent upstream to stop trying to cast NULL into an int, which was making GCC 4.2.1 complain: platform/freebsd/arch/x86_common.h: In function 'arch_get_register': platform/freebsd/arch/x86_common.h:48: warning: cast from pointer to integer of different size platform/freebsd/arch/x86_common.h: In function 'arch_set_register': platform/freebsd/arch/x86_common.h:57: warning: cast from pointer to integer of different size platform/freebsd/arch/x86_common.h:59: warning: cast from pointer to integer of different size platform/freebsd/freebsd_ptrace.c: In function 'ptrace_memcpy_to_child': platform/freebsd/freebsd_ptrace.c:267: warning: cast from pointer to integer of different size platform/freebsd/freebsd_ptrace.c: In function 'ptrace_memcpy_from_child': platform/freebsd/freebsd_ptrace.c:282: warning: cast from pointer to integer of different size PR: 206539
36 lines
1.8 KiB
Text
36 lines
1.8 KiB
Text
commit 308f60064fee6d5707514b65f6acad656a8a4feb
|
|
Author: Raphael Kubo da Costa <rakuco@FreeBSD.org>
|
|
Date: Tue Feb 2 19:04:11 2016 +0100
|
|
|
|
FreeBSD: Do not try to cast NULL to int.
|
|
|
|
Passing NULL to the data parameter in calls to ptrace(2) causes failures
|
|
on 64-bit FreeBSD 9 installations, where GCC 4.2.1 complains like this:
|
|
|
|
platform/freebsd/arch/x86_common.h: In function 'arch_get_register':
|
|
platform/freebsd/arch/x86_common.h:48: warning: cast from pointer to integer of different size
|
|
platform/freebsd/arch/x86_common.h: In function 'arch_set_register':
|
|
platform/freebsd/arch/x86_common.h:57: warning: cast from pointer to integer of different size
|
|
platform/freebsd/arch/x86_common.h:59: warning: cast from pointer to integer of different size
|
|
platform/freebsd/freebsd_ptrace.c: In function 'ptrace_memcpy_to_child':
|
|
platform/freebsd/freebsd_ptrace.c:267: warning: cast from pointer to integer of different size
|
|
platform/freebsd/freebsd_ptrace.c: In function 'ptrace_memcpy_from_child':
|
|
platform/freebsd/freebsd_ptrace.c:282: warning: cast from pointer to integer of different size
|
|
|
|
Make ptrace_command pass 0 to _ptrace_command so that the final
|
|
expansion looks like this:
|
|
__ptrace_command((cld), (req), (void*)(addr), (int)(0))
|
|
instead of
|
|
__ptrace_command((cld), (req), (void*)(addr), (int)(((void*)0)))
|
|
|
|
--- platform/freebsd/freebsd_ptrace.c
|
|
+++ platform/freebsd/freebsd_ptrace.c
|
|
@@ -47,7 +47,7 @@
|
|
static int __ptrace_command(struct ptrace_child *child, int req,
|
|
void *, int);
|
|
|
|
-#define ptrace_command(cld, req, ...) _ptrace_command(cld, req, ## __VA_ARGS__, NULL, NULL)
|
|
+#define ptrace_command(cld, req, ...) _ptrace_command(cld, req, ## __VA_ARGS__, 0, 0)
|
|
#define _ptrace_command(cld, req, addr, data, ...) __ptrace_command((cld), (req), (void*)(addr), (int)(data))
|
|
|
|
|