[compiler-rt] 618a0c0 - [profile] Add InstrProfilingInternal.c.o to Darwin kext builtins
Vedant Kumar via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 29 17:23:48 PDT 2020
Author: Vedant Kumar
Date: 2020-07-29T17:23:28-07:00
New Revision: 618a0c0d3bd364dbab26af6f3a7398d0e9165c9c
URL: https://github.com/llvm/llvm-project/commit/618a0c0d3bd364dbab26af6f3a7398d0e9165c9c
DIFF: https://github.com/llvm/llvm-project/commit/618a0c0d3bd364dbab26af6f3a7398d0e9165c9c.diff
LOG: [profile] Add InstrProfilingInternal.c.o to Darwin kext builtins
Fixes a build failure in the Darwin kernel. Tested with:
% nm -m ./lib/libclang_rt.cc_kext_x86_64_osx.a | grep lprofSetProfileDumped
rdar://66249602
Added:
Modified:
compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
compiler-rt/lib/profile/InstrProfiling.c
compiler-rt/lib/profile/InstrProfilingBuffer.c
compiler-rt/lib/profile/InstrProfilingInternal.c
compiler-rt/lib/profile/InstrProfilingPlatformDarwin.c
compiler-rt/lib/profile/InstrProfilingWriter.c
Removed:
################################################################################
diff --git a/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake b/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
index c37b5e98bcc6..a31bcc3963e1 100644
--- a/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
+++ b/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
@@ -398,7 +398,8 @@ macro(darwin_add_builtin_libraries)
set(PROFILE_SOURCES ../profile/InstrProfiling
../profile/InstrProfilingBuffer
../profile/InstrProfilingPlatformDarwin
- ../profile/InstrProfilingWriter)
+ ../profile/InstrProfilingWriter
+ ../profile/InstrProfilingInternal)
foreach (os ${ARGN})
list_intersect(DARWIN_BUILTIN_ARCHS DARWIN_${os}_BUILTIN_ARCHS BUILTIN_SUPPORTED_ARCH)
foreach (arch ${DARWIN_BUILTIN_ARCHS})
diff --git a/compiler-rt/lib/profile/InstrProfiling.c b/compiler-rt/lib/profile/InstrProfiling.c
index 92ad25f62cd1..6df65f66df73 100644
--- a/compiler-rt/lib/profile/InstrProfiling.c
+++ b/compiler-rt/lib/profile/InstrProfiling.c
@@ -6,6 +6,9 @@
|*
\*===----------------------------------------------------------------------===*/
+// Note: This is linked into the Darwin kernel, and must remain compatible
+// with freestanding compilation. See `darwin_add_builtin_libraries`.
+
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
@@ -17,7 +20,6 @@
#define INSTR_PROF_VALUE_PROF_DATA
#include "profile/InstrProfData.inc"
-
COMPILER_RT_VISIBILITY uint64_t __llvm_profile_get_magic(void) {
return sizeof(void *) == sizeof(uint64_t) ? (INSTR_PROF_RAW_MAGIC_64)
: (INSTR_PROF_RAW_MAGIC_32);
diff --git a/compiler-rt/lib/profile/InstrProfilingBuffer.c b/compiler-rt/lib/profile/InstrProfilingBuffer.c
index 5ee44785a7ab..800ae22f2746 100644
--- a/compiler-rt/lib/profile/InstrProfilingBuffer.c
+++ b/compiler-rt/lib/profile/InstrProfilingBuffer.c
@@ -6,6 +6,9 @@
|*
\*===----------------------------------------------------------------------===*/
+// Note: This is linked into the Darwin kernel, and must remain compatible
+// with freestanding compilation. See `darwin_add_builtin_libraries`.
+
#include "InstrProfiling.h"
#include "InstrProfilingInternal.h"
#include "InstrProfilingPort.h"
diff --git a/compiler-rt/lib/profile/InstrProfilingInternal.c b/compiler-rt/lib/profile/InstrProfilingInternal.c
index d58bc19ad11e..6a54697df7f0 100644
--- a/compiler-rt/lib/profile/InstrProfilingInternal.c
+++ b/compiler-rt/lib/profile/InstrProfilingInternal.c
@@ -6,6 +6,9 @@
|*
\*===----------------------------------------------------------------------===*/
+// Note: This is linked into the Darwin kernel, and must remain compatible
+// with freestanding compilation. See `darwin_add_builtin_libraries`.
+
#if !defined(__Fuchsia__)
#include "InstrProfilingInternal.h"
diff --git a/compiler-rt/lib/profile/InstrProfilingPlatformDarwin.c b/compiler-rt/lib/profile/InstrProfilingPlatformDarwin.c
index 23bdb7f37179..29541c74d5a6 100644
--- a/compiler-rt/lib/profile/InstrProfilingPlatformDarwin.c
+++ b/compiler-rt/lib/profile/InstrProfilingPlatformDarwin.c
@@ -6,6 +6,9 @@
|*
\*===----------------------------------------------------------------------===*/
+// Note: This is linked into the Darwin kernel, and must remain compatible
+// with freestanding compilation. See `darwin_add_builtin_libraries`.
+
#include "InstrProfiling.h"
#if defined(__APPLE__)
diff --git a/compiler-rt/lib/profile/InstrProfilingWriter.c b/compiler-rt/lib/profile/InstrProfilingWriter.c
index c34e110a6959..16ad965ff608 100644
--- a/compiler-rt/lib/profile/InstrProfilingWriter.c
+++ b/compiler-rt/lib/profile/InstrProfilingWriter.c
@@ -6,6 +6,9 @@
|*
\*===----------------------------------------------------------------------===*/
+// Note: This is linked into the Darwin kernel, and must remain compatible
+// with freestanding compilation. See `darwin_add_builtin_libraries`.
+
#ifdef _MSC_VER
/* For _alloca */
#include <malloc.h>
More information about the llvm-commits
mailing list