summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NT_MAKEFILE2
-rw-r--r--README.md2
-rw-r--r--extra/msvc_dbg.c19
-rw-r--r--include/include.am3
-rw-r--r--include/private/msvc_dbg.h42
-rw-r--r--os_dep.c7
6 files changed, 23 insertions, 52 deletions
diff --git a/NT_MAKEFILE b/NT_MAKEFILE
index be38b987..c46fe44d 100644
--- a/NT_MAKEFILE
+++ b/NT_MAKEFILE
@@ -118,7 +118,7 @@ check: check-deps
.cpp.obj:
$(cc) $(cdebug) $(cflags) $(CFLAGS_SPECIFIC) -Iinclude $(CFLAGS_DEFAULT) $(CXXFLAGS_SPECIFIC) -D_CRT_SECURE_NO_DEPRECATE $(CFLAGS_EXTRA) $*.cpp /Fo$*.obj
-$(OBJS) tests\test.obj: include\private\gc_priv.h include\private\gc_hdrs.h include\gc.h include\private\gcconfig.h include\private\gc_locks.h include\private\gc_pmark.h include\gc_mark.h include\gc_disclaim.h include\private\msvc_dbg.h
+$(OBJS) tests\test.obj: include\private\gc_priv.h include\private\gc_hdrs.h include\gc.h include\private\gcconfig.h include\private\gc_locks.h include\private\gc_pmark.h include\gc_mark.h include\gc_disclaim.h
!IFDEF ENABLE_STATIC
diff --git a/README.md b/README.md
index 19b2f53a..b092ab9b 100644
--- a/README.md
+++ b/README.md
@@ -572,7 +572,7 @@ The files Makefile.am and configure.ac are
* Copyright (c) 1999-2001 by Red Hat, Inc. All rights reserved.
-The files extra/msvc_dbg.c and include/private/msvc_dbg.h are
+The file extra/msvc_dbg.c is
* Copyright (c) 2004-2005 Andrei Polushin
diff --git a/extra/msvc_dbg.c b/extra/msvc_dbg.c
index 819023f1..2f58c01a 100644
--- a/extra/msvc_dbg.c
+++ b/extra/msvc_dbg.c
@@ -1,5 +1,5 @@
/*
- Copyright (c) 2004 Andrei Polushin
+ Copyright (c) 2004-2005 Andrei Polushin
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -26,8 +26,9 @@
/* TODO: arm[64], x86_64 currently miss some machine-dependent code below. */
/* See also GC_HAVE_BUILTIN_BACKTRACE in gc_config_macros.h. */
+#include <stdlib.h>
+
#define GC_BUILD
-#include "private/msvc_dbg.h"
#include "gc.h"
#ifndef WIN32_LEAN_AND_MEAN
@@ -40,6 +41,18 @@
#include <imagehlp.h>
#pragma pack(pop)
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Compatibility with <execinfo.h> */
+int backtrace(void* addresses[], int count);
+char** backtrace_symbols(void* const addresses[], int count);
+
+#ifdef __cplusplus
+ } /* extern "C" */
+#endif
+
#pragma comment(lib, "dbghelp.lib")
#pragma optimize("gy", off)
@@ -358,7 +371,7 @@ int backtrace(void* addresses[], int count)
return GetStackFrames(1, addresses, count);
}
-char** backtrace_symbols(void*const* addresses, int count)
+char** backtrace_symbols(void* const addresses[], int count)
{
size_t size = GetDescriptionFromStack(addresses, count, NULL, NULL, 0);
char** symbols = (char**)malloc(size);
diff --git a/include/include.am b/include/include.am
index cf27e0b3..bef626b0 100644
--- a/include/include.am
+++ b/include/include.am
@@ -62,9 +62,6 @@ dist_noinst_HEADERS += \
include/private/specific.h \
include/private/thread_local_alloc.h
-# files used by makefiles other than *.am
-EXTRA_DIST += include/private/msvc_dbg.h
-
# unprefixed header
include_HEADERS += \
include/extra/gc.h
diff --git a/include/private/msvc_dbg.h b/include/private/msvc_dbg.h
deleted file mode 100644
index ff64a425..00000000
--- a/include/private/msvc_dbg.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- Copyright (c) 2004-2005 Andrei Polushin
-
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- THE SOFTWARE.
-*/
-
-#ifndef GC_MSVC_DBG_H
-#define GC_MSVC_DBG_H
-
-#include <stdlib.h>
-
-#ifdef __cplusplus
- extern "C" {
-#endif
-
-#define MSVC_DBG_EXPORT /* empty */
-
-/* Compatibility with <execinfo.h> */
-MSVC_DBG_EXPORT int backtrace(void* addresses[], int count);
-MSVC_DBG_EXPORT char** backtrace_symbols(void* const addresses[], int count);
-
-#ifdef __cplusplus
- } /* extern "C" */
-#endif
-
-#endif /* GC_MSVC_DBG_H */
diff --git a/os_dep.c b/os_dep.c
index a4b205d0..baac5ebf 100644
--- a/os_dep.c
+++ b/os_dep.c
@@ -5035,11 +5035,14 @@ GC_API int GC_CALL GC_get_pages_executable(void)
#if defined(GC_HAVE_BUILTIN_BACKTRACE)
# ifdef _MSC_VER
-# include "private/msvc_dbg.h"
+ EXTERN_C_BEGIN
+ int backtrace(void* addresses[], int count);
+ char** backtrace_symbols(void* const addresses[], int count);
+ EXTERN_C_END
# else
# include <execinfo.h>
# endif
-#endif
+#endif /* GC_HAVE_BUILTIN_BACKTRACE */
#ifdef SAVE_CALL_CHAIN