Fix build error on OSX
authora-shaurtaev <a.shaurtaev@partner.samsung.com>
Wed, 15 Dec 2021 17:59:01 +0000 (20:59 +0300)
committerAlexander Soldatov/Platform Lab /SRR/Staff Engineer/Samsung Electronics <soldatov.a@samsung.com>
Thu, 16 Dec 2021 13:06:19 +0000 (16:06 +0300)
compileoptions.cmake
src/debugger/waitpid.cpp
src/managed/interop.cpp
test-suite/MITestExitCode/Program.cs
test-suite/VSCodeTestExitCode/Program.cs

index 0cc43ced1e50fa8182634853ff0d18b948824905..4056c653091f7d9e6b78591c598e5b73eff7baf4 100644 (file)
@@ -1,6 +1,9 @@
 if (CLR_CMAKE_PLATFORM_UNIX)
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
-
+  if(CLR_CMAKE_PLATFORM_DARWIN)
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -force_flat_namespace -std=c++14")
+  else()
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+  endif(CLR_CMAKE_PLATFORM_DARWIN)
   # this allows pretty-printers in gdb to work with clang
   set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_GLIBCXX_DEBUG")
 
index 273bb5d0ff064c3e107c42d8db7bf9da913ddfc9..e3c99801bfcf0dfbdd27ade8c14cae6c25d58292 100644 (file)
@@ -68,7 +68,7 @@ hook::waitpid_t &GetWaitpid()
 }
 
 // Note, we guaranty waitpid hook works only during debuggee process execution, it aimed to work only for PAL's waitpid calls interception.
-extern "C" pid_t waitpid(pid_t pid, int *status, int options) noexcept
+extern "C" pid_t waitpid(pid_t pid, int *status, int options)
 {
     pid_t pidWaitRetval = netcoredbg::hook::waitpid(pid, status, options);
 
index 466ad986691e01a810cf05e89e9c2d08b8ac1aa6..b07e4cbf10a98a4d63f007bfbf38cc34cd5330e8 100644 (file)
@@ -107,7 +107,7 @@ constexpr char UtilsClassName[] = "NetCoreDbg.Utils";
 
 // Pass to managed helper code to read in-memory PEs/PDBs
 // Returns the number of bytes read.
-int ReadMemoryForSymbols(ULONG64 address, char *buffer, int cb)
+int ReadMemoryForSymbols(uint64_t address, char *buffer, int cb)
 {
     // TODO: In-memory PDB?
     // OSPageSize() for Linux/Windows already implemented in code.
index b95f92cccd3a94125635e58cf59e7666685bce8c..0887f8df8623a3899abe0917ff4d893b68d4ad34 100644 (file)
@@ -171,7 +171,11 @@ namespace MITestExitCode
                 //Console.WriteLine("Test SIGABRT, process Id = " + PID);\r
                 //kill(PID, 6); // SIGABRT\r
             }\r
-\r
+            else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))\r
+            {\r
+                Console.WriteLine("Test _exit()");\r
+                _exit(3);\r
+            }\r
             //Console.WriteLine("Test return 3");\r
             //return 3;\r
 \r
index a775d9423bcf1897a448d6f517bb4229bc3b5e78..f633d2097bf371d9678927e241f62473a4fe800f 100644 (file)
@@ -165,7 +165,11 @@ namespace VSCodeTestExitCode
                 //Console.WriteLine("Test SIGABRT, process Id = " + PID);\r
                 //kill(PID, 6); // SIGABRT\r
             }\r
-\r
+            else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))\r
+            {\r
+                Console.WriteLine("Test _exit()");\r
+                _exit(3);\r
+            }\r
             //Console.WriteLine("Test return 3");\r
             //return 3;\r
 \r