summaryrefslogtreecommitdiff
path: root/www/libxul/files/patch-bug1013675
diff options
context:
space:
mode:
authorBeat Gaetzi <beat@FreeBSD.org>2014-06-11 03:42:55 +0000
committerBeat Gaetzi <beat@FreeBSD.org>2014-06-11 03:42:55 +0000
commit0557b9315d4e0c460a7150b697ad040a7084852d (patch)
tree95c4039ece9c88b497d122c1719bf5d754d803a8 /www/libxul/files/patch-bug1013675
parentStagify. (diff)
- Update Firefox to 30.0
- Update Firefox ESR to 24.6.0 - Update libxul to 24.6.0 - Update NSS to 3.16.1 - Update NSPR to 4.10.6 - Update Thunderbird to 24.6.0 - Convert USE_BZIP2 to USES - Backport ff31 fix against crashing DEBUG build on newegg.com [1] - Add a note in UPDATING to not build audio/soundtouch with INTEGER_SAMPLES [2] - Use arc4random_buf(3) to generate UUIDs (version 4) - Fix debugger detection used by Telemetry and the slow script dialog - Add STAGE support [3] PR: ports/189991 [1] PR: ports/189217 [2] PR: ports/189488 [2] Submitted by: bapt [3] Sumbitted by: Jan Beich Security: http://www.vuxml.org/freebsd/888a0262-f0d9-11e3-ba0c-b4b52fce4ce8.html
Diffstat (limited to 'www/libxul/files/patch-bug1013675')
-rw-r--r--www/libxul/files/patch-bug101367589
1 files changed, 89 insertions, 0 deletions
diff --git a/www/libxul/files/patch-bug1013675 b/www/libxul/files/patch-bug1013675
new file mode 100644
index 000000000000..cb1b4d0f5ea7
--- /dev/null
+++ b/www/libxul/files/patch-bug1013675
@@ -0,0 +1,89 @@
+diff --git xpcom/base/nsDebugImpl.cpp xpcom/base/nsDebugImpl.cpp
+index 13a286f..293bd73 100644
+--- xpcom/base/nsDebugImpl.cpp
++++ xpcom/base/nsDebugImpl.cpp
+@@ -45,13 +45,44 @@
+ #endif
+ #endif
+
+-#if defined(XP_MACOSX)
++#if defined(XP_MACOSX) || defined(__DragonFly__) || defined(__FreeBSD__) \
++ || defined(__NetBSD__) || defined(__OpenBSD__)
+ #include <stdbool.h>
+ #include <sys/types.h>
+ #include <unistd.h>
++#include <sys/param.h>
+ #include <sys/sysctl.h>
+ #endif
+
++#if defined(__OpenBSD__)
++#include <sys/proc.h>
++#endif
++
++#if defined(__DragonFly__) || defined(__FreeBSD__)
++#include <sys/user.h>
++#endif
++
++#if defined(__NetBSD__)
++#undef KERN_PROC
++#define KERN_PROC KERN_PROC2
++#define KINFO_PROC struct kinfo_proc2
++#else
++#define KINFO_PROC struct kinfo_proc
++#endif
++
++#if defined(XP_MACOSX)
++#define KP_FLAGS kp_proc.p_flag
++#elif defined(__DragonFly__)
++#define KP_FLAGS kp_flags
++#elif defined(__FreeBSD__)
++#define KP_FLAGS ki_flag
++#elif defined(__OpenBSD__) && !defined(_P_TRACED)
++#define KP_FLAGS p_psflags
++#define P_TRACED PS_TRACED
++#else
++#define KP_FLAGS p_flag
++#endif
++
+ #include "mozilla/mozalloc_abort.h"
+
+ static void
+@@ -144,16 +175,22 @@ nsDebugImpl::GetIsDebuggerAttached(bool* aResult)
+
+ #if defined(XP_WIN)
+ *aResult = ::IsDebuggerPresent();
+-#elif defined(XP_MACOSX)
++#elif defined(XP_MACOSX) || defined(__DragonFly__) || defined(__FreeBSD__) \
++ || defined(__NetBSD__) || defined(__OpenBSD__)
+ // Specify the info we're looking for
+- int mib[4];
+- mib[0] = CTL_KERN;
+- mib[1] = KERN_PROC;
+- mib[2] = KERN_PROC_PID;
+- mib[3] = getpid();
++ int mib[] = {
++ CTL_KERN,
++ KERN_PROC,
++ KERN_PROC_PID,
++ getpid(),
++#if defined(__NetBSD__) || defined(__OpenBSD__)
++ sizeof(KINFO_PROC),
++ 1,
++#endif
++ };
+ size_t mibSize = sizeof(mib) / sizeof(int);
+
+- struct kinfo_proc info;
++ KINFO_PROC info;
+ size_t infoSize = sizeof(info);
+ memset(&info, 0, infoSize);
+
+@@ -163,7 +200,7 @@ nsDebugImpl::GetIsDebuggerAttached(bool* aResult)
+ return NS_OK;
+ }
+
+- if (info.kp_proc.p_flag & P_TRACED) {
++ if (info.KP_FLAGS & P_TRACED) {
+ *aResult = true;
+ }
+ #endif