summaryrefslogtreecommitdiff
path: root/packages/Python/lldbsuite/test/crashinfo.c
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2018-07-28 11:09:23 +0000
committerDimitry Andric <dim@FreeBSD.org>2018-07-28 11:09:23 +0000
commitf73363f1dd94996356cefbf24388f561891acf0b (patch)
treee3c31248bdb36eaec5fd833490d4278162dba2a0 /packages/Python/lldbsuite/test/crashinfo.c
parent160ee69dd7ae18978f4068116777639ea98dc951 (diff)
Notes
Diffstat (limited to 'packages/Python/lldbsuite/test/crashinfo.c')
-rw-r--r--packages/Python/lldbsuite/test/crashinfo.c64
1 files changed, 0 insertions, 64 deletions
diff --git a/packages/Python/lldbsuite/test/crashinfo.c b/packages/Python/lldbsuite/test/crashinfo.c
deleted file mode 100644
index 19013468bb26..000000000000
--- a/packages/Python/lldbsuite/test/crashinfo.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/******************************************************************************
- The LLVM Compiler Infrastructure
-
- This file is distributed under the University of Illinois Open Source
- License. See LICENSE.TXT for details.
- ******************************************************************************
-
-* This C file vends a simple interface to set the Application Specific Info
-* on Mac OS X through Python. To use, compile as a dylib, import crashinfo
-* and call crashinfo.setCrashReporterDescription("hello world")
-* The testCrashReporterDescription() API is simply there to let you test that this
-* is doing what it is intended to do without having to actually cons up a crash
-******************************************************************************/
-
-#include <Python/Python.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-
-void *__crashreporter_info__ = NULL;
-
-asm(".desc ___crashreporter_info__, 0x10");
-
-static PyObject* setCrashReporterDescription(PyObject* self, PyObject* string)
-{
- if (__crashreporter_info__)
- {
- free(__crashreporter_info__);
- __crashreporter_info__ = NULL;
- }
-
- if (string && PyString_Check(string))
- {
- Py_ssize_t size = PyString_Size(string);
- char* data = PyString_AsString(string);
- if (size > 0 && data)
- {
- ++size; // Include the NULL terminateor in allocation and memcpy()
- __crashreporter_info__ = malloc(size);
- memcpy(__crashreporter_info__, data, size);
- return Py_True;
- }
- }
- return Py_False;
-}
-
-static PyObject* testCrashReporterDescription(PyObject*self, PyObject* arg)
-{
- int* ptr = 0;
- *ptr = 1;
- return Py_None;
-}
-
-static PyMethodDef crashinfo_methods[] = {
- {"setCrashReporterDescription", setCrashReporterDescription, METH_O},
- {"testCrashReporterDescription", testCrashReporterDescription, METH_O},
- {NULL, NULL}
-};
-
-void initcrashinfo()
-{
- (void) Py_InitModule("crashinfo", crashinfo_methods);
-}
-