gdbjit symbols exported (#11739)
authorchunseoklee <chunseoklee@naver.com>
Thu, 1 Jun 2017 16:51:31 +0000 (01:51 +0900)
committerJan Vorlicek <janvorli@microsoft.com>
Thu, 1 Jun 2017 16:51:31 +0000 (18:51 +0200)
* multiple export files as input for generate_exports_file

Now, generate_exports_file is able to process multiple input arguments.
This feature is useful when you want to export additional symbols depending on
compile time dependannt feature(-D option.)

* export file for gdbjit added

src/dlls/mscoree/gdbjit_unixexports.src file added
To enable gdbjit feature, libcoreclr.so should have __jit_xxx
symbols.
Current tizen build system removes .symtab section during rpm debuginfo
build. This patch moves __jit_xx symbols into .dynsym section.

functions.cmake
src/dlls/mscoree/CMakeLists.txt
src/dlls/mscoree/gdbjit_unixexports.src [new file with mode: 0644]

index cbcc70f..cf4d08f 100644 (file)
@@ -86,7 +86,10 @@ function(preprocess_def_file inputFilename outputFilename)
                               PROPERTIES GENERATED TRUE)
 endfunction()
 
-function(generate_exports_file inputFilename outputFilename)
+function(generate_exports_file)
+  set(INPUT_LIST ${ARGN})
+  list(GET INPUT_LIST -1 outputFilename)
+  list(REMOVE_AT INPUT_LIST -1)
 
   if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
     set(AWK_SCRIPT generateexportedsymbols.awk)
@@ -96,8 +99,8 @@ function(generate_exports_file inputFilename outputFilename)
 
   add_custom_command(
     OUTPUT ${outputFilename}
-    COMMAND ${AWK} -f ${CMAKE_SOURCE_DIR}/${AWK_SCRIPT} ${inputFilename} >${outputFilename}
-    DEPENDS ${inputFilename} ${CMAKE_SOURCE_DIR}/${AWK_SCRIPT}
+    COMMAND ${AWK} -f ${CMAKE_SOURCE_DIR}/${AWK_SCRIPT} ${INPUT_LIST} >${outputFilename}
+    DEPENDS ${INPUT_LIST} ${CMAKE_SOURCE_DIR}/${AWK_SCRIPT}
     COMMENT "Generating exports file ${outputFilename}"
   )
   set_source_files_properties(${outputFilename}
index b9c129d..8fc3ebf 100644 (file)
@@ -22,6 +22,11 @@ else()
 set (DEF_SOURCES
   mscorwks_unixexports.src
 )
+if(FEATURE_GDBJIT)
+  list(APPEND DEF_SOURCES
+    gdbjit_unixexports.src
+  )
+endif(FEATURE_GDBJIT)
 endif(WIN32)
 
 convert_to_absolute_path(DEF_SOURCES ${DEF_SOURCES})
diff --git a/src/dlls/mscoree/gdbjit_unixexports.src b/src/dlls/mscoree/gdbjit_unixexports.src
new file mode 100644 (file)
index 0000000..b820aeb
--- /dev/null
@@ -0,0 +1,3 @@
+; exported for GDBJIT 
+__jit_debug_register_code
+__jit_debug_descriptor
\ No newline at end of file