Author: Pavel Labath
Date: 2025-05-13T17:52:23+02:00
New Revision: 91ea49499325aeff8426135721b1bd432e5b7780

URL: 
https://github.com/llvm/llvm-project/commit/91ea49499325aeff8426135721b1bd432e5b7780
DIFF: 
https://github.com/llvm/llvm-project/commit/91ea49499325aeff8426135721b1bd432e5b7780.diff

LOG: [lldb] Move lldb_enable_attach from test_common to a separate header 
(#139550)

test_common is force-included into every compilation, which causes
problems when we're compiling assembly code, as we were in #138805.

This avoids that as we can include the header only when it's needed.

Added: 
    lldb/packages/Python/lldbsuite/test/make/attach.h

Modified: 
    lldb/packages/Python/lldbsuite/test/make/test_common.h
    lldb/test/API/commands/process/attach-resume/main.cpp
    lldb/test/API/commands/process/attach/main.cpp
    lldb/test/API/commands/process/detach-resumes/main.cpp
    lldb/test/API/commands/register/register/register_command/main.cpp
    lldb/test/API/driver/batch_mode/main.c
    lldb/test/API/functionalities/deleted-executable/main.cpp
    lldb/test/API/functionalities/load_after_attach/main.cpp
    lldb/test/API/functionalities/process_group/main.c
    lldb/test/API/functionalities/thread/create_after_attach/main.cpp
    lldb/test/API/iohandler/completion/main.c
    lldb/test/API/python_api/hello_world/main.c
    lldb/test/API/tools/lldb-dap/attach/main.c
    lldb/test/API/tools/lldb-dap/disconnect/main.cpp
    lldb/test/API/tools/lldb-server/attach-wait/shim.cpp
    lldb/test/API/tools/lldb-server/main.cpp

Removed: 
    


################################################################################
diff  --git a/lldb/packages/Python/lldbsuite/test/make/attach.h 
b/lldb/packages/Python/lldbsuite/test/make/attach.h
new file mode 100644
index 0000000000000..decd3ea986a4b
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/make/attach.h
@@ -0,0 +1,34 @@
+#ifndef LLDB_TEST_ATTACH_H
+#define LLDB_TEST_ATTACH_H
+
+// On some systems (e.g., some versions of linux) it is not possible to attach
+// to a process without it giving us special permissions. This defines the
+// lldb_enable_attach macro, which should perform any such actions, if needed 
by
+// the platform.
+#if defined(__linux__)
+#include <sys/prctl.h>
+
+// Android API <= 16 does not have these defined.
+#ifndef PR_SET_PTRACER
+#define PR_SET_PTRACER 0x59616d61
+#endif
+#ifndef PR_SET_PTRACER_ANY
+#define PR_SET_PTRACER_ANY ((unsigned long)-1)
+#endif
+
+// For now we execute on best effort basis.  If this fails for some reason, so
+// be it.
+#define lldb_enable_attach()                                                   
\
+  do {                                                                         
\
+    const int prctl_result =                                                   
\
+        prctl(PR_SET_PTRACER, PR_SET_PTRACER_ANY, 0, 0, 0);                    
\
+    (void)prctl_result;                                                        
\
+  } while (0)
+
+#else // not linux
+
+#define lldb_enable_attach()
+
+#endif // defined(__linux__)
+
+#endif // LLDB_TEST_ATTACH_H

diff  --git a/lldb/packages/Python/lldbsuite/test/make/test_common.h 
b/lldb/packages/Python/lldbsuite/test/make/test_common.h
index aa8960e1c0aea..5082e41987020 100644
--- a/lldb/packages/Python/lldbsuite/test/make/test_common.h
+++ b/lldb/packages/Python/lldbsuite/test/make/test_common.h
@@ -20,33 +20,3 @@
 #else
 #define LLVM_PRETTY_FUNCTION LLVM_PRETTY_FUNCTION
 #endif
-
-
-// On some systems (e.g., some versions of linux) it is not possible to attach 
to a process
-// without it giving us special permissions. This defines the 
lldb_enable_attach macro, which
-// should perform any such actions, if needed by the platform. This is a macro 
instead of a
-// function to avoid the need for complex linking of the test programs.
-#if defined(__linux__)
-#include <sys/prctl.h>
-
-// Android API <= 16 does not have these defined.
-#ifndef PR_SET_PTRACER
-#define PR_SET_PTRACER 0x59616d61
-#endif
-#ifndef PR_SET_PTRACER_ANY
-#define PR_SET_PTRACER_ANY ((unsigned long)-1)
-#endif
-
-// For now we execute on best effort basis.  If this fails for some reason, so 
be it.
-#define lldb_enable_attach()                                                   
       \
-    do                                                                         
       \
-    {                                                                          
       \
-        const int prctl_result = prctl(PR_SET_PTRACER, PR_SET_PTRACER_ANY, 0, 
0, 0);  \
-        (void)prctl_result;                                                    
       \
-    } while (0)
-
-#else // not linux
-
-#define lldb_enable_attach()
-
-#endif

diff  --git a/lldb/test/API/commands/process/attach-resume/main.cpp 
b/lldb/test/API/commands/process/attach-resume/main.cpp
index 82aad70eed560..3fe54d1e45601 100644
--- a/lldb/test/API/commands/process/attach-resume/main.cpp
+++ b/lldb/test/API/commands/process/attach-resume/main.cpp
@@ -1,7 +1,7 @@
-#include <stdio.h>
-#include <fcntl.h>
-
+#include "attach.h"
 #include <chrono>
+#include <cstdio>
+#include <fcntl.h>
 #include <thread>
 
 volatile bool debugger_flag = true; // The debugger will flip this to false

diff  --git a/lldb/test/API/commands/process/attach/main.cpp 
b/lldb/test/API/commands/process/attach/main.cpp
index b4ed48fade306..034e80ed5f2b3 100644
--- a/lldb/test/API/commands/process/attach/main.cpp
+++ b/lldb/test/API/commands/process/attach/main.cpp
@@ -1,6 +1,6 @@
-#include <stdio.h>
-
+#include "attach.h"
 #include <chrono>
+#include <cstdio>
 #include <thread>
 
 volatile int g_val = 12345;

diff  --git a/lldb/test/API/commands/process/detach-resumes/main.cpp 
b/lldb/test/API/commands/process/detach-resumes/main.cpp
index e8050fef2c385..9005c0a95847b 100644
--- a/lldb/test/API/commands/process/detach-resumes/main.cpp
+++ b/lldb/test/API/commands/process/detach-resumes/main.cpp
@@ -1,8 +1,9 @@
+#include "attach.h"
 #include "pseudo_barrier.h"
 #include <chrono>
+#include <cstdio>
 #include <fcntl.h>
 #include <fstream>
-#include <stdio.h>
 #include <thread>
 #include <vector>
 

diff  --git 
a/lldb/test/API/commands/register/register/register_command/main.cpp 
b/lldb/test/API/commands/register/register/register_command/main.cpp
index 860dfef0b3b97..5950c19f82967 100644
--- a/lldb/test/API/commands/register/register/register_command/main.cpp
+++ b/lldb/test/API/commands/register/register/register_command/main.cpp
@@ -1,6 +1,6 @@
-#include <stdio.h>
-
+#include "attach.h"
 #include <chrono>
+#include <cstdio>
 #include <thread>
 
 long double outermost_return_long_double (long double my_long_double);

diff  --git a/lldb/test/API/driver/batch_mode/main.c 
b/lldb/test/API/driver/batch_mode/main.c
index c85a0f272d2c1..4527c144f96fc 100644
--- a/lldb/test/API/driver/batch_mode/main.c
+++ b/lldb/test/API/driver/batch_mode/main.c
@@ -1,3 +1,4 @@
+#include "attach.h"
 #include <stdio.h>
 #include <string.h>
 #include <unistd.h>

diff  --git a/lldb/test/API/functionalities/deleted-executable/main.cpp 
b/lldb/test/API/functionalities/deleted-executable/main.cpp
index af00ac263cc1b..1536c6cf9e4a7 100644
--- a/lldb/test/API/functionalities/deleted-executable/main.cpp
+++ b/lldb/test/API/functionalities/deleted-executable/main.cpp
@@ -1,3 +1,4 @@
+#include "attach.h"
 #include <chrono>
 #include <fstream>
 #include <thread>

diff  --git a/lldb/test/API/functionalities/load_after_attach/main.cpp 
b/lldb/test/API/functionalities/load_after_attach/main.cpp
index 96012a126001a..60bfefb72bb11 100644
--- a/lldb/test/API/functionalities/load_after_attach/main.cpp
+++ b/lldb/test/API/functionalities/load_after_attach/main.cpp
@@ -1,9 +1,10 @@
+#include "attach.h"
 #include "dylib.h"
 #include <cassert>
-#include <cstdio>
-#include <thread>
 #include <chrono>
+#include <cstdio>
 #include <fstream>
+#include <thread>
 
 int main(int argc, char* argv[]) {
   lldb_enable_attach();

diff  --git a/lldb/test/API/functionalities/process_group/main.c 
b/lldb/test/API/functionalities/process_group/main.c
index 7e986bbac65de..b4d5abc58169c 100644
--- a/lldb/test/API/functionalities/process_group/main.c
+++ b/lldb/test/API/functionalities/process_group/main.c
@@ -1,6 +1,7 @@
+#include "attach.h"
 #include <stdio.h>
-#include <unistd.h>
 #include <sys/wait.h>
+#include <unistd.h>
 
 volatile int release_child_flag = 0;
 

diff  --git a/lldb/test/API/functionalities/thread/create_after_attach/main.cpp 
b/lldb/test/API/functionalities/thread/create_after_attach/main.cpp
index d8f06e55a2dd9..d99fb05f08315 100644
--- a/lldb/test/API/functionalities/thread/create_after_attach/main.cpp
+++ b/lldb/test/API/functionalities/thread/create_after_attach/main.cpp
@@ -1,5 +1,6 @@
-#include <stdio.h>
+#include "attach.h"
 #include <chrono>
+#include <cstdio>
 #include <thread>
 
 using std::chrono::microseconds;

diff  --git a/lldb/test/API/iohandler/completion/main.c 
b/lldb/test/API/iohandler/completion/main.c
index 03350dd8299a6..6dd3616c1ae40 100644
--- a/lldb/test/API/iohandler/completion/main.c
+++ b/lldb/test/API/iohandler/completion/main.c
@@ -1,5 +1,4 @@
 int main(int argc, char **argv) {
-  lldb_enable_attach();
   int to_complete = 0;
   return to_complete;
 }

diff  --git a/lldb/test/API/python_api/hello_world/main.c 
b/lldb/test/API/python_api/hello_world/main.c
index c516f923614f1..865baa4f4ed11 100644
--- a/lldb/test/API/python_api/hello_world/main.c
+++ b/lldb/test/API/python_api/hello_world/main.c
@@ -1,3 +1,4 @@
+#include "attach.h"
 #include <stdio.h>
 #ifdef _MSC_VER
 #include <windows.h>

diff  --git a/lldb/test/API/tools/lldb-dap/attach/main.c 
b/lldb/test/API/tools/lldb-dap/attach/main.c
index c0b128afe445a..f56d5d53afa05 100644
--- a/lldb/test/API/tools/lldb-dap/attach/main.c
+++ b/lldb/test/API/tools/lldb-dap/attach/main.c
@@ -1,3 +1,4 @@
+#include "attach.h"
 #include <stdio.h>
 #ifdef _WIN32
 #include <process.h>

diff  --git a/lldb/test/API/tools/lldb-dap/disconnect/main.cpp 
b/lldb/test/API/tools/lldb-dap/disconnect/main.cpp
index d3d7a4b7338a8..ca9610da4566a 100644
--- a/lldb/test/API/tools/lldb-dap/disconnect/main.cpp
+++ b/lldb/test/API/tools/lldb-dap/disconnect/main.cpp
@@ -1,3 +1,4 @@
+#include "attach.h"
 #include <chrono>
 #include <cstdio>
 #include <fstream>

diff  --git a/lldb/test/API/tools/lldb-server/attach-wait/shim.cpp 
b/lldb/test/API/tools/lldb-server/attach-wait/shim.cpp
index 60d0ba3753026..5b8bcc97e3e8f 100644
--- a/lldb/test/API/tools/lldb-server/attach-wait/shim.cpp
+++ b/lldb/test/API/tools/lldb-server/attach-wait/shim.cpp
@@ -1,5 +1,6 @@
-#include <unistd.h>
+#include "attach.h"
 #include <cstdio>
+#include <unistd.h>
 
 int main(int argc, char *argv[]) {
   lldb_enable_attach();

diff  --git a/lldb/test/API/tools/lldb-server/main.cpp 
b/lldb/test/API/tools/lldb-server/main.cpp
index c661f5b4e82c4..0e9323cce88cf 100644
--- a/lldb/test/API/tools/lldb-server/main.cpp
+++ b/lldb/test/API/tools/lldb-server/main.cpp
@@ -1,3 +1,4 @@
+#include "attach.h"
 #include <atomic>
 #include <cassert>
 #include <chrono>


        
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to