From bc08e7b94c9fe1f70aa207fb0216998abd0889eb Mon Sep 17 00:00:00 2001 From: Zhizhou Yang Date: Tue, 5 Feb 2019 13:46:07 -0800 Subject: Make libthread-db.h file only be compiled with C GDB 8.2 will use C++ to compile in Android, and it will cause the problem that extern variables from libthread_db will be compiled into C++ symbols and cause a linker error. Fixed this by adding a macro to check whether we are using C++. Bug: 123031421 Test: GDB 8.2 linked correctly. Change-Id: I660147a4199e88f394ad0fbe365960f4691678d8 --- gdb-8.2/gdb/nat/glibc_thread_db.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'gdb-8.2/gdb/nat/glibc_thread_db.h') diff --git a/gdb-8.2/gdb/nat/glibc_thread_db.h b/gdb-8.2/gdb/nat/glibc_thread_db.h index 97423a44f..0bfba3753 100644 --- a/gdb-8.2/gdb/nat/glibc_thread_db.h +++ b/gdb-8.2/gdb/nat/glibc_thread_db.h @@ -27,6 +27,9 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif /* Error codes of the library. */ typedef enum @@ -455,4 +458,8 @@ extern td_err_e td_thr_dbsuspend (const td_thrhandle_t *__th); /* Resume execution of thread TH. */ extern td_err_e td_thr_dbresume (const td_thrhandle_t *__th); +#ifdef __cplusplus +} +#endif + #endif /* thread_db.h */ -- cgit v1.2.3